2017-10-06 4 views
0

J'ai un projet gradle composé de plusieurs projets java. Disons que nous avons deux projets, ProjectA et ProjectB. Je voudrais envoyer ProjectA jar au repo maven local, avant que ProjectB commence à compiler. Parce que ProjectB dépend de ProjectA. Je sais que je peux le faire à partir de la ligne de commande avec gradle clean build pTML ou gradle publishToMavenLocal commande séparément. Mais, je veux le faire dans build.gradle principal sans aucune étape supplémentaire en un coup.Gradle Multiproject Construire pushToLocalMaven avant

RootProject 
├── ProjectA 
│ ├── build.gradle 
│ └── src 
└── ProjectB 
    ├── build.gradle 
    └── src 

Répondre

0

J'ai résolu le problème en ajoutant la commande build.finalizedBy(publishToMavenLocal) à tous les sous-projets. De cette façon, après la construction d'un projet, il est directement publié dans le référentiel local de maven. @Vampire je vous remercie pour votre aide, je pense aussi résout le problème, mais cela semble le moyen le plus facile.

0

Ce que vous êtes est après la fonction composite de construction où vous pouvez remplacer une dépendance binaire comme compile 'my.group:project-a:1.0' par un « sous-construction » pour ce projet A est construit d'abord et son résultat étant utilisé à la place de la dépendance binaire déclarée . Vous pouvez en savoir plus à ce sujet au https://docs.gradle.org/current/userguide/composite_builds.html