Left out build.gradle
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..735013e
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2012 the original author or authors.
+ *
+ * Licensed 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.
+ */
+
+ext {
+
+ // Target registry to be used to publish docker images needed for deployment
+ targetReg = project.hasProperty('targetReg') ? project.getProperty('targetReg') : 'localhost:5000'
+
+ // The tag used to tag the docker images push to the target registry
+ targetTag = project.hasProperty('targetTag') ? project.getProperty('targetTag') : 'candidate'
+
+}
+
+// ~~~~~~~~~~~~~~~~~ Example helper tasks ~~~~~~~~~~~~~~~~~~~~
+
+task buildFooImage(type: Exec) {
+ commandLine '/usr/bin/docker', 'build', '-t', "foo", "./foo"
+}
+
+task tagFooImage(type: Exec) {
+ commandLine '/usr/bin/docker', 'tag', 'foo', "$targetReg/foo:$targetTag"
+}
+
+task publishFooImage(type: Exec) {
+ dependsOn tagFooImage
+ commandLine '/usr/bin/docker', 'push', "$targetReg/foo:$targetTag"
+}
+
+task buildBarImage(type: Exec) {
+ commandLine '/usr/bin/docker', 'build', '-t', "bar", "./bar"
+}
+
+task tagBarImage(type: Exec) {
+ commandLine '/usr/bin/docker', 'tag', 'bar', "$targetReg/bar:$targetTag"
+}
+
+task publishBarImage(type: Exec) {
+ dependsOn tagBarImage
+ commandLine '/usr/bin/docker', 'tag', 'bar', "$targetReg/bar:$targetTag"
+}
+
+// ~~~~~~~~~~~~~~~~~~~ Global tasks ~~~~~~~~~~~~~~~~~~~~~~~
+
+// To be used to fetch upstream binaries, clone repos, etc.
+task fetch(type: Exec) {
+ // this is where we fetch upstream artifacts that we do not need internet for the build phase"
+ // Placeholdr example:
+ commandLine "/usr/bin/docker", "pull", "golang:alpine"
+}
+
+// To be used to generate all needed binaries that need to be present on the target
+// as docker images in the local docker runner.
+task buildImages {
+ dependsOn buildFooImage
+ dependsOn buildBarImage
+ println "This is where we build the docker images for MAAS"
+}
+
+task publish {
+ // this is where we publish the properly tagged image into the target registry
+ dependsOn publishFooImage
+ dependsOn publishBarImage
+}