HIRS/tools/tcg_rim_tool/build.gradle

143 lines
3.4 KiB
Groovy
Raw Normal View History

plugins {
id 'com.netflix.nebula.ospackage' version '11.4.0'
id 'com.intershop.gradle.jaxb' version '5.1.0'
}
// Get version from main project gradle
def packVersion = properties.get("packageVersion");
def jarVersion = properties.get("jarVersion");
repositories {
mavenCentral()
flatDir { dirs "lib" }
}
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.hibernate.core
implementation libs.jcommander
implementation libs.jackson.databind
implementation libs.jakarta.persistence.api
implementation libs.jakarta.xml
implementation libs.log4j.core
compileOnly libs.lombok
annotationProcessor libs.lombok
testImplementation libs.testng
testCompileOnly libs.lombok
testAnnotationProcessor libs.lombok
}
2022-08-26 01:29:01 -04:00
test {
testLogging.showStandardStreams true
2022-08-26 01:29:01 -04:00
}
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/') {
}
}
2024-01-16 18:28:40 -05:00
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'
}
2024-07-15 15:05:31 -04:00
task buildZip(type: Zip) {
2024-07-17 14:27:26 -04:00
dependsOn jar
2024-07-15 15:05:31 -04:00
dependsOn jar
from(tasks.jar.archiveFile) {
rename(filename ->
2024-07-17 14:27:26 -04:00
"${project.name}.jar")
2024-07-15 15:05:31 -04:00
into '/'
}
from('./build/resources/test/rim_fields.json') {
2024-07-15 15:05:31 -04:00
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 '/'
}
2024-07-16 11:48:59 -04:00
archiveBaseName.set(project.name)
2024-07-15 15:05:31 -04:00
destinationDirectory.set(file("$buildDir/distributions"))
2024-07-17 14:27:26 -04:00
archiveFileName.set("${project.name}.zip")
2024-07-15 15:05:31 -04:00
}
buildZip.dependsOn jar
//build.dependsOn buildZip