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.
300 lines
11 KiB
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>
|