| <!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> |