update to 'standard' environment
authorJan Matèrne <jhm@apache.org>
Fri, 6 Jun 2014 09:48:11 +0000 (11:48 +0200)
committerJan Matèrne <jhm@apache.org>
Fri, 6 Jun 2014 09:48:11 +0000 (11:48 +0200)
.gitignore [new file with mode: 0644]
ivy.xml [new file with mode: 0644]
prepare.xml [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..34d4c36
--- /dev/null
@@ -0,0 +1,23 @@
+*.el
+*.ipr
+*.iws
+*.pif
+.ant.properties
+.classpath
+.project
+.settings
+bin
+apache-ant-1.*
+bootstrap
+build
+dist
+distribution
+java-repository
+patch.tar.gz
+patch.txt
+target
+velocity.log*
+lib/optional/*.jar
+src/tests/antunit/core/output
+.idea
+*.iml
diff --git a/ivy.xml b/ivy.xml
new file mode 100644 (file)
index 0000000..3033b0c
--- /dev/null
+++ b/ivy.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+   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.
+
+-->
+<ivy-module version="2.0">
+  <info organisation="Apache Ant"
+        module="${artifact.name}"
+        revision="${artifact.version}"
+        publication="${artifact.publication.datetime}">
+    <license name="Apache Software License 2.0"
+             url="http://www.apache.org/licenses/LICENSE-2.0"/>
+    <ivyauthor name="Apache Ant Development Team"
+               url="http://ant.apache.org/"/>
+    <description homepage="http://ant.apache.org/antlibs/svn/">
+      This library provides Ant task(s) as wrapper(s) over the svn command
+      line utility.
+    </description>
+  </info>
+  <configurations>
+               <conf name="default" description="full antlib with all dependencies"/>
+               <conf name="test" description="dependencies used for junit testing the antlib" visibility="private" />
+  </configurations>
+  <publications xmlns:e="urn:ant.apache.org:ivy-extras">
+    <artifact name="${artifact.name}" type="pom" ext="pom"/>
+    <artifact name="${artifact.name}" type="pom.asc" ext="pom.asc"/>
+    <artifact name="${artifact.name}" type="jar" ext="jar"/>
+    <artifact name="${artifact.name}" type="jar.asc" ext="jar.asc"/>
+    <artifact name="${artifact.name}" type="source" ext="jar"
+              e:classifier="sources"/>
+    <artifact name="${artifact.name}" type="source.asc" ext="jar.asc"
+              e:classifier="sources"/>
+    <artifact name="${artifact.name}" type="javadoc" ext="jar"
+              e:classifier="javadoc"/>
+    <artifact name="${artifact.name}" type="javadoc.asc" ext="jar.asc"
+              e:classifier="javadoc"/>
+    <artifact name="${artifact.name}" type="ivy" ext="xml"
+              e:classifier="ivy"/>
+    <artifact name="${artifact.name}" type="ivy.asc" ext="xml.asc"
+              e:classifier="ivy"/>
+  </publications>
+  <dependencies> 
+    <dependency org="junit" name="junit" rev="4.11" conf="test->default"/>
+  </dependencies>
+</ivy-module>
diff --git a/prepare.xml b/prepare.xml
new file mode 100644 (file)
index 0000000..8d4d0cf
--- /dev/null
@@ -0,0 +1,93 @@
+<?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 AntLibs depend on the common build infrastructure supplied by the 
+antlibs-common project. In subversion these are included via svn:external
+directive. After migration to git there is need to have successor to that
+directive. Until we have that, we could do a 'manual' git-clone.
+
+The original of this snippet is maintained in the antlib-common project. 
+-->
+<project default="bootstrap" xmlns:unless="ant:unless" xmlns:if="ant:if">
+
+  <!-- AntLib-common Git-URL, so we could 'svn:external' that manually. -->
+  <property name="antlib.common.git" value="https://git-wip-us.apache.org/repos/asf/ant-antlibs-common.git"/>
+  <!-- Git executable -->
+  <property name="git" value="git"/>
+  
+  <!-- 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="http://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="common.present"  file="common" type="dir"/>
+  <available property="antunit.present" file="${antunit.file}"/>
+
+
+  <target name="clone-common" unless="common.present">
+    <echo message="cloning antlib-common"/>
+    <exec executable="${git}" taskname="git">
+      <arg value="clone"/>
+      <arg value="${antlib.common.git}"/>
+      <arg value="common"/>
+    </exec>
+  </target>
+
+  <target name="update-common" if="common.present">
+    <echo message="updating antlib-common"/>
+    <exec executable="${git}" dir="common" taskname="git">
+      <arg value="pull"/>
+    </exec>
+  </target>
+
+  <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="clone-common,update-common,update-prepare-script"
+          description="Bootstraps the preparation script by cloning the antlib-common and updating this script from there."
+  >
+    <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>
\ No newline at end of file