*) restructuring of build.xml to allow all-in-one-builds

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@1493 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
theli 19 years ago
parent 645c9d434e
commit f0af91219c

@ -18,3 +18,6 @@ accessRightsFile=644
# Extension Configuration: singleZip|multiZip|copyToMain
extensionMode=singleZip
extensionFile=yacy_libx_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz
# All in one file configuration
allInOneFile=yacy_all_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz

@ -66,6 +66,8 @@
<property name="htroot" location="htroot"/>
<property name="locales" location="locales"/>
<property name="release" location="RELEASE"/>
<property name="release_main" location="${release}/MAIN"/>
<property name="release_ext" location="${release}/EXT"/>
<condition property="singleExtFile">
<equals arg1="${extensionTarget}" arg2="copy"/>
@ -223,7 +225,7 @@
<property name="src" location="${src}"/>
<property name="build" location="${build}"/>
<property name="libx" location="${libx}"/>
<property name="release" location="${release}"/>
<property name="release" location="${release_ext}"/>
<property name="releaseDir" value="${releaseDir}"/>
<property name="javacSource" value="${javacSource}"/>
<property name="javacTarget" value="${javacTarget}"/>
@ -239,7 +241,7 @@
<property name="build" location="${build}"/>
<property name="libx" location="${libx}"/>
<property name="htroot" value="${htroot}"/>
<property name="release" location="${release}"/>
<property name="release" location="${release_ext}"/>
<property name="releaseDir" value="${releaseDir}"/>
<property name="javacSource" value="${javacSource}"/>
<property name="javacTarget" value="${javacTarget}"/>
@ -255,7 +257,7 @@
<property name="build" location="${build}"/>
<property name="libx" location="${libx}"/>
<property name="htroot" value="${htroot}"/>
<property name="release" location="${release}"/>
<property name="release" location="${release_ext}"/>
<property name="releaseDir" value="${releaseDir}"/>
<property name="javacSource" value="${javacSource}"/>
<property name="javacTarget" value="${javacTarget}"/>
@ -273,15 +275,15 @@
<pathelement location="${libx}/jsch-0.1.21.jar" />
</classpath>
</javac>
<copy todir="${release}/libx/">
<copy todir="${release_ext}/libx/">
<fileset dir="${libx}" includes="jsch-0.1.21.*"/>
</copy>
<copy todir="${release}/source/de/anomic/server/">
<copy todir="${release_ext}/source/de/anomic/server/">
<fileset dir="${src}/de/anomic/server/">
<include name="serverPortForwardingSch.java"/>
</fileset>
</copy>
<copy todir="${release}/classes/de/anomic/server/">
<copy todir="${release_ext}/classes/de/anomic/server/">
<fileset dir="${build}/de/anomic/server/">
<include name="serverPortForwardingSch.class"/>
<include name="serverPortForwardingSch$MyUserInfo.class"/>
@ -302,135 +304,190 @@
======================================================================================================= -->
<target name="distExtensions" if="singleExtFile" depends="compileExtensions">
<tar destfile="${release}/${extensionFile}" compression="gzip" defaultexcludes="yes" longfile="gnu">
<tarfileset dir="${release}" prefix="${releaseDir}/" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<tarfileset dir="${release_ext}" prefix="${releaseDir}/" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="**/*.*"/>
<exclude name="*.gz"/>
</tarfileset>
</tar>
<delete dir="${release}/classes"/>
<delete dir="${release}/htroot"/>
<delete dir="${release}/libx"/>
<delete dir="${release}/source"/>
<delete dir="${release_ext}"/>
</target>
<target name="copyMain4Dist" depends="compileMain">
<!-- copy main class files -->
<copy todir="${release_main}/classes" failonerror="false">
<fileset dir="${build}">
<include name="**/*.*"/>
<!-- excluding all additional content parsers -->
<exclude name="de/anomic/plasma/parser/*/*"/>
<!-- excluding all additional seed uploaders -->
<exclude name="de/anomic/yacy/seedUpload/**"/>
<!-- excluding the soap handler -->
<exclude name="de/anomic/soap/**"/>
<!-- excluding the port forwarder -->
<exclude name="de/anomic/server/serverPortForwardingSch.class"/>
<exclude name="de/anomic/server/serverPortForwardingSch$MyUserInfo.class"/>
</fileset>
<!-- copy standard seed uploaders -->
<fileset dir="${build}">
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFile.class"/>
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFtp.class"/>
</fileset>
</copy>
<!-- copy yacy.jar (if available) -->
<copy todir="${release_main}" file="yacy.jar" failonerror="false"/>
<!-- copy libs -->
<copy todir="${release_main}/lib">
<fileset dir="${lib}"
includes="**/*"/>
</copy>
<!-- copy configuration files -->
<copy todir="${release_main}">
<fileset dir=".">
<include name="yacy.logging"/>
<include name="yacy.init"/>
<include name="yacy.yellow"/>
<include name="yacy.stopwords"/>
<include name="yacy.parser"/>
<include name="httpd.mime"/>
<include name="superseed.txt"/>
</fileset>
</copy>
<!-- copy Unix wrappers -->
<copy todir="${release_main}">
<fileset dir=".">
<include name="startYACY.sh"/>
<include name="stopYACY.sh"/>
<include name="killYACY.sh"/>
<include name="startYACY.command"/>
<include name="stopYACY.command"/>
</fileset>
</copy>
<!-- copy other wrappers -->
<copy todir="${release_main}">
<fileset dir=".">
<include name="startYACY.bat"/>
<include name="startYACY_noconsole.bat"/>
<include name="stopYACY.bat"/>
<include name="startYACY_Win9x.bat"/>
<include name="startYACY_noconsole_Win9x.bat"/>
<include name="stopYACY_Win9x.bat"/>
</fileset>
</copy>
<!-- copy locales -->
<copy todir="${release_main}/locales">
<fileset dir="${locales}">
<include name="*"/>
</fileset>
</copy>
<!-- copy documentation -->
<copy todir="${release_main}">
<fileset dir=".">
<include name="readme.txt"/>
<include name="gpl.txt"/>
</fileset>
</copy>
<copy todir="${release_main}/doc">
<fileset dir="${doc}">
<include name="**/*"/>
</fileset>
</copy>
<!-- copy source code -->
<copy todir="${release_main}/source">
<fileset dir="${src}">
<include name="**/*.*"/>
<exclude name="de/anomic/plasma/parser/*/*"/>
<exclude name="de/anomic/yacy/seedUpload/yacySeedUpload**"/>
<exclude name="de/anomic/soap/**"/>
</fileset>
<fileset dir="${src}">
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFile.java"/>
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFtp.java"/>
</fileset>
</copy>
<!-- copy server pages -->
<copy todir="${release_main}/htroot">
<fileset dir="${htroot}">
<include name="**/*"/>
<exclude name="yacy/seedUpload/**"/>
</fileset>
<fileset dir="${htroot}">
<include name="yacy/seedUpload/yacySeedUploadFile.html"/>
<include name="yacy/seedUpload/yacySeedUploadFtp.html"/>
</fileset>
</copy>
<!-- copy add-on's -->
<copy todir="${release_main}/addon">
<fileset dir="${addon}">
<include name="**/*"/>
</fileset>
</copy>
<!-- copy development tools -->
<copy todir="${release_main}">
<fileset dir=".">
<include name="build.xml"/>
<include name="build.properties"/>
</fileset>
</copy>
</target>
<!-- =======================================================================================================
making a release file for yacy
======================================================================================================= -->
<target name="distMain" depends="compileMain" description="Compiling sources and make a release file ...">
<tar destfile="${release}/${releaseFile}" compression="gzip" defaultexcludes="yes" longfile="gnu">
<!-- copy class files -->
<tarfileset dir="${build}" prefix="${releaseDir}/classes" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="**/*.*"/>
<!-- excluding all additional content parsers -->
<exclude name="de/anomic/plasma/parser/*/*"/>
<!-- excluding all additional seed uploaders -->
<exclude name="de/anomic/yacy/seedUpload/**"/>
<!-- excluding the soap handler -->
<exclude name="de/anomic/soap/**"/>
<!-- excluding the port forwarder -->
<exclude name="de/anomic/server/serverPortForwardingSch.class"/>
<exclude name="de/anomic/server/serverPortForwardingSch$MyUserInfo.class"/>
</tarfileset>
<tarfileset dir="${build}" prefix="${releaseDir}/classes" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFile.class"/>
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFtp.class"/>
</tarfileset>
<!-- copy libs -->
<tarfileset dir="${lib}" includes="**/*" prefix="${releaseDir}/lib" dirmode="${accessRightsDir}" mode="${accessRightsFile}"/>
<!-- copy configuration files -->
<tarfileset dir="." dirmode="${accessRightsDir}" mode="${accessRightsFile}" prefix="${releaseDir}">
<include name="yacy.logging"/>
<include name="yacy.init"/>
<include name="yacy.yellow"/>
<include name="yacy.stopwords"/>
<include name="yacy.parser"/>
<include name="httpd.mime"/>
<include name="superseed.txt"/>
</tarfileset>
<!-- copy Unix wrappers -->
<tarfileset dir="." dirmode="${accessRightsDir}" mode="${accessRightsExecutable}" prefix="${releaseDir}">
<include name="startYACY.sh"/>
<include name="stopYACY.sh"/>
<include name="killYACY.sh"/>
<include name="startYACY.command"/>
<include name="stopYACY.command"/>
</tarfileset>
<!-- copy other wrappers -->
<tarfileset dir="." dirmode="${accessRightsDir}" mode="${accessRightsFile}" prefix="${releaseDir}">
<include name="startYACY.bat"/>
<include name="startYACY_noconsole.bat"/>
<include name="stopYACY.bat"/>
<include name="startYACY_Win9x.bat"/>
<include name="startYACY_noconsole_Win9x.bat"/>
<include name="stopYACY_Win9x.bat"/>
</tarfileset>
<!-- copy locales -->
<tarfileset dir="${locales}" prefix="${releaseDir}/locales" dirmode="${accessRightsDir}" mode="${accessRightsFile}">
<include name="*"/>
</tarfileset>
<!-- copy documentation -->
<tarfileset dir="." dirmode="${accessRightsDir}" mode="${accessRightsFile}" prefix="${releaseDir}">
<include name="readme.txt"/>
<include name="gpl.txt"/>
</tarfileset>
<tarfileset dir="${doc}" prefix="${releaseDir}/doc" dirmode="${accessRightsDir}" mode="${accessRightsFile}">
<include name="**/*"/>
</tarfileset>
<!-- copy source code -->
<tarfileset dir="${src}" prefix="${releaseDir}/source" dirmode="${accessRightsDir}" mode="${accessRightsFile}">
<include name="**/*.*"/>
<exclude name="de/anomic/plasma/parser/*/*"/>
<exclude name="de/anomic/yacy/seedUpload/yacySeedUpload**"/>
<exclude name="de/anomic/soap/**"/>
</tarfileset>
<tarfileset dir="${src}" prefix="${releaseDir}/source" dirmode="${accessRightsDir}" mode="${accessRightsFile}">
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFile.java"/>
<include name="de/anomic/yacy/seedUpload/yacySeedUploadFtp.java"/>
</tarfileset>
<!-- copy server pages -->
<tarfileset dir="${htroot}" prefix="${releaseDir}/htroot" dirmode="${accessRightsDir}" mode="${accessRightsFile}">
<include name="**/*"/>
<exclude name="yacy/seedUpload/**"/>
</tarfileset>
<tarfileset dir="${htroot}" prefix="${releaseDir}/htroot" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="yacy/seedUpload/yacySeedUploadFile.html"/>
<include name="yacy/seedUpload/yacySeedUploadFtp.html"/>
</tarfileset>
<!-- copy add-on's -->
<tarfileset dir="${addon}" prefix="${releaseDir}/addon" dirmode="${accessRightsDir}" mode="${accessRightsFile}">
<include name="**/*"/>
</tarfileset>
<!-- copy development tools -->
<tarfileset dir="." dirmode="${accessRightsDir}" mode="${accessRightsFile}" prefix="${releaseDir}">
<include name="build.xml"/>
<include name="build.properties"/>
</tarfileset>
</tar>
<target name="distMain" depends="copyMain4Dist" description="Compiling sources and make a release file ...">
<tar destfile="${release}/${releaseFile}" compression="gzip" defaultexcludes="yes" longfile="gnu">
<!-- packing all files into a gzipped tar -->
<tarfileset dir="${release_main}" prefix="${releaseDir}/" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="**/*.*"/>
</tarfileset>
</tar>
<!-- deleting unneeded files -->
<delete dir="${release_main}"/>
<!-- writing the current release version into a file -->
<echo message="${releaseVersion}" file="${doc}/release.txt"/>
</target>
<!-- make clean -->
<target name="distAllInOne" depends="copyMain4Dist,compileExtensions">
<tar destfile="${release}/${allInOneFile}" compression="gzip" defaultexcludes="yes" longfile="gnu">
<!-- packing all files into a gzipped tar -->
<tarfileset dir="${release_main}" prefix="${releaseDir}/" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="**/*.*"/>
</tarfileset>
<tarfileset dir="${release_ext}" prefix="${releaseDir}/" dirmode="${accessRightsDir}" mode="${accessRightsFile}" >
<include name="**/*.*"/>
</tarfileset>
</tar>
<delete dir="${release_main}"/>
<delete dir="${release_ext}"/>
</target>
<!-- make dist file including main sources and extensions -->
<target name="dist" depends="distMain,distExtensions">
</target>
<!-- make clean -->
<target name="clean" description="make clean">
<delete dir="${release_main}"/>
<delete dir="${release_ext}"/>
<delete>
<fileset dir="${src}" includes="**/*.class" />
<fileset dir="${build}" includes="**/*.class" />
@ -550,4 +607,26 @@
<ant2svg destfile="doc/build_dependencies.svg"/>
</target>
<target name="build-jar" depends="compileMain">
<delete file="yacy.jar" />
<jar destfile="yacy.jar" basedir="${build}/">
<manifest>
<attribute name="Main-Class" value="yacy"/>
</manifest>
</jar>
</target>
<target name="win-exe" depends="build-jar">
<!-- Creates a Windows Executable using JSmooth (http://jsmooth.sf.net) -->
<taskdef name="jsmoothgen"
classname="net.charabia.jsmoothgen.ant.JSmoothGen"
classpath="addon/jsmooth/lib/jsmoothgen-ant.jar" />
<jsmoothgen project="addon/jsmooth/yacy.jsmooth" skeletonroot="addon/jsmooth/skeletons"/>
<delete>
<fileset dir="${build}" includes="**/*.class" />
</delete>
</target>
</project>

Loading…
Cancel
Save