Skip to content

Commit

Permalink
simplify build system
Browse files Browse the repository at this point in the history
  • Loading branch information
Abbe98 committed Oct 15, 2021
1 parent 3c96b7d commit bc2887e
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 5,707 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ store
dist
nbproject\private
/nbproject/private/
bin
pattypan.jar
10 changes: 2 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,12 @@ __[:arrow_down: Download](https://github.com/yarl/pattypan/releases)__
----

### Build and run
Program is being written using [NetBeans IDE](https://netbeans.org/) and [Apache Ant](https://ant.apache.org/) is used for building. In order to download and build source code, do following:
[Apache Ant](https://ant.apache.org/) is used for building Pattypan. In order to download and build source code, do the following:

```
git clone https://github.com/yarl/pattypan.git
cd pattypan
ant package-for-store
```
You will find compiled `.jar` file in `store` directory.

```
cd store
java -jar pattypan.jar
ant compile && ant jar
```

You can also set test server or any other server:
Expand Down
101 changes: 29 additions & 72 deletions build.xml
Original file line number Diff line number Diff line change
@@ -1,79 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?><!-- You may freely edit this file. See commented blocks below for --><!-- some examples of how to customize the build. --><!-- (If you delete it and reopen the project it will be recreated.) --><!-- By default, only the Clean and Build commands use this build script. --><project name="pattypan" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant">
<description>Builds, tests, and runs the project pattypan.</description>
<import file="nbproject/build-impl.xml"/>
<!--
There exist several targets which are by default empty and which can be
used for execution of your tasks. These targets are usually executed
before and after some main targets. Those of them relevant for JavaFX project are:
-pre-init: called before initialization of project properties
-post-init: called after initialization of project properties
-pre-compile: called before javac compilation
-post-compile: called after javac compilation
-pre-compile-test: called before javac compilation of JUnit tests
-post-compile-test: called after javac compilation of JUnit tests
-pre-jfx-jar: called before FX SDK specific <fx:jar> task
-post-jfx-jar: called after FX SDK specific <fx:jar> task
-pre-jfx-deploy: called before FX SDK specific <fx:deploy> task
-post-jfx-deploy: called after FX SDK specific <fx:deploy> task
-pre-jfx-native: called just after -pre-jfx-deploy if <fx:deploy> runs in native packaging mode
-post-jfx-native: called just after -post-jfx-deploy if <fx:deploy> runs in native packaging mode
-post-clean: called after cleaning build products
(Targets beginning with '-' are not intended to be called on their own.)
Example of inserting a HTML postprocessor after javaFX SDK deployment:
<target name="-post-jfx-deploy">
<basename property="jfx.deployment.base" file="${jfx.deployment.jar}" suffix=".jar"/>
<property name="jfx.deployment.html" location="${jfx.deployment.dir}${file.separator}${jfx.deployment.base}.html"/>
<custompostprocess>
<fileset dir="${jfx.deployment.html}"/>
</custompostprocess>
</target>
Example of calling an Ant task from JavaFX SDK. Note that access to JavaFX SDK Ant tasks must be
initialized; to ensure this is done add the dependence on -check-jfx-sdk-version target:
<target name="-post-jfx-jar" depends="-check-jfx-sdk-version">
<echo message="Calling jar task from JavaFX SDK"/>
<fx:jar ...>
...
</fx:jar>
</target>
For more details about JavaFX SDK Ant tasks go to
http://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm
For list of available properties check the files
nbproject/build-impl.xml and nbproject/jfx-impl.xml.
-->
<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="pattypan"/>

<!-- don't edit below this line -->
<property name="store.dir" value="store"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
<delete dir="${store.dir}"/>
<mkdir dir="${store.dir}"/>

<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
<zipgroupfileset dir="${dist.dir}" includes="*.jar"/>
<zipgroupfileset dir="lib" includes="*.jar"/>
<project default="compile" basedir=".">
<property name="lib.dir" location="lib" />

<path id="classpath">
<fileset dir="lib">
<include name="**/*.jar" />
</fileset>
</path>

<target name="compile">
<mkdir dir="bin"/>
<javac includeantruntime="false" srcdir="src" destdir="bin">
<classpath refid="classpath" />
</javac>
<copy todir="bin/pattypan/resources">
<fileset dir="src/pattypan/resources"/>
</copy>
<copy todir="bin/pattypan/style">
<fileset dir="src/pattypan/style"/>
</copy>
<copy todir="bin/pattypan/text">
<fileset dir="src/pattypan/text"/>
</copy>
</target>

<target name="jar">
<jar destfile="pattypan.jar" basedir="bin" includes="**/*">
<manifest>
<attribute name="Class-Path" value="${lib.dir}"/>
<attribute name="Main-Class" value="pattypan.Main"/>
</manifest>
</jar>

<zip destfile="${store.jar}">
<zipfileset src="${store.dir}/temp_final.jar"
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>
<delete file="${store.dir}/temp_final.jar"/>
<zipgroupfileset dir="${lib.dir}"/>
</jar>
</target>
</project>
3 changes: 0 additions & 3 deletions manifest.mf

This file was deleted.

Loading

0 comments on commit bc2887e

Please sign in to comment.