From e84a67b1758e9ad3d690996948105b3bf1231974 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Thu, 9 Jun 2016 14:31:55 -0700 Subject: [PATCH 1/4] update gradle to 2.13 --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 53637 -> 53638 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++-- gradlew.bat | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 615a9a4f..86e613df 100644 --- a/build.gradle +++ b/build.gradle @@ -52,5 +52,5 @@ distShadowTar.mustRunAfter distTar assemble.dependsOn distShadowZip,distShadowTar task wrapper(type: Wrapper) { - gradleVersion = '2.11' + gradleVersion = '2.13' } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 05ef575b0cd0173fc735f2857ce4bd594ce4f6bd..5ccda13e9cb94678ba179b32452cf3d60dc36353 100644 GIT binary patch delta 2619 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
    Date: Thu, 9 Jun 2016 12:28:11 -0700 Subject: [PATCH 2/4] use nebula.ospackage to build rpm/deb --- build.gradle | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 86e613df..11413228 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,8 @@ - plugins { id 'pl.allegro.tech.build.axion-release' version '1.3.4' id 'groovy' id 'com.github.johnrengelman.shadow' version '1.2.3' + id "nebula.ospackage" version "3.6.1" } scmVersion { @@ -20,9 +20,11 @@ apply plugin: 'idea' apply plugin: 'groovy' apply plugin: 'application' apply plugin: 'com.github.johnrengelman.shadow' +apply plugin: 'nebula.ospackage' mainClassName = 'org.rundeck.client.tool.App' applicationName = 'rd' +ext.distInstallPath = '/var/lib/rundeck/cli' defaultTasks 'clean', 'build' repositories { @@ -36,11 +38,10 @@ dependencies { compile 'com.squareup.retrofit2:converter-simplexml:2.0.2' compile 'com.squareup.okhttp3:logging-interceptor:3.0.1' compile 'com.squareup.okhttp3:okhttp-urlconnection:3.0.1' -// compile 'com.lexicalscope.jewelcli:jewelcli:0.8.9' compile project(':toolbelt') compile project(':toolbelt-jewelcli') - testCompile group: 'junit', name:'junit', version: '4.12' + testCompile group: 'junit', name: 'junit', version: '4.12' testCompile group: 'org.mockito', name: 'mockito-core', version: '1.10.19' testCompile "org.codehaus.groovy:groovy-all:2.3.7" testCompile "org.spockframework:spock-core:0.7-groovy-2.0" @@ -49,7 +50,35 @@ dependencies { //force distZip/distTar artifacts to be overwritten by shadow versions distShadowZip.mustRunAfter distZip distShadowTar.mustRunAfter distTar -assemble.dependsOn distShadowZip,distShadowTar +//assemble.dependsOn distShadowZip, distShadowTar +//ospackage_application { +// prefix = '/opt/rundeck/cli' +//} +def pkgVersion = { + project.version.replaceAll('-', '.') +} +ospackage { + version = pkgVersion() + release = 1 + summary = "A commandline tool for Rundeck." + packageDescription = "The rd program provides an all-in-one commandline tool to interact with Rundeck" + url = 'https://github.com/rundeck/rundeck-cli' + vendor = 'SimplifyOps, Inc.' + license = 'APL' + os = 'LINUX' + packageGroup = 'System' + user = 'root' + from { + zipTree(distShadowZip.outputs.files.singleFile) + } + into distInstallPath + def archivedir=distShadowZip.archiveName - ".${distShadowZip.extension}" + link("/usr/bin/${applicationName}", "${distInstallPath}/${archivedir}/bin/${applicationName}") +} +buildDeb.dependsOn distShadowZip +buildRpm.dependsOn distShadowZip + +assemble.dependsOn buildRpm, buildDeb task wrapper(type: Wrapper) { gradleVersion = '2.13' From 5f2673ef7e928b1c760a4735fe8b9d284edaea25 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Thu, 9 Jun 2016 14:34:58 -0700 Subject: [PATCH 3/4] add rpm,deb to travis deploy --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 176e874f..a0806b4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,8 @@ deploy: - 'build/distributions/rd-*.zip' - 'build/distributions/rd-*.tar' - 'build/libs/rundeck-cli-*-all.jar' + - 'build/distributesion/rundeck-cli*.rpm' + - 'build/distributesion/rundeck-cli*.deb' on: repo: rundeck/rundeck-cli tags: true From 4cac5ee18fcd1df7638852a094a853292853eef4 Mon Sep 17 00:00:00 2001 From: Greg Schueler Date: Thu, 9 Jun 2016 14:43:15 -0700 Subject: [PATCH 4/4] cleanup, remove .bat from rpm/deb --- build.gradle | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 11413228..0d0e95b4 100644 --- a/build.gradle +++ b/build.gradle @@ -50,13 +50,17 @@ dependencies { //force distZip/distTar artifacts to be overwritten by shadow versions distShadowZip.mustRunAfter distZip distShadowTar.mustRunAfter distTar -//assemble.dependsOn distShadowZip, distShadowTar -//ospackage_application { -// prefix = '/opt/rundeck/cli' -//} + +/** + * remove illegal chars for snapshot rpm build + */ def pkgVersion = { project.version.replaceAll('-', '.') } + +/** + * Define rpm/deb details + */ ospackage { version = pkgVersion() release = 1 @@ -68,13 +72,21 @@ ospackage { os = 'LINUX' packageGroup = 'System' user = 'root' - from { - zipTree(distShadowZip.outputs.files.singleFile) + + //packaging includes the distShadowZip contents, exclude *.bat + from(zipTree(distShadowZip.outputs.files.singleFile)) { + exclude '**/*.bat' + into distInstallPath } - into distInstallPath + def archivedir=distShadowZip.archiveName - ".${distShadowZip.extension}" + + //symlink /usr/bin/rd to the rd script link("/usr/bin/${applicationName}", "${distInstallPath}/${archivedir}/bin/${applicationName}") } + + +//depend on the shadow artifact buildDeb.dependsOn distShadowZip buildRpm.dependsOn distShadowZip