]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Update build
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 15 Nov 2007 16:40:35 +0000 (16:40 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 15 Nov 2007 16:40:35 +0000 (16:40 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@709 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc/build.xml
org.argeo.slc/src/main/config/include/ant/slc-factory-macrodefs.xml
org.argeo.slc/src/main/config/include/ant/slc-factory-targets.xml
org.argeo.slc/src/main/config/slc.bat [new file with mode: 0644]

index 02e5f12200bf674e25a8c19e4409d714ea0eb48b..3942c78a58fb6b207e3ffad32fcfb8ca2b3d5277 100644 (file)
@@ -1,4 +1,4 @@
-<project default="all">\r
+<project default="basePackage">\r
        <property name="package.version" value="0.3.3" />\r
        <property name="package.prefix" value="argeo-slc" />\r
 \r
index 47180a9c863fd40c53e23a2ed8e2ea5d3fb04851..feccf8b52847aa1d5543581db51a5c57f00b9083 100644 (file)
@@ -1,3 +1,8 @@
+<!--\r
+$HeadURL:$\r
+$Revision:$\r
+$LastChangedDate:$\r
+-->\r
 <project>\r
        <macrodef name="compile">\r
                <attribute name="srcdir" />\r
                        </jar>\r
                </sequential>\r
        </macrodef>\r
+       \r
+       <macrodef name="createSourcesJar">\r
+               <attribute name="srcdir" />\r
+               <attribute name="artifact" />\r
+               <sequential>\r
+                       <jar destfile="${dist.lib-src}/@{artifact}-sources.jar">\r
+                               <zipfileset dir="@{srcdir}">\r
+                                       <include name="**/*" />\r
+                               </zipfileset>\r
+                               <manifest>\r
+                                       <attribute name="Specification-Title"\r
+                                               value="${package.prefix} Sources" />\r
+                                       <attribute name="Specification-Version"\r
+                                               value="${package.version}" />\r
+                                       <attribute name="Implementation-Title"\r
+                                               value="@{artifact} Sources" />\r
+                                       <attribute name="Implementation-Version"\r
+                                               value="${package.releaseId}" />\r
+                               </manifest>\r
+                       </jar>\r
+               </sequential>\r
+       </macrodef>\r
 \r
        <macrodef name="api">\r
                <attribute name="srcdir" />\r
index ade9f61591912c91eae3e0019e9f0e886dfa3505..7aa9930b850460097a245d3f949e10747be528c6 100644 (file)
@@ -1,3 +1,8 @@
+<!--\r
+$HeadURL:$\r
+$Revision:$\r
+$LastChangedDate:$\r
+-->\r
 <project default="all">\r
        <!-- TO BE OVERRIDDEN -->\r
        <property name="package.type" value="I" />\r
@@ -6,6 +11,7 @@
 \r
        <property name="main.srcdir" location="src/main/java" />\r
        <property name="main.libdir" location="lib" />\r
+       <property name="main.libdir-src" location="lib-src" />\r
        <property name="test.srcdir" location="src/test/java" />\r
 \r
        <property name="package.base" location="target/package/" />\r
        <property name="dist.base" location="target/dist/" />\r
        <property name="dist.doc" location="${dist.base}/doc" />\r
        <property name="dist.lib" location="${dist.base}/lib" />\r
+       <property name="dist.lib-src" location="${dist.base}/lib-src" />\r
+       <property name="dist.build" location="${dist.base}/build" />\r
+       <property name="dist.junit" location="${dist.build}/junit" />\r
+       <property name="dist.appli" location="${dist.base}/appli" />\r
 \r
        <property name="dist.jar" location="target/jar" />\r
 \r
        <property name="compile.base" location="target/compile" />\r
+       <property name="slc.base" location="target/slc" />\r
 \r
        <path id="cp.main">\r
                <fileset dir="${main.libdir}">\r
                <echo message="Build of ${package.name} completed" />\r
        </target>\r
 \r
+       <target name="basePackage" depends="dist.basePackage">\r
+               <echo message="Build of ${package.name} completed" />\r
+       </target>\r
+\r
        <target name="clean">\r
                <delete dir="${dist.jar}" />\r
+               <delete dir="${slc.base}" />\r
                <delete dir="${dist.base}" />\r
                <delete dir="${package.base}" />\r
                <delete dir="${compile.base}" />\r
@@ -49,7 +65,7 @@
                <!-- To be overriden -->\r
        </target>\r
 \r
-       <target name="initInternal">\r
+       <target name="init.internal">\r
                <fail unless="package.version"\r
                      message="Property 'package.version' must be set" />\r
                <fail unless="package.prefix"\r
 \r
                <property name="package.name"\r
                          value="${package.prefix}-${package.releaseId}" />\r
+               <property name="basePackage.name" value="${package.prefix}-base" />\r
 \r
                <mkdir dir="${dist.jar}" />\r
+               <mkdir dir="${slc.base}" />\r
                <mkdir dir="${dist.base}" />\r
+               <mkdir dir="${dist.lib-src}" />\r
                <mkdir dir="${package.base}" />\r
                <mkdir dir="${compile.base}" />\r
 \r
                <echo message="Build of ${package.name} started." />\r
        </target>\r
 \r
-       <target name="build.main" depends="initInternal,init">\r
+       <target name="init.slcbase" if="slc.basePackage">\r
+               <unzip dest="${slc.base}" src="${slc.basePackage}" />\r
+\r
+               <copy todir="${dist.base}">\r
+                       <fileset dir="${slc.base}">\r
+                               <include name="doc/argeo-slc/**" />\r
+                               <include name="bin/*" />\r
+                               <include name="slc.*" />\r
+                       </fileset>\r
+               </copy>\r
+\r
+               <copy todir="${main.libdir}">\r
+                       <fileset dir="${slc.base}/lib">\r
+                               <include name="*" />\r
+                       </fileset>\r
+               </copy>\r
+               <copy todir="${main.libdir-src}">\r
+                       <fileset dir="${slc.base}/lib-src">\r
+                               <include name="*" />\r
+                       </fileset>\r
+               </copy>\r
+       </target>\r
+\r
+       <target name="build.main" depends="init.internal,init.slcbase,init">\r
                <compile artifact="${main.artifact}" srcdir="${main.srcdir}" />\r
        </target>\r
 \r
                <createJar artifact="${main.artifact}" srcdir="${main.srcdir}" />\r
        </target>\r
 \r
-       <target name="jar.test" depends="jar.main">\r
+       <target name="jar.sources" unless="flag.noSources">\r
+               <createSourcesJar artifact="${main.artifact}" srcdir="${main.srcdir}" />\r
+       </target>\r
+\r
+       <target name="jar.test" depends="jar.main,jar.sources">\r
                <createJar artifact="${test.artifact}" srcdir="${test.srcdir}" />\r
        </target>\r
 \r
        <target name="dist.unittest" depends="jar.test">\r
+               <mkdir dir="${dist.junit}/xml" />\r
+               <junit printsummary="yes" haltonfailure="no">\r
+                       <classpath>\r
+                               <path refid="cp.test" />\r
+                               <path location="${dist.jar}/${test.artifact}.jar" />\r
+                       </classpath>\r
+\r
+                       <formatter type="xml" />\r
+\r
+                       <batchtest fork="yes" todir="${dist.junit}/xml">\r
+                               <fileset dir="${test.srcdir}">\r
+                                       <include name="**/*Test*.java" />\r
+                                       <exclude name="**/Abstract*.java" />\r
+                               </fileset>\r
+                       </batchtest>\r
+               </junit>\r
+\r
+               <junitreport todir="${dist.junit}">\r
+                       <fileset dir="${dist.junit}/xml">\r
+                               <include name="*.xml" />\r
+                       </fileset>\r
+                       <report format="frames" todir="${dist.junit}" />\r
+               </junitreport>\r
        </target>\r
 \r
-       <target name="dist.package" depends="dist.unittest,dist.api,dist.dependencies">\r
+       <target name="package.common"\r
+               depends="dist.unittest,dist.api,dist.apiWithSlc,dist.dependencies,dist.appli">\r
+       </target>\r
+\r
+       <target name="dist.package" depends="package.common">\r
                <copy todir="${dist.base}">\r
                        <fileset dir="src/main/config" includes="**/*" />\r
                </copy>\r
                </copy>\r
 \r
                <zip destfile="${package.base}/${package.name}.zip">\r
-                       <zipfileset dir="${dist.base}" prefix="${package.prefix}-${package.version}">\r
+                       <zipfileset dir="${dist.base}"\r
+                                   prefix="${package.prefix}-${package.version}">\r
+                               <include name="**/*" />\r
+                       </zipfileset>\r
+               </zip>\r
+       </target>\r
+\r
+       <target name="dist.basePackage" depends="package.common">\r
+               <copy todir="${dist.base}">\r
+                       <fileset dir="src/main/config" includes="**/*" />\r
+               </copy>\r
+               <copy todir="${dist.lib}">\r
+                       <fileset dir="${dist.jar}" includes="*.jar" excludes="*-test.jar" />\r
+               </copy>\r
+\r
+               <zip destfile="${package.base}/${basePackage.name}.zip">\r
+                       <zipfileset dir="${dist.base}">\r
+                               <exclude name="build/**" />\r
                                <include name="**/*" />\r
                        </zipfileset>\r
                </zip>\r
 \r
        </target>\r
 \r
-       <target name="dist.api">\r
+       <target name="dist.appli" if="appli.base">\r
+               <copy todir="${dist.appli}">\r
+                       <fileset dir="${appli.base}" includes="**" />\r
+               </copy>\r
+\r
+       </target>\r
+\r
+       <target name="dist.api" unless="slc.basePackage">\r
+               <api artifact="${main.artifact}" srcdir="${main.srcdir}" />\r
+\r
+       </target>\r
+\r
+       <target name="dist.apiWithSlc" if="slc.basePackage">\r
                <api artifact="${main.artifact}" srcdir="${main.srcdir}">\r
+                       <links>\r
+                               <link href="../../argeo-slc/api" />
+                       </links>\r
                </api>\r
+\r
        </target>\r
 </project>
\ No newline at end of file
diff --git a/org.argeo.slc/src/main/config/slc.bat b/org.argeo.slc/src/main/config/slc.bat
new file mode 100644 (file)
index 0000000..26285cb
--- /dev/null
@@ -0,0 +1 @@
+bin\ant %1 %2
\ No newline at end of file