plugins { id 'com.netflix.nebula.ospackage' version '11.10.0' id 'com.intershop.gradle.jaxb' version '7.0.1' } // Get version from main project gradle def packVersion = properties.get("packageVersion"); def jarVersion = properties.get("jarVersion"); dependencies { implementation project(':HIRS_Utils') implementation libs.bouncycastle implementation libs.commons.codec implementation libs.glassfish.jakarta.json implementation libs.glassfish.jaxb.runtime implementation libs.guava implementation libs.jcommander implementation libs.jackson.databind implementation libs.jakarta.persistence.api implementation libs.jakarta.xml implementation libs.spring.boot.starter.log4j2 implementation libs.spring.boot.starter.data.jpa implementation libs.logback.classic compileOnly libs.lombok annotationProcessor libs.lombok testImplementation libs.spring.boot.starter.test testCompileOnly libs.lombok testAnnotationProcessor libs.lombok } test { testLogging.showStandardStreams true } jar { exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.MF' duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes "Main-Class": "hirs.swid.Main" } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } //jar name format: [archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension] archiveVersion = jarVersion } ospackage { packageName = 'tcg-rim-tool' os = LINUX arch = NOARCH version = "$packVersion" release = '1' user 'root' fileMode = 0755 into('/opt/rimtool/lib') { from jar.outputs.files from configurations.runtimeClasspath from 'libs' } into('/opt/rimtool/scripts') { from('scripts') { exclude { FileTreeElement details -> details.file.name.endsWith('.bat') } } } into('/opt/rimtool/docs') { from('./') { include { FileTreeElement details -> details.file.name.endsWith('.md') } } } into('/opt/rimtool/data') { from('src/test/resources/') { } } link("/usr/local/bin/rim", "/opt/rimtool/scripts/rimtool.sh", 0x755) // Post Install postInstall "echo ${jarVersion} > /opt/rimtool/VERSION" // Post Uninstall postUninstall 'rm -rf /opt/rimtool' } buildRpm { arch = X86_64 } buildDeb { arch = 'amd64' } task buildZip(type: Zip) { dependsOn jar dependsOn jar from(tasks.jar.archiveFile) { rename(filename -> "${project.name}.jar") into '/' } from('./build/resources/test/rim_fields.json') { into '/' } from('../../.ci/tcg-rim-tool/configs/Base_Rim_Config.json') { into '/' } from('../../.ci/tcg-rim-tool/eventlogs/TpmLog.bin') { into '/' } from('../../.ci/tcg-rim-tool/keys/PC_OEM1_rim_signer_rsa_3k_sha384.key') { into '/' } from('../../.ci/tcg-rim-tool/certs/PC_OEM1_rim_signer_rsa_3k_sha384.pem') { into '/' } from('../../.ci/tcg-rim-tool/certs/PC_OEM1_Cert_Chain.pem') { into '/' } archiveBaseName.set(project.name) destinationDirectory.set(file("$buildDir/distributions")) archiveFileName.set("${project.name}.zip") } buildZip.dependsOn jar //build.dependsOn buildZip