HIRS/tools/tcg_eventlog_tool/build.gradle

126 lines
2.6 KiB
Groovy

apply plugin: 'java'
apply plugin: 'findbugs'
apply plugin: 'checkstyle'
apply plugin: 'nebula.ospackage'
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile project(':HIRS_Utils')
compile libs.jcommander
compile libs.commons_io
compile libs.log4j2
compileOnly libs.checkstyle
compileOnly libs.findbugs
testCompile libs.testng
}
ext.configDir = new File(projectDir, 'config')
ext.checkstyleConfigDir = "$configDir/checkstyle"
checkstyle {
toolVersion = '5.7'
configFile = checkstyleConfigFile
configProperties.put('basedir', checkstyleConfigDir)
ignoreFailures = false
showViolations = true
}
ext.findbugsConfigDir = "$configDir/findbugs"
findbugs {
toolVersion = '3.0.0'
ignoreFailures = false
effort = 'max'
}
jar {
manifest {
attributes("Main-Class": "hirs.tcg_eventlog.Main",
"Class-Path": configurations.runtime.files.collect { "lib/$it.name" }.join(' ')
)
}
from(configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }) {}
exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
}
uploadArchives {
repositories {
flatDir {
dirs "${buildDir}"
}
}
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.netflix.nebula:gradle-ospackage-plugin:4.9.3'
}
}
// Produce packages
ospackage {
packageName = 'tcg_eventlog_tool'
os = LINUX
arch = NOARCH
version = '2.1.0'
release = '1'
into '/opt/hirs/eventlog'
user 'root'
fileMode = 0755
from(jar.outputs.files) {
into 'lib'
}
from('lib') {
into 'lib'
}
from(configurations.runtime) {
into 'lib'
}
from('scripts') {
exclude {
FileTreeElement details ->
details.file.name.endsWith('.bat')
}
into 'scripts'
}
from('docs') {
exclude {
FileTreeElement details ->
details.file.name.endsWith('.odt')
}
into 'docs'
}
from('./') {
include {
FileTreeElement details ->
details.file.name.endsWith('.md')
}
into './'
link("/usr/local/bin/elt", "/opt/hirs/eventlog/scripts/eventlog.sh", 0x755)
}
into('/opt/hirs/default-properties/eventlogtool') {
fileMode 0664
from ('../../HIRS_Utils/src/main/resources/vendor-table.json') {
addParentDirs true
createDirectoryEntry true
}
}
buildRpm {
arch = I386
}
buildDeb {
arch = I386
}
}