Build Init Plugin
init タスクで build.gradle などをよろしく作れます。
試験的な提供なので将来が計画されていますが、Gradle 2.3 時点でどのようなになるかメモしておきます。
(2017/02/22 追記) 現在は java-application が追加されているので加えました。
Gradle 4 の場合は以下を参照ください。
basic
タイプ指定なしで basic
指定とみなされます。
gradle init
ディレクトリはこんな状態になります。
build.gradle は以下の内容で生成されます。
/* // Apply the java plugin to add support for Java apply plugin: 'java' // In this section you declare where to find the dependencies of your project repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. jcenter() } // In this section you declare the dependencies for your production and test code dependencies { // The production code uses the SLF4J logging API at compile time compile 'org.slf4j:slf4j-api:1.7.7' // Declare the dependency for your favourite test framework you want to use in your tests. // TestNG is also supported by the Gradle Test task. Just change the // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add // 'test.useTestNG()' to your build script. testCompile "junit:junit:4.11" } */
java ライブラリプロジェクトの設定で、すべてコメントアウトされています。
java-application
Java アプリケーション用のプロジェクト。
gradle init --type java-application
ディレクトリはこんな状態になります。
build.gradle は以下の内容で生成されます。
// Apply the java plugin to add support for Java apply plugin: 'java' // Apply the application plugin to add support for building an application apply plugin: 'application' // In this section you declare where to find the dependencies of your project repositories { // Use jcenter for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. jcenter() } dependencies { // The production code uses Guava compile 'com.google.guava:guava:20.0' // Use JUnit test framework testCompile 'junit:junit:4.12' } // Define the main class for the application mainClassName = 'App'
java-library
Java ライブラリ用のプロジェクト。
gradle init --type java-library
ディレクトリはこんな状態になります。
build.gradle は以下の内容で生成されます。
// Apply the java plugin to add support for Java apply plugin: 'java' // In this section you declare where to find the dependencies of your project repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. jcenter() } // In this section you declare the dependencies for your production and test code dependencies { // The production code uses the SLF4J logging API at compile time compile 'org.slf4j:slf4j-api:1.7.7' // Declare the dependency for your favourite test framework you want to use in your tests. // TestNG is also supported by the Gradle Test task. Just change the // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add // 'test.useTestNG()' to your build script. testCompile 'junit:junit:4.12' }
自動作成した後は、resources ディレクトリ作ってくれないので以下のようなタスク定義して
task initDirs {
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}
resources ディレクトリ作成
./gradlew initDirs
は必要ですね。
scala-library
Scala ライブラリ用のプロジェクト。
gradle init --type scala-library
ディレクトリはこんな状態になります。
build.gradle は以下の内容で生成されます。
// Apply the scala plugin to add support for Scala apply plugin: 'scala' // In this section you declare where to find the dependencies of your project repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. jcenter() } // In this section you declare the dependencies for your production and test code dependencies { // We use Scala 2.11 in our library project compile 'org.scala-lang:scala-library:2.11.5' // We use Scalatest for testing our library testCompile 'junit:junit:4.12' testCompile 'org.scalatest:scalatest_2.11:2.2.4' testRuntime 'org.scala-lang.modules:scala-xml_2.11:1.0.3' }
groovy-library
Groovy ライブラリ用のプロジェクト。
gradle init --type groovy-library
ディレクトリはこんな状態になります。
build.gradle は以下の内容で生成されます。
// Apply the groovy plugin to add support for Groovy apply plugin: 'groovy' // In this section you declare where to find the dependencies of your project repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. jcenter() } // In this section you declare the dependencies for your production and test code dependencies { // We use the latest groovy 2.x version for building this library compile 'org.codehaus.groovy:groovy-all:2.4.0' // We use the awesome Spock testing and specification framework testCompile 'org.spockframework:spock-core:0.7-groovy-2.0' testCompile 'junit:junit:4.12' }
pom
pom.xml があるディレクトリで以下のようにするとMaven プロジェクトを変換してくれます。
gradle init --type pom