diff --git a/prepare.xml b/prepare.xml
new file mode 100644
index 0000000..b3a64f4
--- /dev/null
+++ b/prepare.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+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.
+-->
+
+<!--
+Interim build-snippet.
+
+The original of this snippet is maintained in the antlib-common project. 
+-->
+<project default="bootstrap" xmlns:unless="ant:unless" xmlns:if="ant:if">
+
+  <!-- Which released version of AntUnit to use, where to download, where to store. -->
+  <property name="antunit.version" value="1.3"/>
+  <property name="antunit.url" value="https://repo1.maven.org/maven2/org/apache/ant/ant-antunit/${antunit.version}/ant-antunit-${antunit.version}.jar"/>
+  <property name="antunit.file" value="ant-antunit.jar"/>
+
+  <!-- Skip unnecessary tasks. -->
+  <available property="antunit.present" file="${antunit.file}"/>
+
+  <target name="update-prepare-script">
+    <echo>updating prepare.xml</echo>
+    <copy file="common/prepare.xml" tofile="prepare.xml"/>
+  </target>
+
+  <target name="get-antunit" unless="antunit.present">
+    <echo>updating AntUnit</echo>
+    <get src="${antunit.url}" dest="${antunit.file}" usetimestamp="true"/>
+  </target>
+  
+  
+  <!-- Use a 'bootstrap-phase' so changes of the preparation could be catched in the same CI-cycle. -->
+  <target name="bootstrap" 
+          depends="update-prepare-script"
+          description="Bootstraps the preparation script by updating this script from common."
+  >
+    <echo>Bootstrap done. Next step:</echo> 
+    <echo>  ant -f prepare.xml prepare</echo>
+  </target>
+          
+  <target name="prepare" 
+          depends="get-antunit"
+          description="Prepare the build by 'preparing' the infrastructure"
+  >
+    <echo>Preparation done. Next steps:</echo>
+    <echo> ant clean distribution</echo>
+    <echo> ant -lib ${antunit.file} -lib build/lib test</echo>
+  </target>
+
+</project>
