You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bigtop.apache.org by co...@apache.org on 2016/01/27 22:12:47 UTC

bigtop git commit: BIGTOP-2278. Wrap separate maven release steps into convenient gradle task

Repository: bigtop
Updated Branches:
  refs/heads/master c4ed391a8 -> 649b4518b


BIGTOP-2278. Wrap separate maven release steps into convenient gradle task


Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/649b4518
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/649b4518
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/649b4518

Branch: refs/heads/master
Commit: 649b4518bcdba507c19575df5c7877c094854c37
Parents: c4ed391
Author: Konstantin Boudnik <co...@apache.org>
Authored: Sun Jan 24 12:01:06 2016 -0800
Committer: Konstantin Boudnik <co...@apache.org>
Committed: Wed Jan 27 13:12:33 2016 -0800

----------------------------------------------------------------------
 build.gradle   |  3 +++
 release.gradle | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bigtop/blob/649b4518/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index d17f98d..a1ff579 100644
--- a/build.gradle
+++ b/build.gradle
@@ -203,6 +203,9 @@ def DOCKERBUILD_GROUP = 'docker build'
 // All packaging logic is separated into its own build module
 apply from: 'packages.gradle'
 
+// Wrapping all release logic to simplify the release process
+apply from: 'release.gradle'
+
 task toolchain(type:Exec,
     description: 'Setup dev. env via toolchain; Requires: Puppet, sudo',
     group: DEVENV_GROUP) {

http://git-wip-us.apache.org/repos/asf/bigtop/blob/649b4518/release.gradle
----------------------------------------------------------------------
diff --git a/release.gradle b/release.gradle
new file mode 100644
index 0000000..7d1e5f5
--- /dev/null
+++ b/release.gradle
@@ -0,0 +1,70 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+apply plugin: 'groovy'
+
+def final mvnProfile="release"
+task dosite (type: Exec) << {
+  workingDir "."
+  commandLine 'mvn clean site'.split(" ")
+}
+
+task doassembly (type: Exec) << {
+  workingDir "."
+  commandLine 'mvn -P$mvnProfile package assembly:assembly'.split(" ")
+}
+
+task deployTop (type: Exec) << {
+  workingDir "."
+  commandLine 'mvn -P$mvnProfile deploy -f pom.xml'.split(" ")
+}
+task deployITest (type: Exec) << {
+  workingDir "."
+  commandLine 'mvn -P$mvnProfile deploy -f bigtop-test-framework/pom.xml'.split(" ")
+}
+task deployTestArtifacts (type: Exec) << {
+  workingDir "."
+  commandLine 'mvn -P$mvnProfile deploy -f bigtop-tests/test-artifacts/pom.xml'.split(" ")
+}
+task deployTestExecutors (type: Exec) << {
+  workingDir "."
+  commandLine 'mvn -P$mvnProfile deploy -f bigtop-tests/test-execution/pom.xml'.split(" ")
+}
+task deployAll (type: Exec,
+    dependsOn: [deployTestExecutors, deployTestArtifacts,
+                deployITest, deployTop]) << {
+  workingDir "."
+  commandLine 'mvn deploy -Prelease'.split(" ")
+}
+
+task dorelease(description: 'Convenient wrapper for existing release tasks',
+  dependsOn: [doassembly, dosite, deployAll]) << {
+}
+
+task setversion << {
+  assert project.hasProperty('nextversion')
+
+  FileTree fTree = fileTree(dir: projectDir, exclude: ['dl', 'build'],
+      include: ['**/pom.xml', '*.bom', 'build.gradle'])
+  fTree.each() { pomFile ->
+    println "Fixing $pomFile"
+    pomFile.write(pomFile.text.replaceAll(version, nextversion))
+  }
+  println "Done! Please inspect changes to make sure everything is in order."
+}
\ No newline at end of file