У меня есть многомодульный проект следующим образом:
top-level-module
sub-module-1
sub-module-2
sub-module-3
Конфигурация Gradle модуля верхнего уровня выглядит следующим образом:
...
def javaProjects() {
subprojects.findAll { new File(it.projectDir, 'src/main/java').directory }
}
configure(javaProjects()) {
apply plugin: "io.franzbecker.gradle-lombok"
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: "jacoco"
apply plugin: 'maven'
apply plugin: 'maven-publish'
...
publishing {
repositories {
maven {
url = ...
credentials {
username = ...
password = ...
}
}
}
}
}
sub-module-1 и sub-module-2 имеют конфигурацию Gradle, как это:
plugins {
id 'java'
id 'groovy'
id 'application'
id 'maven'
id 'maven-publish'
}
mainClassName = 'com.mycompany.MyClass'
applicationName = 'xxx-cli' // xxx-cli is different for both modules
...
publishing {
publications {
XXXCliTar(MavenPublication) { // XXXCliTar is different in two modules
artifact(distTar)
artifactId "${applicationName}"
}
}
}
Когда я использую задачу публикации следующим образом:
gradle -i build publish
Я считаю, что только артефакты из суб-module1 опубликован.
Что действительно странно в этом, так это то, что это происходит только при запуске в задании Jenkis (на подчиненном Linux).Это не происходит при запуске на моем компьютере с Windows!
Мне интересно, почему артефакты из подмодуля 2. не публикуются.