В настоящее время у нас есть код публикации для нашего проекта gradle. Цель в зависимости от состояния, мы опубликуем подходящий артефакт.
publications {
if (project.plugins.hasPlugin('java')) {
if (!project.plugins.hasPlugin('war')) {
// main jar containing compiled production classes
classesPublication(MavenPublication) {
from components.java
}
} else {
// war for web app sub projects
warPublication(MavenPublication) {
from components.web
}
}
// Java production source files
sourcePublication(MavenPublication) {
from components.java
artifact sourceJar {
classifier 'sources'
}
}
}
if (project.ext.has('buildTestsJar') && project.ext.buildTestsJar) {
// jar containing compiled test classes
testPublication(MavenPublication) {
artifact jarTest
}
// Java test source files
testSourcePublication(MavenPublication) {
from components.java
artifact testSourceJar {
classifier 'test-sources'
}
}
}
}
Но проблема в том, что когда я его использую, он успешно опубликован, но мы получили другой номер сборки для некоторых банок
Другой номер сборки для тестов и источников jar
Я не знаю, почему это произошло. И когда я объединяю 2 публикации в тестовом состоянии в 1. Таким образом, файл jar для тестов будет иметь тот же номер сборки, что и я, я также не знаю почему.
if (project.ext.has('buildTestsJar') && project.ext.buildTestsJar) {
// Java test source files
testSourcePublication(MavenPublication) {
from components.java
artifact testSourceJar {
classifier 'test-sources'
}
artifact jarTest
}
}
тестовые банки имеют одинаковый номер сборки
Пожалуйста, помогите мне объяснить это.