gradle - la copie de l'annuaire Problème
J'ai un problème avec la copie des fichiers dans gradle. Voici un extrait de build.gradle
:
task mydir() {
new File("build/models").mkdir()
}
task copyTask(dependsOn:mydir, type: Copy){
from 'src/test/groovy/models'
into 'build/models'
from 'src/test/groovy/test.groovy'
into 'build/'
}
Ici, le problème est dans la première copie, qui est, test.groovy est copié dans construire. Mais le premier exemplaire, où je copie tous les fichiers dans src/../modèles en construire/modèles ne fonctionne pas. Il copie simplement les fichiers dans construire répertoire seulement. Mon construire/modèles restent vides. Quelqu'un peut-il me dire où ce que je fais mal? J'ai aussi une tâche séparée pour créer construire/modèles répertoire avant de copyTask exécution.
- J'ai utiliser la méthode de copie à la place du type:Copie, il a travaillé. Pas sûr de ce qui est la raison derrière elle. La documentation dit, le type de copie ne up-to-date de vérification. considérant que copie() la méthode ne cochez pas la case.
Vous devez vous connecter pour publier un commentaire.
Le script de construction contient des erreurs:
mydir
est configuré, pas quand il est exécuté. (Cela signifie que le répertoire sera créé sur chaque invocation, peu importe les tâches qui sont exécutées.)new File('some/path')
crée un chemin relatif au répertoire de travail courant de la Gradle processus, pas un chemin relatif au répertoire de projet. Toujours utiliserproject.file()
à la place.Copy
tâche ne pouvez avoir qu'un seul haut-niveauinto
.Ici est une version corrigée:
La
Copy
tâche va créerbuild/models
automatiquement, il n'est probablement pas besoin d'avoir lesmydir
tâche. C'est étrange d'utiliserbuild
que le répertoire cible d'unCopy
tâche (doit utiliser un sous-répertoire).Dans gradle, la tâche de copie ne pouvait avoir qu'une seule "dans" cible avec plusieurs froms.
La seconde " en "remplacer la première" en "valeur et c'est pourquoi il est seulement copié dans" build/' non '/construction /modèles"
Vous voudrez peut-être avoir une copie distincte de la tâche ou de l'utilisation de ant.copie à la place.
Copy
tâche peut avoir n'importe quel nombre d'indépendants copie. Tout ce qu'ils doivent avoir en commun, c'est une "base" répertoire cible (le haut-niveauinto
).