-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
60 lines (50 loc) · 2.51 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
<description>CryptNotepad Ant Build</description>
<!--
http://stackoverflow.com/questions/1431315/build-numbers-major-minor-revision
-->
<property name="outputJar" value="CryptNotepad.jar" />
<property file="build_info.properties" />
<property name="build.number" value="${build.major.number}.${build.minor.number}" />
<!-- マニフェストのバージョン番号を更新しコンパイル後、実行可能jarを作成する -->
<target name="default" depends="generateManifest" description="マニフェストのバージョン番号を更新し、コンパイル後、実行可能jarを作成する">
<antcall target="compileAndCreateExecutableJar"/>
</target>
<!-- コンパイルと実行可能JARの作成 -->
<target name="compileAndCreateExecutableJar" description="コンパイルと実行可能JARファイルの作成">
<delete dir="work" />
<mkdir dir="work" />
<javac srcdir="src" destdir="work" encoding="UTF-8" target="1.6" debug="on">
<classpath>
</classpath>
</javac>
<copy todir="work">
<fileset dir="src">
<!-- <exclude name="**/*.java" /> ※ パッケージにはソースファイルを含む -->
</fileset>
</copy>
<jar basedir="work" destfile="${outputJar}" index="true" manifest="src/META-INF/MANIFEST.MF">
</jar>
<delete dir="work" />
</target>
<!-- マニフェストの更新とバージョン番号の増加 -->
<target name="generateManifest" description="MANIFEST.MFの更新とバージョン番号の増加">
<manifest file="src/META-INF/MANIFEST.MF">
<attribute name="Main-Class" value="jp.seraphyware.cryptnotepad.Main" />
<attribute name="Specification-Title" value="cryptnotepad" />
<attribute name="Specification-Version" value="1.0" />
<attribute name="Specification-Vendor" value="seraphyware.jp" />
<attribute name="Built-By" value="[email protected]" />
<attribute name="Built-On" value="${build-info.current-date}" />
<attribute name="Built-At" value="${build-info.current-time}" />
<attribute name="Implementation-Title" value="cryptnotepad" />
<attribute name="Implementation-Version" value="${build.number}" />
<attribute name="Implementation-URL" value="https://github.com/seraphy/cryptnotepad" />
<attribute name="Implementation-Vendor" value="seraphyware.jp" />
</manifest>
<propertyfile file="build_info.properties">
<entry key="build.minor.number" type="int" operation="+" value="1" />
</propertyfile>
</target>
</project>