You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ab...@apache.org on 2016/01/14 22:25:31 UTC

[1/3] incubator-geode git commit: GEODE-775: Generate md5 / sha-256 hashes for the distributions

Repository: incubator-geode
Updated Branches:
  refs/heads/develop 77c409c61 -> 2d815d87f


GEODE-775: Generate md5 / sha-256 hashes for the distributions

The binary and source distributions created by the build need
accompanying hash files to verification.  This change uses the
doList hook to generate the hashes after the distribution is
created.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/c158fa55
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/c158fa55
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/c158fa55

Branch: refs/heads/develop
Commit: c158fa55045a5915ede74e717b7b5c920e3ca6eb
Parents: 77c409c
Author: Anthony Baker <ab...@apache.org>
Authored: Tue Jan 12 07:41:35 2016 -0800
Committer: Anthony Baker <ab...@apache.org>
Committed: Thu Jan 14 13:19:01 2016 -0800

----------------------------------------------------------------------
 gemfire-assembly/build.gradle | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/c158fa55/gemfire-assembly/build.gradle
----------------------------------------------------------------------
diff --git a/gemfire-assembly/build.gradle b/gemfire-assembly/build.gradle
index 3737002..d215742 100755
--- a/gemfire-assembly/build.gradle
+++ b/gemfire-assembly/build.gradle
@@ -177,6 +177,17 @@ task gfshDepsJar (type: Jar, dependsOn: ':gemfire-core:classes') {
   }
 }
 
+gradle.taskGraph.whenReady( { graph ->
+  tasks.withType(AbstractArchiveTask).findAll {
+    it.name.toLowerCase().contains("dist")
+  }.each { archive ->
+    archive.doLast {
+      ant.checksum file:"${archive.archivePath}", algorithm:"md5"
+      ant.checksum file:"${archive.archivePath}", algorithm:"sha-256"
+    }
+  }
+})
+
 distributions {
   src {
     baseName = 'apache-geode-src'


[2/3] incubator-geode git commit: GEODE-775: Add build support to easily sign release files

Posted by ab...@apache.org.
GEODE-775: Add build support to easily sign release files

Use the gradle signing plugin to sign jar artifacts and distributions.
This is only done for release versions (-SNAPSHOT).  Exclude KEYS and
signatures from the distributions.  Requires a user gradle file with
the following properties:

    signing.keyId=
    signing.password=
    signing.secretKeyRingFile=


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/399ce5de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/399ce5de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/399ce5de

Branch: refs/heads/develop
Commit: 399ce5decff6b88d3cb841552d2107b998e03ffa
Parents: c158fa5
Author: Anthony Baker <ab...@apache.org>
Authored: Tue Jan 12 08:42:06 2016 -0800
Committer: Anthony Baker <ab...@apache.org>
Committed: Thu Jan 14 13:21:40 2016 -0800

----------------------------------------------------------------------
 build.gradle                  | 13 +++++++++++++
 gemfire-assembly/build.gradle | 20 ++++++++++++++++++--
 2 files changed, 31 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/399ce5de/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 13b2f33..352594e 100755
--- a/build.gradle
+++ b/build.gradle
@@ -37,6 +37,8 @@ dependencyVersions.keys().each{ k -> project.ext[k] = dependencyVersions[k]}
 
 allprojects {
   version = versionNumber + '-' + releaseType
+  ext.isReleaseVersion = !version.endsWith("SNAPSHOT")
+
   // We want to see all test results.  This is equivalatent to setting --continue
   // on the command line.
   gradle.startParameter.continueOnFailure = true
@@ -108,6 +110,17 @@ gradle.taskGraph.whenReady({ graph ->
 
 subprojects {
   apply plugin: 'java'
+  apply plugin: 'signing'
+
+  // set these properties in ~/.gradle/gradle.properties file: 
+  // signing.keyId
+  // signing.password
+  // signing.secretKeyRingFile
+  if (isReleaseVersion) {
+    signing {
+      sign configurations.archives
+    }
+  }
 
   // apply compiler options
   gradle.taskGraph.whenReady( { graph ->

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/399ce5de/gemfire-assembly/build.gradle
----------------------------------------------------------------------
diff --git a/gemfire-assembly/build.gradle b/gemfire-assembly/build.gradle
index d215742..a3f26a9 100755
--- a/gemfire-assembly/build.gradle
+++ b/gemfire-assembly/build.gradle
@@ -14,6 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import org.gradle.api.internal.artifacts.publish.ArchivePublishArtifact;
 
 buildscript {
     repositories {
@@ -30,11 +31,17 @@ apply plugin: 'maven-publish-auth'
 
 jar.enabled = false
 
-
 configurations {
   archives
 }
 
+// gradle doesn't automatically remove the jar artifact even though we disabled it
+// this causes the signing plugin to fail
+configurations.all {
+  artifacts.removeAll artifacts.findAll { it instanceof ArchivePublishArtifact && !it.archiveTask.enabled }
+}
+
+
 dependencies {
   provided project(':gemfire-core')
   
@@ -184,6 +191,13 @@ gradle.taskGraph.whenReady( { graph ->
     archive.doLast {
       ant.checksum file:"${archive.archivePath}", algorithm:"md5"
       ant.checksum file:"${archive.archivePath}", algorithm:"sha-256"
+
+      if (isReleaseVersion) {      
+        signing {
+          required { isReleaseVersion }
+          sign archive.archivePath
+        }
+      }
     }
   }
 })
@@ -193,6 +207,7 @@ distributions {
     baseName = 'apache-geode-src'
     contents {
       from (rootDir) {
+        exclude 'KEYS'
         exclude 'gradlew'
         exclude 'gradlew.bat'
         exclude 'gradle/wrapper/gradle-wrapper.jar'
@@ -216,6 +231,7 @@ distributions {
     baseName = 'apache-geode' //TODO rootProject.name
     contents {
       duplicatesStrategy 'exclude'
+      exclude '*.asc'
       
       exclude '*.asc'
       exclude '*-sources.jar'
@@ -327,7 +343,7 @@ afterEvaluate {
   // the ones defined in root ASF pom
   publishing {
     repositories {
-      if (project.version.endsWith('-SNAPSHOT')) {
+      if (!isReleaseVersion) {
         // Apache Development Snapshot Repository
         maven {
           name "apache.snapshots.https"


[3/3] incubator-geode git commit: GEODE-776: Add KEYS file containing code signing keys for releases

Posted by ab...@apache.org.
GEODE-776: Add KEYS file containing code signing keys for releases


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/2d815d87
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/2d815d87
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/2d815d87

Branch: refs/heads/develop
Commit: 2d815d87f3c205c152156994cbffe37bc6c0936f
Parents: 399ce5d
Author: Anthony Baker <ab...@apache.org>
Authored: Tue Jan 12 13:29:02 2016 -0800
Committer: Anthony Baker <ab...@apache.org>
Committed: Thu Jan 14 13:22:11 2016 -0800

----------------------------------------------------------------------
 KEYS | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 236 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2d815d87/KEYS
----------------------------------------------------------------------
diff --git a/KEYS b/KEYS
new file mode 100644
index 0000000..9d13f70
--- /dev/null
+++ b/KEYS
@@ -0,0 +1,236 @@
+This file contains the PGP keys of various developers.
+
+Users: pgp < KEYS
+       gpg --import KEYS
+Developers: 
+        pgp -kxa <your name> and append it to this file.
+        (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+        (gpg --list-sigs <your name>
+             && gpg --armor --export <your name>) >> this file.
+
+pub   1024D/9475BD5D 2010-10-08
+uid                  Roman V Shaposhnik (CODE SIGNING KEY) <rv...@apache.org>
+sig 3        9475BD5D 2011-11-01  Roman V Shaposhnik (CODE SIGNING KEY) <rv...@apache.org>
+uid                  Roman V Shaposhnik <rv...@apache.org>
+sig 3        9475BD5D 2011-11-01  Roman V Shaposhnik (CODE SIGNING KEY) <rv...@apache.org>
+uid                  Roman V Shaposhnik <ro...@shaposhnik.org>
+sig 3        9475BD5D 2010-10-08  Roman V Shaposhnik (CODE SIGNING KEY) <rv...@apache.org>
+sig          61A073E9 2010-10-28  [User ID not found]
+sub   2048g/DD0FB547 2010-10-08
+sig          9475BD5D 2010-10-08  Roman V Shaposhnik (CODE SIGNING KEY) <rv...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+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
+yMSU5BkirXWZDazip1CeMuY=
+=jokp
+
+
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub  4096R/C72CFB64 2015-10-01            
+	 Fingerprint=948E 8234 14BE 693A 7F74  ABBE 19DB CAEE C72C FB64 
+
+uid Anthony Baker <ab...@apache.org>
+sig  sig3  C72CFB64 2015-10-01 __________ 2019-10-01 [selfsig]
+sig  sig3  8B6CF8DD 2015-10-09 2019-10-09 __________ Anthony Baker <ab...@pivotal.io>
+sig  sig3  5AE83723 2015-10-09 2019-10-09 __________ William Markito Oliveira <ma...@apache.org>
+
+sub  4096R/872FE71E 2015-10-01            
+sig sbind  C72CFB64 2015-10-01 __________ 2019-10-01 []
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: SKS 1.1.3
+
+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
+8Uow+sc8jl2OC1j5NZLEB8QQY7K3myI=
+=1p7v
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub   rsa2048/456B8A09 2016-01-12
+uid         [ultimate] Nitin Lamba (CODE SIGNING KEY) <ni...@ampool.io>
+sub   rsa2048/F6891D30 2016-01-12
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+mQENBFaVRnMBCADPrMJBXXWLflywdgBR6EYnSU704zDa1M92snHBhs6ensz7SnMQ
+wR4XaWovs9HTMtDkBUkG/y6yHHI9OG/rzDkR/KzmtwxOvpbtgIQDE/w+r4brR95Q
+pBZ7j5Mw+ylyUKRLsF/pX7tupOpR82U69JQ6G2yRn2XVjcVQ+TVm6gzB1Iq6pbfH
+/RE7QhpdzheEoOI+Ufat6UNQkY4CDcjh4CozMWCB1Zl9+g2oXPU6C4kB4KGIOwhB
+HVwYJO4KFkm84rDqw3Yv6A3/xFBfYjBVBF0iERx1S2DBZTTp92agYnqM6Yw1xwsa
+iYK5Xo7p3VrhAFMjkS/j23Myrl4lPotKSRArABEBAAG0ME5pdGluIExhbWJhIChD
+T0RFIFNJR05JTkcgS0VZKSA8bml0aW5AYW1wb29sLmlvPokBNwQTAQoAIQUCVpVG
+cwIbAwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBlCFWCRWuKCWccB/9t0lAA
+sVOzkvx5ukDqgvRpiq42Xy77u6Wat6ICqsZmgkIpGQ4SZv3DsU+GC+cYTM5FiZco
+mXFvAZL0Frz2W4jfT3h/1f3ukjqf+KX8rNpGgBL0FZ9KYEFiUSc8+iFZjvcYFGaD
+Ymal38+WzrZcdt4kK0mba2Udtu4i48CizX+CoBg0YYJaFKg1Jy/AXdpJT3eHSbru
+1F6SflOs5tkr9y94WnG5hvb5CQmYqvjbyiLotp3vxvD9czTSeg+1GR0/6ZvQaGxP
+sKnbJrkME47LhJoB8lJS5k5R8RiGcNWRyDr/u4OOAkDKtmW6ihxsY+3NQ13bi8+6
+0SE6YY88g4d3vwEquQENBFaVRnMBCAC2osXaufdp9PulEaVaZ0Qc/RimnY3xKw45
+7Md3BWH/ViIGWR2D5NWsiwiTqE6V3bjCy2A/oTlsa+0X1cE3aXikk6hNdOprZQpS
+ITzmZ7ScWeyB9Sn0g3wI2w/ynrqevqUF8WqUyQ/le9bq9wYmMgCoyrIy4V+7rgKL
+pgtNqaUhd9hRTToJ68IMxmmyIMtLwmrLJt8l5cGrVTBB1tccVKRWbeZgTe3YsesA
+9rSIZPm0qzoMvcPj5iR2VSqLtdpp1PA48ZYPSuvRapl4/Ipk3WK3TVywfdp6kZF4
+0TnuS+0pNZ3TIi2eMOrp8U5ztMUZtAkx7AYYToGUczE1US+ieIP5ABEBAAGJAR8E
+GAEKAAkFAlaVRnMCGwwACgkQZQhVgkVrigkA5Qf+P5AsgHookRYBDYuud1Wyfm1M
+lsf3AUIfLq7pB5mF72yuK79jCAfOQR4FlmM75oswFbPtRcy5+dRm5/cFXPGsnCb9
+BbnHvAOMOREvRzmxwjkoV2KfSik71q7M7YC7GLErM/up1/wdhvzwhdNfacE6am/g
+ee2pf/GwYYqtCQZya20eyuEWnD+gZWEo6vpBwTxVkjJ+SW9mW58SopN7OqX02Ciz
+shSSlzzAmNUUrnbepXrAM3claSldiV0HRDc1lvIqgK+8AWsN5RTAN3j+kLB3ZXas
+02E85NJfruSVQdfsF/70ETCQW4Q25w1a6s8TkNOuAyLkgvbfnsg9X9q2Difj9g==
+=+T/b
+-----END PGP PUBLIC KEY BLOCK——
+
+pub   4096R/A17B74E4 2016-01-12 [expires: 2020-01-11]
+uid       [ultimate] Mark Bretl (ASF) <mb...@apache.org>
+sub   4096R/10AB2063 2016-01-12 [expires: 2020-01-11]
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2
+
+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
+KnUrsgPcFqltB5lYS0vJ3g==
+=323X
+-----END PGP PUBLIC KEY BLOCK-----
\ No newline at end of file