sysmon/client/build.gradle

119 lines
3.6 KiB
Groovy
Raw Normal View History

import org.redline_rpm.header.Os
2021-04-25 13:25:20 +00:00
plugins {
id 'application'
2021-05-07 15:53:47 +00:00
id "net.nemerosa.versioning" version "2.15.1"
2023-01-04 13:44:42 +00:00
id "com.github.johnrengelman.shadow" version "7.1.2"
id "com.netflix.nebula.ospackage" version "10.0.0"
2021-04-25 13:25:20 +00:00
}
dependencies {
testImplementation project(':shared')
implementation project(':shared')
2021-05-01 12:44:55 +00:00
annotationProcessor(group: 'org.pf4j', name: 'pf4j', version: "${pf4jVersion}")
implementation group: 'org.pf4j', name: 'pf4j', version: "${pf4jVersion}"
2021-04-25 13:25:20 +00:00
2021-05-07 15:53:47 +00:00
annotationProcessor "info.picocli:picocli-codegen:${picocliVersion}"
implementation "info.picocli:picocli:${picocliVersion}"
implementation "org.tomlj:tomlj:${tomljVersion}"
2021-05-07 15:53:47 +00:00
runtimeOnly(group: 'com.github.oshi', name: 'oshi-core', version: oshiVersion) {
2021-05-28 13:52:33 +00:00
exclude(group: "org.slf4j")
}
2022-12-21 16:12:15 +00:00
//implementation "org.apache.groovy:groovy-all:${groovyVersion}" // From version 4.+
implementation "org.codehaus.groovy:groovy:${groovyVersion}"
implementation group: 'org.apache.camel', name: 'camel-core', version: camelVersion
implementation group: 'org.apache.camel', name: 'camel-main', version: camelVersion
implementation group: 'org.apache.camel', name: 'camel-http', version: camelVersion
implementation group: 'org.apache.camel', name: 'camel-jackson', version: camelVersion
implementation group: 'org.apache.camel', name: 'camel-bean', version: camelVersion
implementation group: 'org.apache.camel', name: 'camel-timer', version: camelVersion
implementation group: 'org.apache.camel', name: 'camel-stream', version: camelVersion
2021-04-25 13:25:20 +00:00
}
def projectName = "sysmon-client"
2021-04-25 13:25:20 +00:00
application {
// Define the main class for the application.
2021-05-21 09:08:43 +00:00
mainClass.set('sysmon.client.Application')
applicationDefaultJvmArgs = [ "-Xms64m", "-Xmx64m", "-XX:+ExitOnOutOfMemoryError", "-XX:+AlwaysPreTouch" ]
2021-05-01 12:44:55 +00:00
}
run {
systemProperty 'sysmon.pluginsDir', '../plugins/output/'
2021-09-10 10:15:33 +00:00
systemProperty 'sysmon.cfgFile', 'doc/sysmon-client.toml'
systemProperty 'sysmon.debug', '1'
2021-04-25 13:25:20 +00:00
}
tasks.named('test') {
// Use junit platform for unit tests.
useJUnitPlatform()
2021-05-07 15:53:47 +00:00
}
2021-05-24 20:47:40 +00:00
jar {
manifest {
attributes(
'Created-By' : "Gradle ${gradle.gradleVersion}",
'Build-OS' : "${System.properties['os.name']} ${System.properties['os.arch']} ${System.properties['os.version']}",
'Build-Jdk' : "${System.properties['java.version']} (${System.properties['java.vendor']} ${System.properties['java.vm.version']})",
'Build-User' : System.properties['user.name'],
'Build-Version' : versioning.info.tag ?: (versioning.info.branch + "-" + versioning.info.build),
'Build-Revision' : versioning.info.commit,
'Build-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ss.SSSZ").toString(),
)
}
}
shadowJar {
archiveBaseName.set(projectName)
archiveClassifier.set('')
archiveVersion.set('')
mergeServiceFiles() // Tell plugin to merge duplicate service files
}
2021-05-07 15:53:47 +00:00
ospackage {
packageName = projectName
2021-05-07 15:53:47 +00:00
release = '1'
user = 'root'
packager = "Mark Nellemann <mark.nellemann@gmail.com>"
into '/opt/sysmon/client'
2021-05-07 15:53:47 +00:00
from(shadowJar.outputs.files) {
into 'lib'
}
from('build/scriptsShadow') {
into 'bin'
}
from('doc/') {
into 'doc'
}
from(['README.md', 'LICENSE']) {
into 'doc'
}
}
buildDeb {
dependsOn startShadowScripts
}
2021-05-07 15:53:47 +00:00
buildRpm {
dependsOn startShadowScripts
os = Os.LINUX
2021-05-07 15:53:47 +00:00
}
task buildRpmAix(type: Rpm) {
2021-05-07 15:53:47 +00:00
dependsOn startShadowScripts
packageName = "${projectName}-AIX"
os = Os.AIX
2021-05-07 15:53:47 +00:00
}