mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-18 20:47:58 +00:00
122 lines
3.6 KiB
Groovy
122 lines
3.6 KiB
Groovy
plugins {
|
|
id 'application'
|
|
id 'java'
|
|
id 'war'
|
|
id 'com.netflix.nebula.ospackage' version '11.4.0'
|
|
id 'org.springframework.boot' version '3.0.6'
|
|
id 'io.spring.dependency-management' version '1.1.0'
|
|
}
|
|
|
|
// Get version from main project gradle
|
|
def packVersion = properties.get("packageVersion");
|
|
def jarVersion = properties.get("jarVersion");
|
|
//println "packageVersion is ${projVersion}"
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(17)
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
compileOnly {
|
|
extendsFrom annotationProcessor
|
|
}
|
|
all*.exclude module: 'spring-boot-starter-logging'
|
|
}
|
|
|
|
repositories {
|
|
flatDir { dirs "lib" }
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(':HIRS_Utils')
|
|
implementation project(':HIRS_AttestationCA')
|
|
|
|
implementation libs.pci
|
|
implementation libs.gson
|
|
implementation libs.bouncycastle
|
|
implementation libs.guava
|
|
implementation libs.jakarta.servlet
|
|
|
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
|
implementation 'org.springframework.boot:spring-boot-starter-validation'
|
|
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
|
|
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
|
|
implementation 'org.apache.logging.log4j:log4j-spring-boot'
|
|
implementation 'org.projectlombok:lombok'
|
|
implementation 'commons-fileupload:commons-fileupload:1.5'
|
|
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:10.1.5'
|
|
|
|
compileOnly 'org.projectlombok:lombok'
|
|
implementation 'org.mariadb.jdbc:mariadb-java-client:3.1.4'
|
|
annotationProcessor 'org.projectlombok:lombok'
|
|
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
|
|
|
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
|
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.3'
|
|
testImplementation 'org.hsqldb:hsqldb'
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
ospackage {
|
|
packageName = 'HIRS_AttestationCA'
|
|
os = LINUX
|
|
arch = NOARCH
|
|
version = "$packVersion"
|
|
release = '1'
|
|
|
|
user 'root'
|
|
fileMode = 0755
|
|
|
|
addParentDirs = true
|
|
createDirectoryEntry true
|
|
|
|
// copy json tables
|
|
into ('/etc/hirs/aca/default-properties') {
|
|
from '../HIRS_AttestationCA/src/main/resources/component-class.json'
|
|
from '../HIRS_AttestationCA/src/main/resources/vendor-table.json'
|
|
}
|
|
// copy springboot property file
|
|
into ('/etc/hirs/aca/') {
|
|
from '../HIRS_AttestationCAPortal/src/main/resources/application.properties'
|
|
}
|
|
// copy setup scripts to /opt/hirs/aca
|
|
into ('/opt/hirs/aca/scripts/') {
|
|
from '../package/scripts/'
|
|
}
|
|
// copy the war file into /opt/hirs/aca
|
|
into ('/opt/hirs/aca/') {
|
|
from '../HIRS_AttestationCAPortal/build/libs/HIRS_AttestationCAPortal.war'
|
|
user 'root'
|
|
fileMode = 0755
|
|
}
|
|
|
|
// Post Install
|
|
postInstall "echo ${jarVersion} > /opt/hirs/aca/VERSION"
|
|
postInstall 'bash /opt/hirs/aca/scripts/aca/aca_setup.sh -u'
|
|
// add chrontab to run ACA at boot
|
|
postInstall 'echo "@reboot root /opt/hirs/aca/scripts/aca/aca_bootRun.sh -w" >> /etc/crontab'
|
|
// run ACA after install
|
|
postInstall '/opt/hirs/aca/scripts/aca/aca_bootRun.sh -w &'
|
|
postInstall 'chmod +x /opt/hirs/aca/scripts/aca/*'
|
|
postInstall 'bash /opt/hirs/aca/scripts/aca/check_for_aca.sh'
|
|
|
|
// Uninstall
|
|
preUninstall 'bash /opt/hirs/aca/scripts/aca/aca_remove_setup.sh'
|
|
postUninstall 'rm -rf /etc/hirs'
|
|
|
|
buildRpm {
|
|
arch = X86_64
|
|
}
|
|
|
|
buildDeb {
|
|
packageName = 'hirs-attestationca'
|
|
arch = 'amd64'
|
|
}
|
|
}
|