gradle 1.12
Fedora 20
I am using gradle for the first time for building my java programs. I am using emacs as I don't like using eclipse. Because I like to do everything on the cmd line.
Gradle expects to find your production source code under src/main/java and your test source code under src/test/java. In addition, any files under src/main/resources
I am wondering is there a command I can use in gradle to get it to automatically create this project structure?
I could write a script file, but before I do that I would like to know if gradle can do it.
Many thanks in advance,
There isn't currently a built-in way to create the directory structure, but gradle init
will probably take care of this at some point.
UPDATE: This is now available via the Gradle init plugin
.
A sample usage is:
gradle init --type java-library
You can use gradle-templates
,
STEP 1 : add templates plugin to build.gradle
group 'com.hireartists.consumer.repository'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'idea'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework:spring-webmvc:4.2.1.RELEASE'
compile 'org.apache.kafka:kafka_2.10:0.8.2.2'
compile 'javax.servlet:jstl:1.2'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
buildscript {
repositories {
maven {
url 'http://dl.bintray.com/cjstehno/public'
}
}
dependencies {
classpath 'gradle-templates:gradle-templates:1.5'
}
}
apply plugin:'templates'
STEP 2 : see tasks you need
./gradlew tasks
Template tasks
--------------
createGradlePlugin - Creates a new Gradle Plugin project in a new directory named after your project.
createGroovyClass - Creates a new Groovy class in the current project.
createGroovyProject - Creates a new Gradle Groovy project in a new directory named after your project.
createJavaClass - Creates a new Java class in the current project.
createJavaProject - Creates a new Gradle Java project in a new directory named after your project.
createScalaClass - Creates a new Scala class in the current project.
createScalaObject - Creates a new Scala object in the current project.
createScalaProject - Creates a new Gradle Scala project in a new directory named after your project.
createWebappProject - Creates a new Gradle Webapp project in a new directory named after your project.
exportAllTemplates - Exports all the default template files into the current directory.
exportGroovyTemplates - Exports the default groovy template files into the current directory.
exportJavaTemplates - Exports the default java template files into the current directory.
exportPluginTemplates - Exports the default plugin template files into the current directory.
exportScalaTemplates - Exports the default scala template files into the current directory.
exportWebappTemplates - Exports the default webapp template files into the current directory.
initGradlePlugin - Initializes a new Gradle Plugin project in the current directory.
initGroovyProject - Initializes a new Gradle Groovy project in the current directory.
initJavaProject - Initializes a new Gradle Java project in the current directory.
initScalaProject - Initializes a new Gradle Scala project in the current directory.
initWebappProject - Initializes a new Gradle Webapp project in the current directory.
STEP 3 : apply the task
./gradlew initWebappProject
> Building 0% > :initWebappProject
templates> Use Jetty Plugin? (Y|n) [n] n
:initWebappProject
BUILD SUCCESSFUL
Total time: 12.057 secs
STEP 4 : you can see the folder structure now
prayag-top:hire-artists-consumer prayagupd$ ll src/main/
total 0
drwxr-xr-x 2 prayagupd staff 68 Oct 31 12:48 java
drwxr-xr-x 2 prayagupd staff 68 Oct 31 12:48 resources
drwxr-xr-x 3 prayagupd staff 102 Oct 31 12:48 webapp
For more read https://github.com/townsfolk/gradle-templates#installation
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With