Add mk libraries

Change-Id: I829b299b6329e8f4d4424c89717d432513d1eece
diff --git a/src/com/mirantis/mk/docker.groovy b/src/com/mirantis/mk/docker.groovy
new file mode 100644
index 0000000..5ea83ee
--- /dev/null
+++ b/src/com/mirantis/mk/docker.groovy
@@ -0,0 +1,31 @@
+package com.mirantis.mk
+
+/**
+ *
+ * Docker functions
+ *
+ */
+
+/**
+ * Build step to build docker image. For use with eg. parallel
+ *
+ * @param img           Image name
+ * @param baseImg       Base image to use (can be empty)
+ * @param dockerFile    Dockerfile to use
+ * @param timestamp     Image tag
+ */
+def buildDockerImageStep(img, baseImg, dockerFile, timestamp) {
+    File df = new File(dockerfile);
+    return {
+        if (baseImg) {
+            sh "git checkout -f ${dockerfile}; sed -i -e 's,^FROM.*,FROM ${baseImg},g' ${dockerFile}"
+        }
+        docker.build(
+            "${img}:${timestamp}",
+            [
+                "-f ${dockerFile}",
+                df.getParent()
+            ].join(' ')
+        )
+    }
+}