Asakusa Gradle Plugin リファレンス¶
この文書では、Asakusa Gradle Pluginが提供する機能とインターフェースについて個々に解説します。
リポジトリ¶
Asakusa Gradle PluginはAsakusa FrameworkのMavenリポジトリ( https://asakusafw.s3.amazonaws.com/maven/releases )に以下のMavenアーティファクトが登録されています。
グループID | アーティファクトID | 説明 |
---|---|---|
com.asakusafw.gradle |
asakusa-distribution |
ディストリビューションプラグイン ( ディストリビューションプラグインの利用 )。 |
ディストリビューションプラグインの利用¶
Asakusa Gradle Pluginを利用する場合には、プロジェクトに対してディストリビューションプラグイン com.asakusafw.gradle:asakusa-distribution
を有効にします。
ディストリビューションプラグインはAsakusa Frameworkのリリース時に動作検証を行った各サブプロジェクトの組み合わせによる Gradle Pluginのバージョンを自動的に適用し、これらを単一のバージョンで利用できるようにします。 将来サブプロジェクトが追加された場合や構成が変更になった場合にも、マイグレーションの手順がシンプルになります。
例えば、ディストリビューションプラグインのバージョン 0.10.0 は以下のGradle Pluginを自動的に適用します。
com.asakusafw:asakusa-gradle-plugins:0.10.0
com.asakusafw.spark:asakusa-spark-gradle:0.5.0
com.asakusafw.m3bp:asakusa-m3bp-gradle:0.3.0
See also
Gradle Pluginによってアプリケーションプロジェクトに適用される各コンポーネントのバージョンを確認する方法は、後述の バージョンの確認 を参照してください。
使用方法¶
アプリケーションプロジェクトからAsakusa Gradle Pluginを利用する場合、
ビルドスクリプト build.gradle
の buildscript
ブロック内に利用するAsakusa Gradle PluginのMavenアーティファクトと、これを取得するためのMavenリポジトリのURLを定義します。
以下は、ビルドスクリプトにディストリビューションプラグインを適用する例です。
buildscript {
repositories {
maven { url 'https://asakusafw.s3.amazonaws.com/maven/releases' }
}
dependencies {
classpath group: 'com.asakusafw.gradle', name: 'asakusa-distribution', version: '0.10.4'
}
}
Asakusa Gradle Plugin 一覧¶
Asakusa Gradle Pluginはいくつかのプラグインから構成されています。以下にその一覧を示します。
プラグインID | プラグイン名 | 自動適用 | 説明 |
---|---|---|---|
asakusafw-sdk |
Batch Application Plugin | java |
Asakusa Frameworkのバッチアプリケーションを開発を行うための支援機能をプロジェクトに追加する。 |
asakusafw-organizer |
Framework Organizer Plugin | - |
Asakusa Frameworkを利用した開発環境の構築や、運用環境へのデプロイを行うための援機能を提供する。 |
また、以下のプラグインは上記のプラグインに対して特定プラットフォームやコンポーネントを利用するための機能を追加します。
プラグインID | プラグイン名 | 自動適用 | 説明 |
---|---|---|---|
asakusafw-mapreduce |
Asakusa on MapReduce Plugin | - |
MapReduce向けのバッチアプリケーションを生成、実行するための機能を導入する。 |
asakusafw-spark |
Asakusa on Spark Plugin | - |
Spark向けのバッチアプリケーションを生成、実行するための機能を導入する。 |
asakusafw-m3bp |
Asakusa on M3BP Plugin | - |
M3 for Batch Processing 向けのバッチアプリケーションを生成、実行するための機能を導入する。 |
asakusafw-vanilla |
Asakusa Vanilla Plugin | - |
Asakusa Vanilla 向けのバッチアプリケーションを生成、実行するための機能を導入する。 |
使用方法¶
Asakusa Gradle Pluginの各プラグインを使うためには、ビルドスクリプトに apply plugin: <プラグインID>
という設定を含めます。
以下、設定例です。
apply plugin: 'asakusafw-sdk'
apply plugin: 'asakusafw-organizer'
apply plugin: 'asakusafw-spark'
apply plugin: 'asakusafw-m3bp'
バージョンの確認¶
アプリケーションプロジェクトで使用する各コンポーネントのバージョンを表示するには、asakusaVersion タスクを実行します。
./gradlew asakusaVersion
asakusaVersion タスクはビルドスクリプトの設定を解析し、以下のようにプロジェクトで利用するコンポーネントのバージョンを表示します。
> Task :asakusaVersions
Asakusa Gradle Plug-ins: 0.10.0
Asakusa SDK: 0.10.0
JVM: 1.8
Asakusa Language: 0.5.0
Asakusa Vanilla: 0.5.0
Asakusa on Spark: 0.5.0
Spark: 2.2.0
Asakusa on M3BP: 0.3.0
Batch Application Plugin¶
Batch Application Plugin は、Asakusa Framework の バッチアプリケーション開発を行うための支援機能を提供します。
Batch Application Plugin はAsakusa Framework の バッチアプリケーションプロジェクトに対して、以下のような機能を提供します。
- DMDLスクリプトからデータモデルクラスを生成するタスクの提供
- Gradle標準のJavaコンパイルタスクに対して、Operator DSLコンパイラによる演算子実装クラス、演算子ファクトリクラスの生成を行うための設定を追加
- Asakusa DSLとして記述したJavaソースファイル一式に対して、Batch DSLコンパイラによるバッチアプリケーション実行モジュールの生成を行うタスクの提供
- テストドライバーを利用したテストケースを作成するためのテストデータ定義シートのテンプレートファイルを生成するタスクの提供
- Gradle標準のEclipseのタスクに対して、Asakusa Framework用の設定を追加
Note
このプラグインはGradleが提供するJavaプラグインやEclipseプラグインを拡張して作成されています。
タスク¶
Batch Application Plugin は、以下のタスクをプロジェクトに追加します。
タスク名 | プラグイン | 型 | 説明 |
---|---|---|---|
asakusaVersion | asakusafw-sdk |
- |
プロジェクトが利用する各コンポーネントのバージョンを表示する |
asakusaUpgrade | asakusafw-sdk |
- |
プロジェクトが利用するGradleコンポーネントをアップデートする |
compileDMDL | asakusafw-sdk |
CompileDmdlTask [1] |
DMDLコンパイラを使ってデータモデルクラスを生成する |
compileBatchapp | asakusafw-sdk |
CompileBatchappTask [2] |
プロジェクトのビルド構成に基づくBatch DSLコンパイラを使ってバッチアプリケーションを生成する |
jarBatchapp | asakusafw-sdk |
Jar |
バッチアプリケーションアーカイブを生成する |
generateTestbook | asakusafw-sdk |
GenerateTestbookTask [3] |
テストデータ定義シートを生成する |
generateHiveDDL | asakusafw-sdk |
GenerateHiveDdlTask [4] |
DMDLからHive用のDDLファイルを生成する |
[1] | com.asakusafw.gradle.tasks.CompileDmdlTask |
[2] | com.asakusafw.gradle.tasks.CompileBatchappTask |
[3] | com.asakusafw.gradle.tasks.GenerateTestbookTask |
[4] | com.asakusafw.gradle.tasks.GenerateHiveDdlTask |
また、Batch Application Pluginは以下のタスクに対してタスク依存関係を追加します。
タスク名 | 依存先 |
---|---|
compileJava | compileDMDL |
compileBatchapp | classes |
jarBatchapp | compileBatchapp |
assemble | compileBatchapp |
依存関係の管理¶
Batch Application Plugin は、以下の依存関係設定をプロジェクトに追加します。
名前 | 説明 |
---|---|
provided |
アプリケーションのビルド時に依存するが、アプリケーションの実行時には実行環境に配置されている実体(jarファイルなど)を使用する依存関係設定 |
embedded |
プロジェクトディレクトリ配下に実体(jarファイルなど)を配置する依存関係設定 |
リポジトリ¶
Batch Application Plugin は、以下のリポジトリをプロジェクトに追加します。
名前/URL | 説明 |
---|---|
https://repo.maven.apache.org/maven2 |
Mavenのセントラルリポジトリ |
https://asakusafw.s3.amazonaws.com/maven/releases |
Asakusa Frameworkのリリース用Mavenリポジトリ |
https://asakusafw.s3.amazonaws.com/maven/snapshots |
Asakusa Frameworkのスナップショット用Mavenリポジトリ |
Tip
プロジェクトに固有のリポジトリを追加する場合、ビルドスクリプトのプラグイン定義 ( apply plugin: xxx
) 位置の前にリポジトリ定義を追加すると、プラグインが標準で設定するリポジトリよりも優先して使用されます。
開発環境でインハウスリポジトリを優先して利用したい場合などは、プラグイン定義の前にリポジトリ定義を追加するとよいでしょう。
規約プロパティ¶
Batch Application Pluginの規約プロパティはビルドスクリプトから 参照名 asakusafw
でアクセスできます [5] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
maxHeapSize |
String | 1024m |
プラグインが実行するJavaプロセスの最大ヒープサイズ |
logbackConf |
String | src/${project.sourceSets.test.name}/resources/logback-test.xml |
プロジェクトのLogback設定ファイル [6] |
basePackage |
String | ${project.group} |
プラグインの各タスクでJavaソースコードの生成時に指定する基底Javaパッケージ |
[5] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwPluginConvention が提供します。 |
[6] | Logback設定ファイルの詳細は次のドキュメントを参照してください: http://logback.qos.ch/manual/configuration.html |
コアプロパティ¶
Asakusa Frameworkコアに関する規約プロパティは、 asakusafw
ブロック内の参照名 core
でアクセスできます [7] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
version |
String | コアライブラリのバージョン | コアライブラリのバージョンを保持する。この値は変更不可。 |
[7] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwPluginConvention.CoreConfiguration が提供します。 |
DMDLプロパティ¶
DMDLに関する規約プロパティは、 asakusafw
ブロック内の参照名 dmdl
でアクセスできます [8] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
dmdlEncoding |
String | UTF-8 |
DMDLスクリプトのエンコーディング |
dmdlSourceDirectory |
String | src/${project.sourceSets.main.name}/dmdl |
DMDLスクリプトのソースディレクトリ |
[8] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwPluginConvention.DmdlConfiguration が提供します。 |
データモデル生成プロパティ¶
データモデル生成に関する規約プロパティは、 asakusafw
ブロック内の参照名 modelgen
でアクセスできます [9] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
modelgenSourcePackage |
String | ${asakusafw.basePackage}.modelgen |
データモデルクラスに使用されるパッケージ名 |
modelgenSourceDirectory |
String | ${project.buildDir}/generated-sources/modelgen |
データモデルクラスのソースディレクトリ |
[9] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwPluginConvention.ModelgenConfiguration が提供します。 |
Javaコンパイラプロパティ¶
Javaコンパイラ関する規約プロパティは、 asakusafw
ブロック内の参照名 javac
でアクセスできます [10] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
annotationSourceDirectory |
String | ${project.buildDir}/generated-sources/annotations |
アノテーションプロセッサが生成するJavaソースの出力先 |
processorOption |
Object | アノテーションプロセッサによる生成処理に必要な最低限のもの | アノテーションプロセッサに対するオプションを <key>, <value> の形式で指定する |
processorOptions |
Map<?, ?> | アノテーションプロセッサによる生成処理に必要な最低限のもの | アノテーションプロセッサに対するオプションをMap形式で指定する |
sourceEncoding |
String | UTF-8 |
プロジェクトのソースファイルのエンコーディング |
sourceCompatibility |
JavaVersion。Stringも利用可能。 例: '1.8' |
1.8 |
Javaソースのコンパイル時に使用するJavaバージョン互換性 |
targetCompatibility |
JavaVersion。Stringも利用可能。例: '1.8' |
1.8 |
クラス生成のターゲットJavaバージョン |
[10] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwPluginConvention.JavacConfiguration が提供します。 |
MapReduceプロパティ¶
Spark DSLコンパイラに関する規約プロパティは、 asakusafw
ブロック内の参照名 mapreduce
でアクセスできます。
この規約オブジェクトについては、Asakusa on Sparkの以下のドキュメントを参照してください。
Sparkプロパティ¶
Spark DSLコンパイラに関する規約プロパティは、 asakusafw
ブロック内の参照名 spark
でアクセスできます。
この規約オブジェクトについては、Asakusa on Sparkの以下のドキュメントを参照してください。
M3BPプロパティ¶
M3BP DSLコンパイラに関する規約プロパティは、 asakusafw
ブロック内の参照名 m3bp
でアクセスできます。
この規約オブジェクトについては、 Asakusa on M3BP の以下のドキュメントを参照してください。
テストツールプロパティ¶
テストツールに関する規約プロパティは、 asakusafw
ブロック内の参照名 testtools
でアクセスできます [11] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
testDataSheetFormat |
String | ALL |
テストデータ定義シートのフォーマット [12] |
testDataSheetDirectory |
String | ${project.buildDir}/excel |
テストデータ定義シートの出力先 |
[11] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwPluginConvention.TestToolsConfiguration が提供します。 |
[12] | テストデータ定義シートのフォーマット指定値は、 Excelによるテストデータ定義 - formatオプション を参照してください。 |
SDKプロパティ¶
アプリケーションSDKライブラリ [13] に関する規約プロパティは、 asakusafw
ブロック内の参照名 sdk
でアクセスできます [14] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
core |
Object | true | この値をtrueにするとコアライブラリ(実行ライブラリやDSL語彙など)を依存ライブラリに追加する。 true または false を指定可能。 |
dmdl |
Object | true | この値をtrueにするとDMDLライブラリ(DMDLコンパイラなど)を依存ライブラリに追加する。 true または false を指定可能。 |
operator |
Object | true | この値をtrueにするとOprator DSLライブラリ(Operator DSLコンパイラなど)を依存ライブラリに追加する。 true または false を指定可能。 |
testing |
Object | true | この値をtrueにするとテストツールライブラリ(テストドライバなど)を依存ライブラリに追加する。 true または false を指定可能。 |
testkit |
Object | vanilla |
テストドライバで利用する実行エンジンを指定する。
vanilla (Asakusa Vanilla) , mapreduce (Hadoop MapReduce) , mapreduce-emulation (エミュレーションモード) を指定可能 [15] 。 |
directio |
Object | true | この値をtrueにするとDirect I/Oライブラリを依存ライブラリに追加する。 true または false を指定可能。 |
windgate |
Object | true | この値をtrueにするとWindGateライブラリを依存ライブラリに追加する。 true または false を指定可能。 |
yaess |
Object | true | この値をtrueにするとバッチアプリケーションのコンパイル時にYAESSのワークフロースクリプトを追加する。 true または false を指定可能。 |
hive |
Object | false | この値をtrueにするとDirect I/O Hiveライブラリ、および標準の設定に基づくバージョンのHive実行ライブラリを依存ライブラリに追加する。
また、リスト形式でHive実行ライブラリのバージョンを指定することで、任意のバージョンのHive実行ライブラリを依存ライブラリに追加する [16] 。
true または false 、もしくは java.util.List を指定可能。 |
[13] | アプリケーションSDKライブラリについては、 Asakusa Gradle Plugin ユーザーガイド - 依存ライブラリの管理 も参照してください。 |
[14] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwSdkExtension が提供します。 |
[15] | 標準の設定以外の実行エンジンの利用は非推奨です。 |
[16] | 設定方法の例や詳細については、 Direct I/O Hive を参照してください。 |
Eclipse Pluginの拡張¶
Batch Application Plugin は Gradleが提供するEclipse Pluginのタスクに対して、以下のようなEclipseプロジェクトの追加設定を行います。
- OperatorDSLコンパイラを実行するためのAnnotation Processorの設定
- Javaのバージョンやエンコーディングに関する設定
また、Batch Application Pluginが設定する規約プロパティの情報を .settings/com.asakusafw.asakusafw.prefs
に出力します。
GradleからEclipseプロジェクト用の定義ファイルを生成する方法については、 Eclipse定義ファイルの作成 を参照してください。
IntelliJ IDEAの利用¶
Asakusa FrameworkのアプリケーションプロジェクトはIntelliJ IDEAのGradleプロジェクトとして利用することもできます。
詳しくは、 IntelliJ IDEAの利用 を参照してください。
Attention
Asakusa Framework バージョン 0.10.4 では、過去バージョンで提供していた IDEA Pluginの拡張と idea
タスクの利用は非推奨となりました。
IntelliJ IDEAのバージョンによっては、これらの機能は正しく動作しません。
IntelliJ IDEAを利用する場合、 IntelliJ IDEAの利用 のドキュメント内容に従って利用してください。
Framework Organizer Plugin¶
Framework Organizer Plugin は、Asakusa Framework を 利用した開発環境の構築や、運用環境に対するデプロイモジュールの構成管理機能を提供します。
Framework Organizer Plugin が提供する機能には次のようなものがあります。
- Asakusa Frameworkのデプロイメントモジュールの構成を定義し、デプロイメントアーカイブを生成するタスクの提供
- Asakusa Frameworkが提供する各コンポーネントの設定や拡張モジュールの利用などを環境ごとに設定するプロファイル管理機能の提供
- Asakusa Frameworkを開発環境へインストールするタスクの提供
タスク¶
Framework Organizer Plugin は、以下のタスクを定義します。
タスク名 | 依存先 | 型 | 説明 |
---|---|---|---|
assembleAsakusafw | - |
Task |
運用環境向けのデプロイメント構成を持つデプロイメントアーカイブを生成する |
installAsakusafw | - |
Task |
開発環境向けのデプロイメント構成をローカル環境にインストールする |
Note
Framework Organizer Pluginは上記のタスク一覧の他に、プラグイン内部で attach
から始まるタスクを生成し利用します。
リポジトリ¶
Framework Organizer Plugin は、 Batch Application Plugin のリポジトリ定義と共通の設定を使用します。
Tip
Batch Application Plugin と同様に、プロジェクトに固有のリポジトリを追加する場合、ビルドスクリプトのプラグイン定義 ( apply plugin: 'xxx'
) 位置の前にリポジトリ定義を追加すると、プラグインが標準で設定するリポジトリよりも優先して使用されます。
規約プロパティ¶
Framework Organizer Plugin の規約プロパティはビルドスクリプトから 参照名 asakusafwOrganizer
でアクセスできます [17] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
assembleDir |
String | ${project.buildDir}/asakusafw-assembly |
デプロイメント構成の構築時に利用するワーキングディレクトリのプレフィックス |
[17] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention が提供します。 |
バッチアプリケーションプロパティ¶
バッチアプリケーションの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 batchapps
でアクセスできます [18] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
enabled |
boolean | true | この値をtrueにするとデプロイメントアーカイブにプロジェクトのバッチアプリケーションを含める |
[18] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.BatchappsConfiguration が提供します。 |
Hadoopプロパティ¶
Hadoopの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 hadoop
でアクセスできます [19] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
embed |
boolean | false | この値をtrueにするとデプロイメントアーカイブにHadoopライブラリーを含める |
[19] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.HadoopConfiguration が提供します。 |
See also
Hadoopプロパティの利用方法については、 Asakusa on M3BPユーザーガイド - Hadoopとの連携 を参照してください。
MapReduceプロパティ¶
MapReduce DSLコンパイラが生成するバッチアプリケーションの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 mapreduce
でアクセスできます。
この規約オブジェクトについては、Asakusa on MapReduceの以下のドキュメントを参照してください。
Sparkプロパティ¶
Spark DSLコンパイラが生成するバッチアプリケーションの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 spark
でアクセスできます。
この規約オブジェクトについては、Asakusa on Sparkの以下のドキュメントを参照してください。
M3BPプロパティ¶
M3BP DSLコンパイラが生成するバッチアプリケーションの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 m3bp
でアクセスできます。
この規約オブジェクトについては、 Asakusa on M3BP の以下のドキュメントを参照してください。
Direct I/Oプロパティ¶
Direct I/Oの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 directio
でアクセスできます [20] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
enabled |
boolean | true | この値をtrueにするとDirect I/O用の構成を行う |
[20] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.DirectIoConfiguration が提供します。 |
Hiveプロパティ¶
Direct I/O Hiveの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 hive
でアクセスできます [21] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
enabled |
boolean | false | この値をtrueにすると Direct I/O Hive連携モジュール用の構成を行う |
libraries |
java.util.List | org.apache.hive:hive-exec:1.2.2 |
Directi I/O Hiveが実行時に使用するHiveライブラリ [22] |
[21] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.HiveConfiguration が提供します。 |
[22] | 設定方法の例や詳細については、 Direct I/O Hive を参照してください。 |
テストドライバープロパティ¶
テストモジュール用の構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 testing
でアクセスできます [23] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
enabled |
boolean | false | この値をtrueにするとテストモジュール用の構成を行う |
[23] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.TestingConfiguration が提供します。 |
WindGateプロパティ¶
WindGateの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 windgate
でアクセスできます [24] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
enabled |
boolean | true | この値をtrueにするとWindGate用の構成を行う |
retryableEnabled |
boolean | false | この値をtrueにするとWindGateプラグイン asakusa-windgate-retryable を追加する [25] |
sshEnabled |
boolean | true | この値をtrueにするとHadoopブリッジ ( windgate-ssh ) を追加する [26] |
[24] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.WindGateConfiguration が提供します。 |
[25] | 詳しくは WindGateユーザーガイド - 再試行可能なデータ転送プロセス を参照してください。 |
[26] | 詳しくは WindGateユーザーガイド - SSH経由でリモートのHadoopを利用する を参照してください。 |
YAESSプロパティ¶
YAESSの構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 yaess
でアクセスできます [27] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
enabled |
boolean | true | この値をtrueにするとYAESS用の構成を行う |
hadoopEnabled |
boolean | true | この値をtrueにするとHadoopブリッジ ( yaess-hadoop ) を追加する [28] |
jobqueueEnabled |
boolean | false | この値をtrueにするとYAESSプラグイン asakusa-yaess-jobqueue を追加する [29] |
toolsEnabled |
boolean | true | この値をtrueにするとYAESS拡張ツールを追加する |
iterativeEnabled |
boolean | true | この値をtrueにするとYAESSのIterative Extensions向け拡張モジュールを追加する [30] |
[27] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.YaessConfiguration が提供します。 |
[28] | 詳しくは YAESSユーザーガイド - SSHを経由してHadoopジョブを実行する を参照してください。 |
[29] | 詳しくは YAESS JobQueue - JobQueueクライアントプラグインの利用方法 を参照してください。 |
[30] | Iterative ExtensionsについてはAsakusa on Sparkのドキュメント Asakusa on Spark Iterative Extensions を参照してください。 |
フレームワーク拡張プロパティ¶
Asakusa Frameworkの拡張構成に関する規約プロパティは、 asakusafwOrganizer
ブロック内の参照名 extension
でアクセスできます [31] 。
この規約オブジェクトは以下のプロパティを持ちます。
プロパティ名 | 型 | デフォルト値 | 説明 |
---|---|---|---|
libraries |
java.util.List | [] |
$ASAKUSA_HOME/ext/lib 配下に配置するライブラリ [32] |
[31] | これらのプロパティは規約オブジェクト com.asakusafw.gradle.plugins.AsakusafwOrganizerPluginConvention.ExtensionConfiguration が提供します。 |
[32] | 明示的に指定されたライブラリのみを配置し、明示的でない依存ライブラリ等は自動的に配置しません。 |
デプロイメントアーカイブの編集¶
デプロイメントアーカイブの構成方法として、コンポーネントの規約プロパティによってデプロイ構成を編集する機能の他に、デプロイメントアーカイブに任意のファイルを追加する機能を利用できます。
この機能は、 asakusafwOrganizer
ブロック内の参照名 assembly
でアクセスできます [33] 。
以下は、 assembly
の利用例です [34] 。
asakusafwOrganizer {
profiles.prod {
assembly.into('.') {
put 'src/dist/prod'
replace 'asakusa-resources.xml', inputCombineMax: '24'
}
}
}
assembly.into
は引数に指定したパス上に、ブロック配下の定義で対象とするファイルを追加します。
コンポーネントの規約プロパティによる構成で追加されるファイルと同名のファイルが含まれる場合は、ここで追加するファイルで上書きされるため、特定環境向けに構成した設定ファイルなどを含めることができます。
assembly.into
ブロック内では以下のような指定が可能です [35] 。
put
- デプロイメントアーカイブ追加するディレクトリやファイルのパスを指定します。 相対パスで指定した場合はプロジェクトディレクトリが起点となります。
replace
put
の指定で追加の対象となるファイルに対して置換を行います。 第1引数は置換の対象となるファイル名を指定します。ここで指定したパスは後方一致で評価されます。 置換の対象となるファイル内の@key@
のように@
文字で囲まれた文字列が置換対象となります。後の引数に、置換対象文字列をMap形式 (
key
:value
)で指定します。
[33] | これらの機能は com.asakusafw.gradle.assembly.AsakusafwAssembly が提供します。 |
[34] | assembly の利用例は、 Asakusa Framework デプロイメントガイド も参照してください。 |
[35] | これらの機能は com.asakusafw.gradle.assembly.AssemblyHandler が提供します。 |