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 compileOnly libs.checkstyle compileOnly libs.findbugs testCompile libs.testng } ext.configDir = new File(projectDir, 'config') ext.checkstyleConfigDir = "$configDir/checkstyle" checkstyle { toolVersion = '8.45.1' 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 { def gitCommitHash = 'git rev-parse --verify --short HEAD'.execute().text.trim() packageName = 'tcg_eventlog_tool' os = LINUX arch = X86_64 version = '2.1.0' release = gitCommitHash 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/bin/elt", "/opt/hirs/eventlog/scripts/eventlog.sh", 0x755) } into('/tmp/') { fileMode 0664 from ('../../HIRS_Utils/src/main/resources/vendor-table.json') { addParentDirs true createDirectoryEntry true } } postInstall file('scripts/vendor-table.sh') buildRpm { arch = X86_64 } buildDeb { arch = X86_64 } }