|
@@ -2,164 +2,44 @@
|
2
|
2
|
<project name="DMDirc Plugins" default="default" basedir=".">
|
3
|
3
|
<description>Builds, packages and tests DMDirc plugins.</description>
|
4
|
4
|
|
5
|
|
- <property name="plugins.src" location="src"/>
|
6
|
|
- <property name="plugins.build" location="build"/>
|
7
|
|
- <property name="plugins.build.classes" location="${plugins.build}/classes"/>
|
8
|
|
- <property name="plugins.build.metadata" location="${plugins.build}/metadata"/>
|
9
|
|
- <property name="plugins.dist" location="dist"/>
|
10
|
|
- <property name="plugins.lib" location="lib"/>
|
11
|
|
- <property name="plugins.source.level" value="1.7"/>
|
12
|
|
- <property name="plugins.target.level" value="1.7"/>
|
13
|
|
-
|
14
|
|
- <import file="build-ivy.xml" />
|
15
|
|
- <import file="build-tests.xml"/>
|
16
|
|
-
|
17
|
|
- <condition property="plugins.need.antlib">
|
18
|
|
- <not>
|
19
|
|
- <typefound name="foreach"/>
|
20
|
|
- </not>
|
21
|
|
- </condition>
|
22
|
|
-
|
23
|
|
- <target name="-init-taskdefs" depends="init-dependencies,-init-paths,-init-antlib,-init-git-describe">
|
24
|
|
- </target>
|
25
|
|
-
|
26
|
|
- <target name="-init-antlib" if="plugins.need.antlib">
|
27
|
|
- <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="plugins.classpath"/>
|
28
|
|
- </target>
|
29
|
|
-
|
30
|
|
- <target name="-init-git-describe">
|
31
|
|
- <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="plugins.classpath"/>
|
32
|
|
- </target>
|
33
|
|
-
|
34
|
|
- <target name="-init-paths">
|
35
|
|
- <path id="plugins.classpath">
|
36
|
|
- <pathelement path="${plugins.dmdirc.build.dir}"/>
|
37
|
|
- <fileset dir="${plugins.lib}" includes="**/*.jar"/>
|
38
|
|
- </path>
|
39
|
|
-
|
40
|
|
- <condition property="plugins.dmdirc.exists">
|
41
|
|
- <available classname="com.dmdirc.Main" classpathref="plugins.classpath"/>
|
42
|
|
- </condition>
|
43
|
|
- </target>
|
44
|
|
-
|
45
|
|
- <target name="-check-dmdirc-jar" unless="plugins.dmdirc.exists">
|
46
|
|
- <fail>DMDirc class files not found. Please put DMDirc on the classpath or specify the 'plugins.dmdirc.build.dir' property.</fail>
|
47
|
|
- </target>
|
48
|
|
-
|
49
|
|
- <target name="-init-compile" depends="init-dependencies,-init-paths,-check-dmdirc-jar">
|
50
|
|
- <mkdir dir="${plugins.build}"/>
|
51
|
|
- <mkdir dir="${plugins.build.classes}"/>
|
52
|
|
- <mkdir dir="${plugins.build.metadata}"/>
|
53
|
|
- </target>
|
54
|
|
-
|
55
|
|
- <target name="compile" depends="-init-compile">
|
56
|
|
- <javac srcdir="${plugins.src}" destdir="${plugins.build.classes}"
|
57
|
|
- classpathref="plugins.classpath" includeantruntime="false"
|
58
|
|
- debug="true" deprecation="true"
|
59
|
|
- source="${plugins.source.level}"
|
60
|
|
- target="${plugins.target.level}">
|
61
|
|
- <compilerarg value="-Xlint:all"/>
|
62
|
|
- <compilerarg value="-Xmaxwarns"/>
|
63
|
|
- <compilerarg value="1000"/>
|
64
|
|
- <compilerarg value="-Xmaxerrs"/>
|
65
|
|
- <compilerarg value="1000"/>
|
66
|
|
- </javac>
|
67
|
|
-
|
68
|
|
- <copy todir="${plugins.build.classes}">
|
69
|
|
- <fileset dir="${plugins.src}">
|
70
|
|
- <exclude name="**/*.java"/>
|
71
|
|
- <exclude name="**/plugin.config"/>
|
72
|
|
- </fileset>
|
73
|
|
- </copy>
|
|
5
|
+ <!-- Resolve the relative directory -->
|
|
6
|
+ <property name="dmdircOutput" location="${plugins.dmdirc.build.dir}"/>
|
|
7
|
+
|
|
8
|
+ <target name="init-dependencies"/>
|
|
9
|
+
|
|
10
|
+ <target name="compile">
|
|
11
|
+ <exec executable="gradle" dir=".">
|
|
12
|
+ <arg value="-PdmdircOutput=${dmdircOutput}"/>
|
|
13
|
+ <arg value="--parallel"/>
|
|
14
|
+ <arg value="compile"/>
|
|
15
|
+ </exec>
|
|
16
|
+ </target>
|
|
17
|
+
|
|
18
|
+ <target name="jar">
|
|
19
|
+ <exec executable="gradle" dir=".">
|
|
20
|
+ <arg value="-PdmdircOutput=${dmdircOutput}"/>
|
|
21
|
+ <arg value="--parallel"/>
|
|
22
|
+ <arg value="jar"/>
|
|
23
|
+ </exec>
|
|
24
|
+
|
|
25
|
+ <mkdir dir="dist"/>
|
|
26
|
+ <copy todir="dist" flatten="true">
|
|
27
|
+ <fileset dir=".">
|
|
28
|
+ <include name="*/build/libs/*.jar"/>
|
|
29
|
+ </fileset>
|
|
30
|
+ </copy>
|
74
|
31
|
</target>
|
75
|
32
|
|
76
|
|
- <target name="jar" depends="-package,-add-libs"/>
|
77
|
|
-
|
78
|
|
- <target name="-package" depends="-init-taskdefs,compile">
|
79
|
|
- <for param="configfile">
|
80
|
|
- <fileset dir="${plugins.src}" includes="**/plugin.config"/>
|
81
|
|
- <sequential>
|
82
|
|
- <local name="plugin.src.dir"/>
|
83
|
|
- <local name="plugin.build.dir"/>
|
84
|
|
- <local name="plugin.name"/>
|
85
|
|
- <local name="plugin.jar"/>
|
86
|
|
- <local name="plugin.version"/>
|
87
|
|
-
|
88
|
|
- <dirname file="@{configfile}" property="plugin.src.dir"/>
|
89
|
|
- <basename file="${plugin.src.dir}" property="plugin.name"/>
|
90
|
|
- <property name="plugin.jar" value="${plugins.dist}/${plugin.name}.jar"/>
|
91
|
|
-
|
92
|
|
- <if>
|
93
|
|
- <not>
|
94
|
|
- <uptodate targetfile="${plugin.jar}">
|
95
|
|
- <srcfiles dir="${plugin.src.dir}" includes="*"/>
|
96
|
|
- </uptodate>
|
97
|
|
- </not>
|
98
|
|
- <then>
|
99
|
|
- <propertyregex property="plugin.build.dir" input="${plugin.src.dir}" regexp="\Q${plugins.src}\E/?(.*)" replace="\1"/>
|
100
|
|
-
|
101
|
|
- <copy todir="${plugins.build.metadata}/${plugin.name}/META-INF">
|
102
|
|
- <fileset file="@{configfile}"/>
|
103
|
|
- <fileset dir="${plugin.src.dir}" includes="identities/** licences/**"/>
|
104
|
|
- </copy>
|
105
|
|
-
|
106
|
|
- <git-describe dir=".git" property="plugin.version" subdir="${plugin.src.dir}" />
|
107
|
|
-
|
108
|
|
- <echo file="${plugins.build.metadata}/${plugin.name}/META-INF/plugin.config" append="true">
|
109
|
|
-version:
|
110
|
|
- number=${plugin.version}
|
111
|
|
-</echo>
|
112
|
|
-
|
113
|
|
- <jar destfile="${plugin.jar}">
|
114
|
|
- <fileset dir="${plugins.build.classes}" includes="${plugin.build.dir}/**"/>
|
115
|
|
- <fileset dir="${plugins.build.metadata}/${plugin.name}" includes="META-INF/**"/>
|
116
|
|
- </jar>
|
117
|
|
-
|
118
|
|
- <echo>Built ${plugin.name} plugin version ${plugin.version}</echo>
|
119
|
|
- </then>
|
120
|
|
- </if>
|
121
|
|
- </sequential>
|
122
|
|
- </for>
|
|
33
|
+ <target name="clean">
|
|
34
|
+ <exec executable="gradle" dir=".">
|
|
35
|
+ <arg value="-PdmdircOutput=${dmdircOutput}"/>
|
|
36
|
+ <arg value="--parallel"/>
|
|
37
|
+ <arg value="clean"/>
|
|
38
|
+ </exec>
|
123
|
39
|
</target>
|
124
|
40
|
|
125
|
|
- <target name="-add-libs">
|
126
|
|
- <jar destfile="${plugins.dist}/ui_swing.jar" update="true">
|
127
|
|
- <zipfileset src="${plugins.lib}/main/miglayout-swing.jar" includes="net/miginfocom/swing/**"/>
|
128
|
|
- <zipfileset src="${plugins.lib}/main/miglayout-core.jar" includes="net/miginfocom/layout/**"/>
|
129
|
|
- <zipfileset src="${plugins.lib}/main/menuscroller.jar" includes="darrylbu/util/**"/>
|
130
|
|
- <zipfileset src="${plugins.lib}/main/jxlayer.jar" includes="org/jdesktop/jxlayer/**"/>
|
131
|
|
- </jar>
|
132
|
|
-
|
133
|
|
- <jar destfile="${plugins.dist}/parser_irc.jar" update="true">
|
134
|
|
- <!-- TODO: this could also be a jar in the lib dir -->
|
135
|
|
- <fileset dir="${plugins.dmdirc.build.dir}">
|
136
|
|
- <include name="com/dmdirc/parser/irc/**/*.class"/>
|
137
|
|
- </fileset>
|
138
|
|
- </jar>
|
139
|
|
-
|
140
|
|
- <jar destfile="${plugins.dist}/parser_xmpp.jar" update="true">
|
141
|
|
- <zipfileset src="${plugins.lib}/main/smack.jar" includes="org/**"/>
|
142
|
|
- <zipfileset src="${plugins.lib}/main/smackx.jar" includes="org/** com/**"/>
|
143
|
|
- </jar>
|
|
41
|
+ <target name="with.clover"/>
|
144
|
42
|
|
145
|
|
- <jar destfile="${plugins.dist}/windowflashing.jar" update="true">
|
146
|
|
- <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/**"/>
|
147
|
|
- <zipfileset src="${plugins.lib}/main/platform.jar" includes="com/**"/>
|
148
|
|
- </jar>
|
|
43
|
+ <target name="compile-for-tests" depends="compile"/>
|
149
|
44
|
|
150
|
|
- <jar destfile="${plugins.dist}/sessionlock.jar" update="true">
|
151
|
|
- <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/*"/>
|
152
|
|
- <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/ptr/*"/>
|
153
|
|
- <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32/**"/>
|
154
|
|
- <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32-amd64/**"/>
|
155
|
|
- <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32-x86/**"/>
|
156
|
|
- <zipfileset src="${plugins.lib}/main/platform.jar" includes="com/sun/jna/platform/win32/**"/>
|
157
|
|
- <zipfileset src="${plugins.lib}/main/locksupport.jar" includes="com/greboid/**"/>
|
158
|
|
- </jar>
|
159
|
|
- </target>
|
160
|
|
-
|
161
|
|
- <target name="clean">
|
162
|
|
- <delete dir="${plugins.build}"/>
|
163
|
|
- <delete dir="${plugins.dist}"/>
|
164
|
|
- </target>
|
165
|
45
|
</project>
|