Compare with Previous | Blame | View Log
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="alibaba" default="help" basedir=".">
<property name="docs" value="src/doc" />
<property name="xdocs" value="target/site" />
<target name="help" description="Usage information">
<echo message="AliBaba Release Builder" />
<echo message="========================" />
<echo message="The purpose of this Ant build file is to create releases for AliBaba." />
<echo message="It is not intended to capture every aspect of project development. Please use Maven for development purposes." />
<echo message=" " />
<echo message="Available targets: " />
<echo message=" " />
<echo message=" clean : cleans targets" />
<echo message=" build : compiles classes" />
<echo message=" package : package for release" />
<echo message=" -Dsgmltools=sgmltools docs : create documentation" />
<echo message=" -Declipse.workspace=.. eclipse : create eclipse projects" />
</target>
<target name="clean" description="Removes release artifacts">
<antcall target="mvn">
<param name="args" value="clean" />
</antcall>
</target>
<target name="eclipse" depends="eclipse-add-maven-repo" description="Creates .project and .classpath files">
<antcall target="mvn">
<param name="args" value="-DdownloadSources=true eclipse:eclipse" />
</antcall>
</target>
<target name="eclipse-add-maven-repo" description="Sets the classpath variable M2_REPO" if="eclipse.workspace">
<antcall target="mvn">
<param name="args" value="-Declipse.workspace=${eclipse.workspace} eclipse:add-maven-repo" />
</antcall>
</target>
<target name="build" description="Compiles the Java classes">
<antcall target="mvn">
<param name="args" value="--offline -Dmaven.test.skip=true source:jar package install" />
</antcall>
<antcall target="build-sdk"/>
</target>
<target name="package" depends="mvn-build,build-sdk" description="Create release artifacts">
</target>
<target name="mvn-build">
<antcall target="mvn">
<param name="args" value="-U source:jar install" />
</antcall>
</target>
<target name="build-sdk">
<xmlproperty file="pom.xml" />
<mkdir dir="target" />
<mkdir dir="lib" />
<property name="lib.dir" location="lib" />
<property name="target.dir" location="target" />
<path id="libcp">
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
</path>
<pathconvert property="libpath" refid="libcp" pathsep=" " dirsep="/">
<map from="${target.dir}/" to="" />
<map from="${lib.dir}/" to="../lib/" />
</pathconvert>
<antcall target="concat-file">
<param name="path" value="META-INF/services/org.openrdf.repository.config.RepositoryFactory"/>
</antcall>
<antcall target="concat-file">
<param name="path" value="META-INF/services/org.openrdf.sail.config.SailFactory"/>
</antcall>
<antcall target="concat-file">
<param name="path" value="META-INF/services/org.openrdf.repository.object.composition.BehaviourFactory"/>
</antcall>
<antcall target="concat-file">
<param name="path" value="META-INF/org.openrdf.annotations"/>
</antcall>
<antcall target="concat-file">
<param name="path" value="META-INF/org.openrdf.behaviours"/>
</antcall>
<antcall target="concat-file">
<param name="path" value="META-INF/org.openrdf.concepts"/>
</antcall>
<antcall target="concat-file">
<param name="path" value="META-INF/org.openrdf.datatypes"/>
</antcall>
<property name="excludes" value="META-INF/MANIFEST.MF META-INF/services/org.openrdf.repository.config.RepositoryFactory META-INF/services/org.openrdf.sail.config.SailFactory META-INF/services/org.openrdf.repository.object.composition.BehaviourFactory META-INF/org.openrdf.annotations META-INF/org.openrdf.behaviours META-INF/org.openrdf.concepts META-INF/org.openrdf.datatypes" />
<jar destfile="target/openrdf-alibaba-${project.version}.jar" index="true" filesetmanifest="skip">
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Program-Version" value="${project.version}" />
<attribute name="Class-Path" value="${libpath}" />
</manifest>
<zipfileset dir="target/services/META-INF" prefix="META-INF" />
<zipfileset src="model/target/alibaba-model-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="auditing-sail/target/alibaba-sail-auditing-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="query-repository/target/alibaba-repository-query-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="optimistic-repository/target/alibaba-repository-optimistic-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="object-composition/target/alibaba-composition-object-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="object-repository/target/alibaba-repository-object-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="object-server/target/alibaba-server-object-${project.version}.jar" excludes="${excludes}" />
<zipfileset src="runtime/target/alibaba-runtime-${project.version}.jar" excludes="${excludes}" />
</jar>
<concat destfile="target/README.txt" fixlastline="yes">
<fileset dir="." includes="src/site/apt/index.apt"/>
<fileset dir="." includes="object-server/src/site/apt/index.apt"/>
<fileset dir="." includes="object-repository/src/site/apt/index.apt"/>
<fileset dir="." includes="optimistic-repository/src/site/apt/index.apt"/>
</concat>
<zip destfile="target/openrdf-alibaba-${project.version}.zip">
<zipfileset dir="." includes="*.txt" />
<zipfileset dir="target" includes="README.txt" />
<zipfileset dir="lib" prefix="lib" />
<zipfileset dir="target" includes="*.jar" prefix="dist" />
<zipfileset dir="src/dist/bin" prefix="bin" />
<zipfileset dir="target/services/META-INF" prefix="src/META-INF" />
<zipfileset src="model/target/alibaba-model-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
<zipfileset src="auditing-sail/target/alibaba-sail-auditing-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
<zipfileset src="query-repository/target/alibaba-repository-query-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
<zipfileset src="optimistic-repository/target/alibaba-repository-optimistic-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
<zipfileset src="object-composition/target/alibaba-composition-object-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
<zipfileset src="object-repository/target/alibaba-repository-object-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
<zipfileset src="object-server/target/alibaba-server-object-${project.version}-sources.jar" prefix="src" excludes="${excludes} META-INF/org.openrdf.annotations META-INF/org.openrdf.behaviours META-INF/org.openrdf.concepts" />
<zipfileset src="runtime/target/alibaba-runtime-${project.version}-sources.jar" prefix="src" excludes="${excludes}" />
</zip>
</target>
<target name="docs" description="Create user and system documentation only">
<antcall target="javadocs"/>
<antcall target="owldocs"/>
<antcall target="site"/>
</target>
<target name="javadocs">
<antcall target="mvn">
<param name="args" value="-Dmaven.test.skip=true compile javadoc:javadoc" />
</antcall>
</target>
<target name="owldocs">
<xslt includes="*/src/main/owl/*.owl" destdir="target/site/owldocs/" extension=".html" style="ns-schema.xsl" filenameparameter="htmlfile"/>
<move todir="target/site/owldocs/" flatten="true">
<fileset dir="target/site/owldocs/">
<include name="**/*.html"/>
<exclude name="index.html"/>
</fileset>
</move>
<replaceregexp match="\s*(<a )(href="[^:]*)\.owl(\#?[^>]*>)([^<]*)(</a>)" replace="<!-- \4 -->\1\2.html\3\4\5" byline="true">
<fileset dir="target/site/owldocs/">
<include name="*.html"/>
<exclude name="index.html"/>
</fileset>
</replaceregexp>
<concat destfile="target/site/owldocs/index.html" append="false">
<union>
<sort>
<tokens>
<fileset dir="target/site/owldocs/">
<include name="*.html"/>
<exclude name="index.html"/>
</fileset>
<linetokenizer includedelims="true" />
</tokens>
</sort>
</union>
<filterchain>
<linecontainsregexp>
<regexp pattern="<link rel="self""/>
</linecontainsregexp>
<tokenfilter>
<linetokenizer/>
<replaceregex pattern="<link[^>]*href="([^"]*)\.owl"[^>]*title="([^"]*)"[^>]*>" replace="<br /><a href='\1.html' target='content'>\2</a>"/>
</tokenfilter>
</filterchain>
<header filtering="no" trimleading="yes"><![CDATA[
<html><head><title>AliBaba OWL Documentation</title></head><body style="margin:0px">
<iframe name="content" width="80%" height="100%" style="float:right;border-width:0px"></iframe>
<div style="width:20%">
<div style="height:20%;overflow:auto">
<div style="padding:8px">
<b>Ontologies</b>
]]>
</header>
<footer filtering="no" trimleading="yes"><![CDATA[
</div></div>
<div style="height:80%;overflow:auto">
<div style="padding:8px">
<b>All Resources</b>
]]>
</footer>
</concat>
<concat destfile="target/site/owldocs/index.html" append="true">
<union>
<sort>
<tokens>
<fileset dir="target/site/owldocs/">
<include name="*.html"/>
<exclude name="index.html"/>
</fileset>
<linetokenizer includedelims="true" />
</tokens>
</sort>
</union>
<filterchain>
<linecontainsregexp>
<regexp pattern="<a href="[^:]*\.html\#[^"]"/>
</linecontainsregexp>
<filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
<param type="tokenchar" name="begintoken" value="<" />
<param type="token" name="a" value="<br /><a target='content' "/>
<param type="tokenchar" name="endtoken" value=" " />
</filterreader>
</filterchain>
<footer filtering="no" trimleading="yes"><![CDATA[
</div></div></div>
</body></html>
]]>
</footer>
</concat>
</target>
<target name="site">
<antcall target="mvn">
<param name="args" value="site site:deploy" />
</antcall>
<xmlproperty file="pom.xml" />
<zip destfile="target/alibaba-site-${project.version}.zip" basedir="target/website" />
</target>
<target name="docbook" if="sgmltools">
<replaceregexp match="><dummy" replace="" flags="gm" file="${docs}/user-guide.sgml" />
<replaceregexp match="<dummy>" replace="" flags="gm" file="${docs}/user-guide.sgml" />
<replaceregexp match="</dummy>" replace="" flags="gm" file="${docs}/user-guide.sgml" />
<echo>${sgmltools} --backend=onehtml getting-started.sgml</echo>
<exec dir="${docs}" executable="${sgmltools}" failonerror="true">
<arg value="--backend=onehtml" />
<arg value="user-guide.sgml" />
</exec>
<move file="${docs}/user-guide.html" tofile="${xdocs}/user-guide.html" />
</target>
<target name="mvn">
<echo message="mvn -B ${args}" />
<exec os="Windows XP, Windows Vista" executable="mvn.bat" failonerror="true">
<arg line="-B ${args}" />
</exec>
<exec os="Linux, Mac OS X" executable="mvn" failonerror="true">
<arg line="-B ${args}" />
</exec>
</target>
<target name="concat-file">
<echo message="${path}"/>
<concat destfile="target/services/${path}" fixlastline="yes">
<fileset dir="." includes="*/src/main/resources/${path}"/>
</concat>
</target>
</project>