mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 01:02:08 +10:00
235 lines
9.1 KiB
XML
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>
|