Files
diy-layout-creator/diylc/diylc-swing/build.xml
T
Bane Stojkovic 18c7b9207b Release 4.30.1
2022-10-23 07:27:24 +02:00

235 lines
9.1 KiB
XML

<project name="diylc-swing" basedir="." default="win">
<taskdef name="bundleapp"
classname="com.oracle.appbundler.AppBundlerTask" />
<property name="src.dir" value="src" />
<property name="lib.dir" value="${basedir}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="jar.dir" value="${build.dir}/jar" />
<property name="report.dir" value="${build.dir}/junitreport" />
<property name="main.class" value="org.diylc.DIYLCStarter" />
<property name="diylc.version" value="4.30.1" />
<property name="osx.jre8.path" value="jre\osx\jre8u321\Contents\Home\" />
<property name="osx.jre8m1.path" value="jre\osx\zulu-17.jre\Contents\Home\" />
<property name="classes.dir" value="${build.dir}/temp/${ant.project.name}/classes" />
<property name="test.classes.dir" value="${build.dir}/temp/${ant.project.name}/test.classes" />
<target name="clean">
<delete dir="${build.dir}" />
</target>
<!--change src dir-->
<target name="compile">
<ant antfile="../diylc-library/build.xml" target="jar" inheritAll="false" />
<mkdir dir="${classes.dir}" />
<echo>Compile with JDK ${java.runtime.version}</echo>
<javac compiler="modern" encoding="8859_1" srcdir="${src.dir}" destdir="${classes.dir}" classpathref="class.path" includeantruntime="false">
<compilerarg value="-proc:none" />
</javac>
</target>
<target name="resource.copy">
<copy todir="${classes.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.java" />
</fileset>
</copy>
</target>
<target name="lib.copy">
<copy todir="${jar.dir}/lib" overwrite="true">
<fileset dir="${basedir}/lib">
<exclude name="**/*dll" />
</fileset>
</copy>
<copy todir="${jar.dir}/library" overwrite="true">
<fileset dir="${basedir}/library">
<exclude name="**/*dll" />
</fileset>
</copy>
<copy todir="${jar.dir}" overwrite="true">
<fileset dir="${basedir}/lib/" includes="**/*.dll" />
</copy>
</target>
<path id="class.path">
<fileset dir="${basedir}">
<include name="lib/**/*.jar" />
<include name="library/**/*.jar" />
</fileset>
</path>
<manifestclasspath jarfile="${ant.project.name}.jar" property="manifest.class.path">
<classpath refid="class.path" />
</manifestclasspath>
<target name="jar" depends="clean, lib.copy, resource.copy, compile">
<jar destfile="${jar.dir}/diylc.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Built-By" value="${user.name}" />
<attribute name="Main-Class" value="${main.class}" />
<attribute name="Class-Path" value="${manifest.class.path}" />
<attribute name="SplashScreen-Image" value="splash.png" />
</manifest>
<zipfileset dir="." includes="config.properties" />
</jar>
</target>
<target name="mac" depends="jar">
<bundleapp
outputdirectory="${build.dir}"
name="DIYLC"
jvmrequired="1.8"
copyright="2020 bancika"
displayname="DIY Layout Creator"
identifier="org.diylc.Desktop"
shortversion="${diylc.version}"
applicationCategory="public.app-category.graphics-design"
icon="icons/diylc.icns"
mainclassname="${main.class}">
<bundledocument contentTypes="org.diylc.diy"
name="DIYLC document"
role="Editor"
handlerRank="Owner">
</bundledocument>
<typedeclaration
identifier="org.diylc.diy"
description="DIYLC file type"
icon="icons/diylc.icns"
conformsTo="public.xml,public.text"
extensions="diy" />
<runtime dir="${osx.jre8.path}" />
<classpath file="${jar.dir}\diylc.jar" />
<classpath file="${jar.dir}\lib\*.jar" />
<classpath file="${jar.dir}\library\*.jar" />
<option value="-Xms512m" />
<option value="-Xmx2048m" />
<!--<option value="-javaagent:Contents/Java/jar-loader.jar" />-->
<option value="-Dorg.diylc.scriptRun=true" />
<option value="-Dfile.encoding=UTF-8" />
<option value="-Dcom.apple.macos.use-file-dialog-packages=true"/>
<option value="-Dapple.laf.useScreenMenuBar=true"/>
<option value="-Dapple.awt.application.name=DIY Layout Creator"/>
<option value="-Dcom.apple.smallTabs=true"/>
<option value="-Xdock:name=DIY Layout Creator"/>
<option value="-Xdock:icon=Contents/Resources/diylc.icns"/>
</bundleapp>
<zip destfile="${build.dir}/diylc-${diylc.version}-osx.zip">
<zipfileset filemode="755" dir="${build.dir}/DIYLC.app" prefix="DIYLC.app" />
<zipfileset filemode="755" dir="${basedir}/themes" prefix="DIYLC.app/Contents/Resources/themes" />
<zipfileset filemode="755" dir="${basedir}/fonts" prefix="DIYLC.app/Contents/Resources/fonts" />
<zipfileset filemode="755" dir="${basedir}/lang" prefix="DIYLC.app/Contents/Resources/lang" />
</zip>
</target>
<target name="mac-m1" depends="jar">
<bundleapp
outputdirectory="${build.dir}"
name="DIYLC"
jvmrequired="1.8"
copyright="2022 bancika"
displayname="DIY Layout Creator"
identifier="org.diylc.Desktop"
shortversion="${diylc.version}"
applicationCategory="public.app-category.graphics-design"
icon="icons/diylc.icns"
mainclassname="${main.class}">
<bundledocument contentTypes="org.diylc.diy"
name="DIYLC document"
role="Editor"
handlerRank="Owner">
</bundledocument>
<typedeclaration
identifier="org.diylc.diy"
description="DIYLC file type"
icon="icons/diylc.icns"
conformsTo="public.xml,public.text"
extensions="diy" />
<runtime dir="${osx.jre8m1.path}" />
<arch name="arm64" />
<arch name="arm64e" />
<classpath file="${jar.dir}\diylc.jar" />
<classpath file="${jar.dir}\lib\*.jar" />
<classpath file="${jar.dir}\library\*.jar" />
<option value="-Xms512m" />
<option value="-Xmx2048m" />
<!--<option value="-javaagent:Contents/Java/jar-loader.jar" />-->
<option value="-Dorg.diylc.scriptRun=true" />
<option value="-Dfile.encoding=UTF-8" />
<option value="-Dcom.apple.macos.use-file-dialog-packages=true"/>
<option value="-Dapple.laf.useScreenMenuBar=true"/>
<option value="-Dapple.awt.application.name=DIY Layout Creator"/>
<option value="-Dcom.apple.smallTabs=true"/>
<option value="-Xdock:name=DIY Layout Creator"/>
<option value="-Xdock:icon=Contents/Resources/diylc.icns"/>
</bundleapp>
<zip destfile="${build.dir}/diylc-${diylc.version}-osx-m1.zip">
<zipfileset filemode="755" dir="${build.dir}/DIYLC.app" prefix="DIYLC.app" />
<zipfileset filemode="755" dir="${basedir}/themes" prefix="DIYLC.app/Contents/Resources/themes" />
<zipfileset filemode="755" dir="${basedir}/fonts" prefix="DIYLC.app/Contents/Resources/fonts" />
<zipfileset filemode="755" dir="${basedir}/lang" prefix="DIYLC.app/Contents/Resources/lang" />
</zip>
</target>
<property name="izpack-dist" value="e:\bane\dev\IzPack" />
<path id="lib.path">
<fileset dir="${izpack-dist}/lib" includes="*.jar" />
</path>
<taskdef name="izpack" classname="com.izforge.izpack.ant.IzPackTask" classpathref="lib.path" />
<target name="win" depends="jar">
<exec executable="innosetup\iscc.exe">
<arg value="/Ddiylcver=${diylc.version}"/>
<arg value="/Fdiylc-${diylc.version}-win"/>
<arg value="install.iss"/>
</exec>
</target>
<target name="universal_installer" depends="jar">
<izpack input="${basedir}/izpack.xml"
output="${build.dir}/diylc-${diylc.version}-setup.jar"
installerType="standard"
basedir="."
izPackDir="${izpack-dist}"/>
</target>
<target name="universal" depends="jar">
<zip destfile="${build.dir}/diylc-${diylc.version}.zip">
<zipfileset dir="${jar.dir}" includes="diylc.jar" />
<zipfileset dir="${jar.dir}/lib" prefix="lib" />
<zipfileset dir="${jar.dir}/library/" prefix="library" />
<zipfileset dir="templates" prefix="templates" />
<zipfileset dir="themes" prefix="themes" />
<zipfileset dir="fonts" prefix="fonts" />
<zipfileset dir="lang" prefix="lang" />
<zipfileset dir="." includes="splash.png" />
<zipfileset dir="." includes="run.sh" />
<zipfileset dir="." includes="diylc.l4j.ini" />
<zipfileset dir="." includes="diylc.exe" />
<zipfileset dir="icons" includes="*.png" prefix="icons" />
<zipfileset dir="flatpak" includes="com.diy_fever.DIYLayoutCreator.desktop" />
<zipfileset dir="flatpak" includes="com.diy_fever.DIYLayoutCreator.metainfo.xml" />
<zipfileset dir="jre/win/jre1.8.0_211" prefix="jre" />
</zip>
<checksum file="${build.dir}/diylc-${diylc.version}.zip" algorithm="SHA-256"/>
</target>
<target name="full" depends="win,universal,mac" />
<target name="javadoc">
<javadoc access="public" author="true" classpathref="class.path" destdir="doc" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.6" splitindex="true" use="true" version="true">
<fileset dir="${src.dir}">
<exclude name="**\.svn\**" />
<include name="**/*.java" />
</fileset>
</javadoc>
</target>
</project>