Comment créer un projet Java Gradle en ligne de commande?
Il devrait créer disposition standard des dossiers maven comme sur l’image ci-dessous.
MISE À JOUR:
.1. De http://www.gradle.org/docs/current/userguide/tutorial_Java_projects.html J'ai besoin de créer le fichier build.gradle
avec 2 lignes.
apply plugin: 'Java' apply plugin: 'Eclipse'
.2. Ajoutez à la tâche build.gradle
ci-dessous, puis exécutez gradle create-dirs
task "create-dirs" << { sourceSets*.Java.srcDirs*.each { it.mkdirs() } sourceSets*.resources.srcDirs*.each { it.mkdirs() } }
.3. Puis exécutez gradle Eclipse
(ou la chaîne correspondante vers un autre plug-in IDE configuré).
Alors, y a-t-il moyen de le faire en une seule commande?
Pour créer un projet Java: créez un nouveau répertoire de projet, accédez au répertoire et exécutez-le.
gradle init --type Java-library
Les dossiers sources et un fichier de génération Gradle (y compris un wrapper) seront générés.
Les gradés font de leur mieux pour résoudre tous nos problèmes ;-). Ils ont récemment (depuis la version 1.9) ajouté une nouvelle fonctionnalité (mise en incubation): le plugin "build init".
Enfin, après avoir comparé toutes les solutions, je pense qu’à partir du fichier build.gradle
peut être pratique.
La distribution de Gradle a le dossier samples
avec beaucoup d'exemples, et il y a le gradle init --type basic
, voir Chapitre 47. Plugin Build Init . Mais ils ont tous besoin d'être édités.
Vous pouvez également utiliser modèle ci-dessous, puis exécutez gradle initSourceFolders Eclipse
/*
* Nodeclipse/Enide build.gradle template for basic Java project
* https://github.com/Nodeclipse/nodeclipse-1/blob/master/org.nodeclipse.enide.editors.gradle/docs/Java/basic/build.gradle
* Initially asked on
* http://stackoverflow.com/questions/14017364/how-to-create-Java-gradle-project
* Usage
* 1. create folder (or general Eclipse project) and put this file inside
* 2. run `gradle initSourceFolders Eclipse` or `gradle initSourceFolders idea`
* @author Paul Verest;
* based on `gradle init --type basic`, that does not create source folders
*/
apply plugin: 'Java'
apply plugin: 'Eclipse'
apply plugin: 'idea'
task initSourceFolders { // add << before { to prevent executing during configuration phase
sourceSets*.Java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}
task wrapper(type: Wrapper) {
gradleVersion = '1.11'
}
// In this section you declare where to find the dependencies of your project
repositories {
// Use Maven Central for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
mavenCentral()
}
// In this section you declare the dependencies for your production and test code
dependencies {
//compile fileTree(dir: 'libs', include: '*.jar')
// The production code uses the SLF4J logging API at compile time
//compile 'org.slf4j:slf4j-api:1.7.5'
// 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"
}
Le résultat est comme ci-dessous.
Cela peut être utilisé sans aucun plugin Gradle pour Eclipse,
ou avec (Enide) Gradle pour Eclipse, Jetty, Android alternative à Gradle Integration for Eclipse
Malheureusement, vous ne pouvez pas le faire en une seule commande. Il y a un open problème pour la fonctionnalité même .
Actuellement, vous devrez le faire à la main. Si vous avez besoin de le faire souvent, vous pouvez créer un plugin Gradle personnalisé , ou simplement préparer votre propre squelette de projet et le copier si nécessaire.
EDIT
Le problème JIRA mentionné ci-dessus a été résolu, à compter du 1er mai 2013, et résolu en 1.7-rc-1. La documentation sur le Build Init Plugin est disponible, bien qu'elle indique que cette fonctionnalité est toujours dans le cycle de vie "en incubation".
Si vous utilisez Eclipse, pour un projet existant (qui contient un fichier build.gradle
), vous pouvez simplement taper gradle Eclipse
, ce qui créera tous les fichiers et dossiers Eclipse pour ce projet.
Il gère pour vous toutes les dépendances et les ajoute également au chemin de ressources du projet dans Eclipse.
Je pouvais le gérer en utilisant une méthode groovy dans build.gradle
pour créer tous les dossiers source de Java, des ressources et des tests. Ensuite, je le configure pour qu'il s'exécute avant la tâche gradle Eclipse
.
eclipseClasspath.doFirst {
initSourceFolders()
}
def initSourceFolders() {
sourceSets*.Java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}
Nous pouvons maintenant configurer un nouveau projet Java EE dans Eclipse avec une seule commande. Je mets cet exemple à GitHub