You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-java/skinlf/files/skinlf-1.2.12-build.xml

300 lines
11 KiB

<!DOCTYPE project [
<!ENTITY build-COMMON SYSTEM "common.xml">
<!ENTITY build-COMMONDEVJAVANET SYSTEM "common-devjavanet.xml">
]>
<!--
Skin Look And Feel Build
-->
<project name="skinlf" default="compile.java" basedir=".">
<!-- Allow user to override settings -->
<property file="${user.home}/skinlf-ant.properties" />
<property file="build.properties" />
<!-- Project Identification -->
<property name="project" value="skinlf"/>
<property name="version" value="1.2.12"/>
<property name="year" value="2000-2005"/>
<property name="project.fullname" value="Skin Look And Feel"/>
<property name="project.nativeskin" value="nativeskin"/>
<property name="javadoc.packagenames" value="com.l2fprod.gui,com.l2fprod.gui.plaf.skin,com.l2fprod.gui.region,com.l2fprod.gui.nativeskin"/>
<path id="classpath">
<pathelement location="lib/imageconversion.jar"/>
<pathelement location="lib/JimiProClasses.zip"/>
<pathelement location="lib/xalan.jar"/>
<pathelement location="lib/xercesImpl.jar"/>
<pathelement location="lib/xml-apis.jar"/>
</path>
<property name="classpath.asprop" refid="classpath"/>
&build-COMMON;
&build-COMMONDEVJAVANET;
<!-- get some of the dependant jars from maven repository -->
<target name="init.jars">
<get src="http://www.ibiblio.org/maven/javacc/jars/JavaCC.zip"
dest="lib/JavaCC.zip"
verbose="true"
usetimestamp="true"/>
<get src="http://www.ibiblio.org/maven/xalan/jars/xalan-2.5.1.jar"
dest="lib/xalan.jar"
verbose="true"
usetimestamp="true"/>
<get src="http://www.ibiblio.org/maven/xerces/jars/xercesImpl-2.4.0.jar"
dest="lib/xercesImpl.jar"
verbose="true"
usetimestamp="true"/>
<get src="http://www.ibiblio.org/maven/xml-apis/jars/xml-apis-2.0.2.jar"
dest="lib/xml-apis.jar"
verbose="true"
usetimestamp="true"/>
</target>
<target name="compile.javacc" depends="init">
<javacc target="src/com/l2fprod/gui/plaf/skin/impl/gtk/parser/GtkParser.jj"
outputdirectory="src/com/l2fprod/gui/plaf/skin/impl/gtk/parser"
javacchome="lib"
static="false"
javaunicodeescape="true" />
</target>
<target name="compile" depends="init">
</target>
<!--
Utility targets to use the style converters
-->
<target name="convert.msstyles">
<fail unless="msstyle" message="Specify path to msstyle xml -Dmsstyle=pathtoxml"/>
<fail unless="skin" message="Specify themepack folder -Dskin=pathtothemepackdir"/>
<java classname="com.l2fprod.tools.msstyles.MsStylesToSkinLF"
classpath="${classpath.asprop}:${java.src.dir}:${build.classes}"
fork="yes">
<arg value="${msstyle}" />
<arg value="${msstyle}.xml" />
<arg value="${skin}" />
</java>
<copy todir="${skin}">
<fileset dir="src/themepacks/skeletonthemepack" includes="**"/>
</copy>
</target>
<!--
Start Demos
-->
<target name="demo">
<java classname="examples.demo"
classpath="${classpath.asprop}:${java.src.dir}:${build.classes}"
fork="yes">
<arg value="${skin}" />
</java>
</target>
<!-- Dist targets -->
<target name="jar" depends="compile.java">
<jar destfile="${build.dir}/${project}.jar">
<fileset dir="${build.classes}" includes="*.class,com/**/*.class" excludes="**/region/**,**/nativeskin/**"/>
<fileset dir="${java.src.dir}" includes="com/**/*.properties"/>
<fileset dir="${java.src.dir}" includes="com/**/*.template"/>
<fileset dir="${java.src.dir}" includes="com/**/*.gif"/>
<manifest>
<attribute name="Built-by" value="${user.name}"/>
<attribute name="Main-Class" value="com.l2fprod.gui.plaf.skin.Skinit"/>
<section name="com/l2fprod/gui/plaf/skin">
<attribute name="Specification-Title" value="${project.fullname}"/>
<attribute name="Specification-Version" value="${version}"/>
<attribute name="Specification-Vendor" value="L2FProd.com"/>
<attribute name="Implementation-Title" value="${project.fullname}"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="L2FProd.com"/>
</section>
</manifest>
</jar>
</target>
<target name="obfuscate" depends="jar">
<taskdef name="proguard"
classname="proguard.ant.ProGuardTask"
classpath="lib/proguard.jar"/>
<move file="${build.dir}/${project}.jar"
tofile="${build.dir}/${project}-toobfuscate.jar"/>
<proguard
outjar="${build.dir}/${project}.jar"
obfuscate="yes"
usemixedclassnames="no"
overloadaggressively="yes"
printmapping="obfuscatemapping.txt"
printusage="obfuscateusage.txt">
<libraryjar name="${java.home}/lib/rt.jar"/>
<injar name="${build.dir}/${project}-toobfuscate.jar"/>
<keep access="public" type="class" name="Skinit">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.SkinApplet">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.SkinChooser">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.WindowSnapping">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.nativeskin.**">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.CompoundSkin">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.IncorrectVersionException">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.LinuxLookAndFeel">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.Skin">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinButton">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinFrame">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.Skinit">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinLookAndFeel">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinPersonality">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinPreviewWindow">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinProgress">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinScrollbar">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinSeparator">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinSlider">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinSplitPane">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.SkinTab">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.impl.*">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.impl.gtk.GtkSkin">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.plaf.skin.impl.kde.KdeSkin">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.gui.region.*">
<method name="*"/>
</keep>
<keep access="public" type="class" name="com.l2fprod.tools.**">
<method name="*"/>
</keep>
<keep type="class" name="com.l2fprod.util.**">
<method name="*"/>
</keep>
</proguard>
</target>
<target name="dist.pre" depends="jar">
<!-- examples.jar -->
<jar destfile="${build.dist.lib}/examples.jar">
<fileset dir="${build.classes}" includes="examples/**.class"/>
<fileset dir="${java.src.dir}" includes="examples/**.properties,examples/**.gif,examples/**.jpg"/>
</jar>
<!-- nativeskin.jar -->
<jar jarfile="${build.dist.lib}/nativeskin.jar">
<fileset dir="${build.classes}"
includes="com/l2fprod/gui/region/**,com/l2fprod/gui/nativeskin/**,com/l2fprod/util/OS**,,com/l2fprod/util/Access**"
excludes="**/*.html"/>
</jar>
<!-- batch files -->
<copy todir="${build.dist.bin}"
flatten="yes"
preservelastmodified="yes">
<fileset dir="src" includes="**/*.bat"/>
</copy>
<!-- dlls -->
<copy todir="${build.dist.lib}">
<fileset dir="src/native/win32" includes="*.dll"/>
</copy>
<!-- default theme -->
<zip destfile="${build.dist.lib}/themepack.zip">
<zipfileset dir="src/themepacks/whistlerthemepack"/>
</zip>
</target>
<!--
Publish the new version of SKinLF
-->
<target name="publish" depends="init">
<!-- copy zip to dist folder -->
<copy todir="${publish.download.dir}"
file="${project}-${version}-${build.version}.zip"/>
<filter token="WEB" value="${publish.web.url}"/>
<!-- update the jnlp website with the new release -->
<!-- put skinlf.jar in jnlp folder -->
<copy todir="${publish.skinlf.home}/jnlp/" filtering="on" overwrite="yes">
<fileset dir="src/jnlp" includes="*.jnlp"/>
</copy>
<copy file="${build.dist.lib}/${project}.jar" todir="${publish.skinlf.home}/jnlp/"/>
<copy file="${build.dist.lib}/examples.jar" todir="${publish.skinlf.home}/jnlp/"/>
<copy file="${build.dist.lib}/themepack.zip" todir="${publish.skinlf.home}/jnlp/"/>
<copy file="${build.dist.lib}/nativeskin.jar" todir="${publish.skinlf.home}/jnlp"/>
<jar destfile="${publish.skinlf.home}/jnlp/nativeskinlibs.jar"
basedir="${build.dist.lib}" includes="*.dll"/>
<!-- copy the documentation
<copy todir="${web.skinlf.home}/documentation">
<fileset dir="${javadoc.destdir}"/>
</copy>
-->
<!-- Sign all Jars -->
<signjar keystore="../common/keystore" alias="L2FProd.com" storepass="L2FProd.com">
<fileset dir="${publish.skinlf.home}/jnlp" includes="*.jar"/>
</signjar>
</target>
<target name="themes">
<zip destfile="${build.www.themedir}/cellshadedthemepack.zip"
basedir="src/themepacks/cellshadedthemepack"/>
<zip destfile="${build.www.themedir}/whistlerthemepack.zip"
basedir="src/themepacks/whistlerthemepack"/>
<zip destfile="${build.www.themedir}/xplunathemepack.zip"
basedir="src/themepacks/xplunathemepack"/>
<zip destfile="${build.www.themedir}/toxicthemepack.zip"
basedir="src/themepacks/toxicthemepack"/>
<zip destfile="${build.www.themedir}/beigeazulthemepack.zip"
basedir="src/themepacks/beigeazulthemepack"/>
<!-- png for these themepacks are not in cvs -->
<zip destfile="${build.www.themedir}/aquathemepack.zip"
basedir="src/themepacks/aquathemepack"/>
<zip destfile="${build.www.themedir}/alloythemepack.zip"
basedir="src/themepacks/alloythemepack"/>
</target>
</project>