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