extensions/net.sf.basedb.relax/trunk/build.xml

Code
Comments
Other
Rev Date Author Line
4349 10 Feb 17 nicklas 1 <?xml version="1.0" encoding="UTF-8"?>
4349 10 Feb 17 nicklas 2 <project 
4349 10 Feb 17 nicklas 3   name="Relax" 
4349 10 Feb 17 nicklas 4   default="build" 
4349 10 Feb 17 nicklas 5   basedir=".">
4349 10 Feb 17 nicklas 6
4349 10 Feb 17 nicklas 7   <!--create this file if you need to override values from properties below -->
4349 10 Feb 17 nicklas 8   <property file="build.properties" />
4349 10 Feb 17 nicklas 9
4349 10 Feb 17 nicklas 10   <!-- variables used -->
4349 10 Feb 17 nicklas 11   <property name="name" value="relax" />
5979 24 Jun 20 nicklas 12   <property name="version" value="1.7-dev" />
4349 10 Feb 17 nicklas 13   <property name="src" location="src" description="Location of source files" />
4349 10 Feb 17 nicklas 14   <property name="build" location="build" description="Location of compiled files" />
4349 10 Feb 17 nicklas 15   <property name="dist" location="dist" description="Directory where distribution should be created" />
4349 10 Feb 17 nicklas 16   <property name="jar.name" value="${name}.jar" description="Name of JAR file with the extensions." />
4349 10 Feb 17 nicklas 17   <property name="tar.prefix" value="${name}-${version}" description="Prefix of .tar.gz file for download." />
4349 10 Feb 17 nicklas 18   <property name="tar.name" value="${tar.prefix}.tar.gz" description="Full name of .tar.gz file for download." />
4349 10 Feb 17 nicklas 19   <property name="javac.arg" value="-Xlint:unchecked" />
5507 18 Jun 19 nicklas 20   <property name="javac.release" value="11" />
4349 10 Feb 17 nicklas 21   <property name="javac.encoding" value="UTF-8" />
4349 10 Feb 17 nicklas 22   <property name="depend.base-version" 
6778 17 Jun 22 nicklas 23     value="3.19.0" 
4349 10 Feb 17 nicklas 24     description="The BASE version that this project depends on."
4349 10 Feb 17 nicklas 25   />
4349 10 Feb 17 nicklas 26   <property name="depend.jars" 
6300 11 Jun 21 nicklas 27     value="https://base.thep.lu.se/chrome/site/files/base/jars/${depend.base-version}" 
4349 10 Feb 17 nicklas 28     description="The location of the BASE core JARs that this project depends on."
4349 10 Feb 17 nicklas 29   />
4349 10 Feb 17 nicklas 30
4349 10 Feb 17 nicklas 31   <!-- set up classpath for compiling -->
4349 10 Feb 17 nicklas 32   <path id="classpath">
4349 10 Feb 17 nicklas 33     <fileset dir="lib">
4349 10 Feb 17 nicklas 34       <include name="**/*.jar" />
4349 10 Feb 17 nicklas 35     </fileset>
4349 10 Feb 17 nicklas 36   </path>
4349 10 Feb 17 nicklas 37
4349 10 Feb 17 nicklas 38   <target name="init">
4349 10 Feb 17 nicklas 39     <mkdir dir="${build}" />
4349 10 Feb 17 nicklas 40     <mkdir dir="${dist}" />
4349 10 Feb 17 nicklas 41   </target>
4349 10 Feb 17 nicklas 42     
4349 10 Feb 17 nicklas 43   <target name="clean">
4349 10 Feb 17 nicklas 44     <delete failonerror="false" includeemptydirs="true">
4349 10 Feb 17 nicklas 45       <fileset dir="${build}" defaultexcludes="no" />
4349 10 Feb 17 nicklas 46       <fileset dir="${dist}" defaultexcludes="no" />
5573 15 Aug 19 nicklas 47       <fileset dir="lib" includes="base-*.jar" /> 
4349 10 Feb 17 nicklas 48       <fileset file="${jar.name}" />
4349 10 Feb 17 nicklas 49       <fileset file="${tar.name}" />
4349 10 Feb 17 nicklas 50     </delete>
4349 10 Feb 17 nicklas 51   </target>
4349 10 Feb 17 nicklas 52   
4349 10 Feb 17 nicklas 53   <target 
4349 10 Feb 17 nicklas 54     name="dist" 
4349 10 Feb 17 nicklas 55     depends="clean,download-lib,build"
4349 10 Feb 17 nicklas 56     >
4349 10 Feb 17 nicklas 57     <copy todir="${dist}">
4608 03 Oct 17 nicklas 58       <fileset dir="." includes="README,LICENSE,config/*" />
4349 10 Feb 17 nicklas 59       <fileset file="${jar.name}" />
4349 10 Feb 17 nicklas 60     </copy>
4349 10 Feb 17 nicklas 61   </target>
4349 10 Feb 17 nicklas 62   
4349 10 Feb 17 nicklas 63   <target
4349 10 Feb 17 nicklas 64     name="package"
4349 10 Feb 17 nicklas 65     depends="dist"
4349 10 Feb 17 nicklas 66     description="Create binary distribution package"
4349 10 Feb 17 nicklas 67     >
4349 10 Feb 17 nicklas 68     <tar
4349 10 Feb 17 nicklas 69       destfile="${tar.name}"
4349 10 Feb 17 nicklas 70       longfile="gnu"
4349 10 Feb 17 nicklas 71       compression="gzip"
4349 10 Feb 17 nicklas 72       >
4349 10 Feb 17 nicklas 73       <tarfileset
4349 10 Feb 17 nicklas 74         dir="${dist}"
4349 10 Feb 17 nicklas 75         mode="755"
4349 10 Feb 17 nicklas 76         prefix="${tar.prefix}"
4349 10 Feb 17 nicklas 77         preserveLeadingSlashes="true"
4349 10 Feb 17 nicklas 78         >
4349 10 Feb 17 nicklas 79         <include name="**/*.sh" />
4349 10 Feb 17 nicklas 80       </tarfileset>
4349 10 Feb 17 nicklas 81       <tarfileset
4349 10 Feb 17 nicklas 82         dir="${dist}"
4349 10 Feb 17 nicklas 83         prefix="${tar.prefix}"
4349 10 Feb 17 nicklas 84         preserveLeadingSlashes="true"
4349 10 Feb 17 nicklas 85         >
4349 10 Feb 17 nicklas 86         <exclude name="**/*.sh" />
4349 10 Feb 17 nicklas 87       </tarfileset>
4349 10 Feb 17 nicklas 88     </tar>
4349 10 Feb 17 nicklas 89   </target>
4349 10 Feb 17 nicklas 90   
4349 10 Feb 17 nicklas 91   <target 
4349 10 Feb 17 nicklas 92     name="install"
4349 10 Feb 17 nicklas 93     depends="build"
4349 10 Feb 17 nicklas 94     >
4349 10 Feb 17 nicklas 95     <fail unless="base.plugins" message="base.plugins is not set to the path of BASE plug-ins directory." />
4349 10 Feb 17 nicklas 96     <copy todir="${base.plugins}">
4349 10 Feb 17 nicklas 97       <fileset file="${jar.name}" />
4349 10 Feb 17 nicklas 98     </copy>
4349 10 Feb 17 nicklas 99     <echo>Copied '${jar.name}' to '${base.plugins}'.</echo>
4349 10 Feb 17 nicklas 100   </target>
4349 10 Feb 17 nicklas 101
4349 10 Feb 17 nicklas 102   
4349 10 Feb 17 nicklas 103   <target 
4349 10 Feb 17 nicklas 104     name="build"
4349 10 Feb 17 nicklas 105     depends="init,checkjar"
4349 10 Feb 17 nicklas 106     description="Compiles the plugin and put in jar"
4349 10 Feb 17 nicklas 107     >
4349 10 Feb 17 nicklas 108     <mkdir dir="${build}" />
4349 10 Feb 17 nicklas 109     <javac 
4349 10 Feb 17 nicklas 110       encoding="${javac.encoding}" 
4349 10 Feb 17 nicklas 111       srcdir="${src}" 
4349 10 Feb 17 nicklas 112       destdir="${build}" 
4349 10 Feb 17 nicklas 113       debug="true" 
4349 10 Feb 17 nicklas 114       includeantruntime="false"
4349 10 Feb 17 nicklas 115       classpathref="classpath"
5507 18 Jun 19 nicklas 116       release="${javac.release}"
4349 10 Feb 17 nicklas 117       >
4349 10 Feb 17 nicklas 118       <compilerarg value="${javac.arg}" />
4349 10 Feb 17 nicklas 119     </javac>
4366 27 Feb 17 nicklas 120     <copy todir="${build}">
4366 27 Feb 17 nicklas 121       <fileset dir="${src}">
4366 27 Feb 17 nicklas 122         <include name="**/*" />
4366 27 Feb 17 nicklas 123         <exclude name="**/*.java" />
4366 27 Feb 17 nicklas 124       </fileset>
4366 27 Feb 17 nicklas 125     </copy>
4349 10 Feb 17 nicklas 126     <jar 
4349 10 Feb 17 nicklas 127       jarfile="${jar.name}" 
4349 10 Feb 17 nicklas 128       manifest="META-INF/MANIFEST.MF"
4349 10 Feb 17 nicklas 129       >
4349 10 Feb 17 nicklas 130       <fileset dir="${build}" />
4349 10 Feb 17 nicklas 131       <fileset dir="." includes="META-INF/**" />
4349 10 Feb 17 nicklas 132       <fileset dir="." includes="resources/**" />
4349 10 Feb 17 nicklas 133     </jar>
4349 10 Feb 17 nicklas 134   </target>
4349 10 Feb 17 nicklas 135   
4349 10 Feb 17 nicklas 136   <target 
4349 10 Feb 17 nicklas 137     name="checkjar"
4349 10 Feb 17 nicklas 138     description="Checks that required BASE JAR files exists"
4349 10 Feb 17 nicklas 139     >
4349 10 Feb 17 nicklas 140     <available classname="net.sf.basedb.core.Application" 
4349 10 Feb 17 nicklas 141       classpathref="classpath" property="base-core" />
4349 10 Feb 17 nicklas 142     <available classname="net.sf.basedb.clients.web.Base" 
4349 10 Feb 17 nicklas 143       classpathref="classpath" property="base-web" />
5573 15 Aug 19 nicklas 144     <fail unless="base-core" message="Can't find base-core-${depend.base-version}.jar in ./lib. Try 'ant download-lib' to download the missing file." />
5573 15 Aug 19 nicklas 145     <fail unless="base-web" message="Can't find base-webclient-${depend.base-version}.jar in ./lib. Try 'ant download-lib' to download the missing file." />
4349 10 Feb 17 nicklas 146     <echo>Found all requried BASE core JAR files.</echo>
4349 10 Feb 17 nicklas 147   </target>
4349 10 Feb 17 nicklas 148   
4349 10 Feb 17 nicklas 149   <target 
4349 10 Feb 17 nicklas 150     name="download-lib"
4349 10 Feb 17 nicklas 151     description="Download required BASE core jar files"
4349 10 Feb 17 nicklas 152     >
4349 10 Feb 17 nicklas 153     <echo>
4349 10 Feb 17 nicklas 154 -------------------------------------------------------    
4349 10 Feb 17 nicklas 155 NOTE! You may specifiy a different download location by 
4349 10 Feb 17 nicklas 156 creating the file './build.properties' and
4349 10 Feb 17 nicklas 157 setting 'depend.jars' to the URL to download from.
4349 10 Feb 17 nicklas 158 -------------------------------------------------------
4349 10 Feb 17 nicklas 159     </echo>
4349 10 Feb 17 nicklas 160     <download-lib file="base-core-${depend.base-version}.jar" />
4349 10 Feb 17 nicklas 161     <download-lib file="base-webclient-${depend.base-version}.jar" />
4349 10 Feb 17 nicklas 162   </target>
4349 10 Feb 17 nicklas 163   
4349 10 Feb 17 nicklas 164   <macrodef name="download-lib" description="Download BASE core JAR files">
4349 10 Feb 17 nicklas 165     <attribute name="file" />
4349 10 Feb 17 nicklas 166     <sequential>
4349 10 Feb 17 nicklas 167       <get 
4349 10 Feb 17 nicklas 168         dest="lib/@{file}" 
4349 10 Feb 17 nicklas 169         src="${depend.jars}/@{file}" 
4349 10 Feb 17 nicklas 170         usetimestamp="true" 
4349 10 Feb 17 nicklas 171         verbose="true"
4349 10 Feb 17 nicklas 172         ignoreerrors="true"
4349 10 Feb 17 nicklas 173       />
4349 10 Feb 17 nicklas 174     </sequential>
4349 10 Feb 17 nicklas 175   </macrodef>  
4349 10 Feb 17 nicklas 176   
4349 10 Feb 17 nicklas 177   <target name="update-version">
4349 10 Feb 17 nicklas 178     <echo>Setting version to: ${version}</echo>
4349 10 Feb 17 nicklas 179     
4354 13 Feb 17 nicklas 180     <echo>Relax.java</echo>
4349 10 Feb 17 nicklas 181     <replaceregexp 
4349 10 Feb 17 nicklas 182       file="${src}/net/sf/basedb/relax/Relax.java"
4349 10 Feb 17 nicklas 183       match="public static final String VERSION = &#34;.*&#34;;"
4349 10 Feb 17 nicklas 184       replace="public static final String VERSION = &#34;${version}&#34;;"
4349 10 Feb 17 nicklas 185       encoding="UTF-8"
4349 10 Feb 17 nicklas 186     />
4349 10 Feb 17 nicklas 187     
4354 13 Feb 17 nicklas 188     <echo>relax.js</echo>
4354 13 Feb 17 nicklas 189     <replaceregexp 
4354 13 Feb 17 nicklas 190       file="resources/relax.js"
4354 13 Feb 17 nicklas 191       match="relax.VERSION = '.*';"
4354 13 Feb 17 nicklas 192       replace="relax.VERSION = '${version}';"
4354 13 Feb 17 nicklas 193       encoding="UTF-8"
4354 13 Feb 17 nicklas 194     />
4354 13 Feb 17 nicklas 195     
4349 10 Feb 17 nicklas 196     <echo>extensions.xml</echo>
4349 10 Feb 17 nicklas 197     <replaceregexp 
4349 10 Feb 17 nicklas 198       file="META-INF/extensions.xml"
4349 10 Feb 17 nicklas 199       match="&lt;version&gt;.*&lt;/version&gt;"
4349 10 Feb 17 nicklas 200       replace="&lt;version&gt;${version}&lt;/version&gt;"
4349 10 Feb 17 nicklas 201       encoding="UTF-8"
4349 10 Feb 17 nicklas 202     />
4349 10 Feb 17 nicklas 203     <replaceregexp 
4349 10 Feb 17 nicklas 204       file="META-INF/extensions.xml"
4349 10 Feb 17 nicklas 205       match="&lt;min-base-version&gt;.*&lt;/min-base-version&gt;"
4349 10 Feb 17 nicklas 206       replace="&lt;min-base-version&gt;${depend.base-version}&lt;/min-base-version&gt;"
4349 10 Feb 17 nicklas 207       encoding="UTF-8"
4349 10 Feb 17 nicklas 208     />
6778 17 Jun 22 nicklas 209     
6778 17 Jun 22 nicklas 210     <echo>.classpath</echo>
6778 17 Jun 22 nicklas 211     <replaceregexp 
6778 17 Jun 22 nicklas 212       file=".classpath"
6778 17 Jun 22 nicklas 213       match="base-(\w+)-[0-9.]+jar"
6778 17 Jun 22 nicklas 214       replace="base-\1-${depend.base-version}.jar"
6778 17 Jun 22 nicklas 215       encoding="UTF-8"
6778 17 Jun 22 nicklas 216       byline="true"
6778 17 Jun 22 nicklas 217     />
4349 10 Feb 17 nicklas 218
4349 10 Feb 17 nicklas 219     <echo>Don't forget to commit the changes to the subversion repository!</echo>
4349 10 Feb 17 nicklas 220   </target>
4349 10 Feb 17 nicklas 221
4349 10 Feb 17 nicklas 222 </project>