Par défaut, le plugin Gradle idea marque le dossier de construction comme étant exclu. Comment inclure ce dossier en tant que dossier source? (ou évitez de l’exclure, car cela semble être par défaut …)
Dans mon module, le fichier build.gradle que j’ai essayé avec les deux configurations suivantes:
idea { module { excludeDirs -= file('build/generated') } }
et:
idea { module { sourceDirs += file('build/generated') } }
Avec ces deux configurations, le dossier créé / généré apparaît toujours sous la forme de dossiers exclus dans IntelliJ après la compilation. Dans IntelliJ, je dois toujours aller dans “Paramètres du projet”, “Modules”, puis dans l’onglet “Sources” pour supprimer le dossier de construction des dossiers exclus et laisser mon projet s’exécuter.
changer le code de
file('build/generated')
à
file("$buildDir/generated")
J’utilise ici un code de travail:
ext { cxfOutputDir = file("$buildDir/generated-sources/cxf") } idea.module { excludeDirs -= file("$buildDir") sourceDirs += cxfOutputDir }
Vous voulez absolument que le répertoire de build
soit exclu dans IntelliJ. Sinon, l’indexation prendra plus de temps, vous obtiendrez des doublons dans les recherches, etc. Etant donné qu’IntelliJ ne prend pas en charge l’inclusion d’un sous-répertoire d’un répertoire exclu, ma solution préférée consiste à placer les fichiers générés dans un répertoire en dehors de la build
. Par exemple, vous pouvez les placer dans generated
(par rapport au répertoire du projet) et configurer la tâche de clean
conséquence:
clean { delete "generated" }
Une autre option consiste à exclure tous les sous-répertoires de la build
exception de la build/generated
. Cependant, étant donné que les répertoires à exclure devront être énumérés explicitement, cela demande davantage d’efforts et risque de devenir fragile. (Vous ne voulez pas que cela se casse chaque fois qu’un plugin / tâche / etc. Ajoute un nouveau sous-répertoire.)
Cela fonctionne pour moi!
apply plugin: 'idea' idea { module { excludeDirs -= buildDir } }
Utiliser l’emplacement standard pour le code source généré – pris en charge sans configuration supplémentaire:
${project.buildDir}/generated-sources/something
ou
${project.buildDir}/generated-test-sources/something
pour le code généré pour les tests uniquement.
something
signifie technologie, exemple: jpamodel , cxf etc.
Première méthode
['integration/src/generated'].each { idea.module.sourceDirs += file(it) sourceSets.main.java.srcDir it comstackJava.source file(it) }
deuxième méthode
project.ext { jaxbTargetDir = file("src/generated/java") } idea.module { excludeDirs -= file("$buildDir") sourceDirs += jaxbTargetDir }