Существует инсталлятор задач, который является инкрементным, когда когда-либо происходит изменение в кэше градуировки для определенных модулей, инсталляторы будут работать только для этих модулей. Внутренний установщик вызывает подключаемый модуль installanywhere, чтобы сгенерировать файл bin и поместить его в путь проекта. Одновременно нам нужно опубликовать sh артефакты только для тех модулей, для которых сгенерированы установщики, или был изменен кеш-хранилище. Как мы можем достичь этого? как может быть Maven Publi sh может быть инкрементным
публикации {
publications {
tierVtmosListToBuild.forEach() { t ->
val tierVtmosPath = t.getConcatenatedTierVtmos("/")
val devicePropertiesFile = File(deviceXmlInstallerDir, "$tierVtmosPath/device.properties")
val deviceProperties = Properties().apply {
FileInputStream(devicePropertiesFile).use {
load(it)
}
val vendorFormatted = this.getProperty("device.vendor.formatted")
val typeFormatted = this.getProperty("device.type.formatted")
val modelFormatted = this.getProperty("device.model.formatted")
val osFormatted = this.getProperty("device.os.trimmed")
put("deviceInstallerName", "$vendorFormatted$typeFormatted$modelFormatted$osFormatted")
}
val deviceName = deviceProperties.getProperty("deviceInstallerName")
logger.info("Uploading artifact to nexus with VTMOS" + deviceName)
val deviceInstallerOutputDir = File(installerOutputDir, "$tierVtmosPath")
val driverOutputDir = (File(deviceInstallerOutputDir, "device_Build_Output/Fixpack/Web_Installers/InstData/GenericUnix/$deviceName.bin")).toString()
//val driverFileName = (File(driverOutputDir, "$deviceName.bin") ).toString()
//create<MavenPublication>("${t.getConcatenatedVtmos("")}") {
create<MavenPublication>("${t.getConcatenatedVtmos("")}") {
groupId = "com.itncm.drivers.artifacts"
artifactId = "${t.getConcatenatedVtmos("_")}"
artifact (driverOutputDir)
version = "1.0.0-SNAPSHOT"
}
}
}
repositories {
maven {
url = uri("https://nexus.fragglerock.wipro.com:0000/repo")
credentials {
username = "user"
password = "pass"
}
}
}
}