Browse Source

Use ivy for plugin dependencies.

Depends-On: I34d7849a75cd4c7a91e04a9dad6f8073aa5a8f61
Change-Id: I65d96f91e1eb5ed7afb43dd41cd00531d809878d
Reviewed-on: http://gerrit.dmdirc.com/2736
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
tags/0.8
Chris Smith 10 years ago
parent
commit
c2e94604e5

+ 1
- 0
.gitignore View File

1
 /build
1
 /build
2
 /dist
2
 /dist
3
+/lib
3
 *.iml
4
 *.iml

+ 22
- 0
build-ivy.xml View File

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project name="DMDirc-plugins-ivy" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
3
+    <description>Ivy utilities for DMDirc plugins</description>
4
+
5
+    <property name="ivy.cache.ttl.default" value="7d"/>
6
+
7
+    <target name="-init-ivy" depends="-init-lib-directory">
8
+        <path id="ivy.classpath">
9
+           <fileset dir="etc/ivy" includes="ivy*.jar"/>
10
+        </path>
11
+
12
+        <available classname="org.apache.ivy.ant.IvyConfigure"
13
+              property="ivy.available" classpathref="ivy.classpath" />
14
+    </target>
15
+
16
+    <target name="init-dependencies" depends="-init-ivy" unless="ivy.done">
17
+        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.classpath"/>
18
+        <ivy:settings file="etc/ivy/ivysettings.xml"/>
19
+        <ivy:retrieve symlink="true" pattern="lib/[conf]/[artifact].[ext]" sync="true" />
20
+        <property name="ivy.done" value="true"/>
21
+    </target>
22
+</project>

+ 48
- 36
build.xml View File

9
     <property name="plugins.dist" location="dist"/>
9
     <property name="plugins.dist" location="dist"/>
10
     <property name="plugins.lib" location="lib"/>
10
     <property name="plugins.lib" location="lib"/>
11
 
11
 
12
+    <import file="build-ivy.xml" />
12
     <import file="build-tests.xml"/>
13
     <import file="build-tests.xml"/>
13
 
14
 
14
-    <path id="plugins.classpath">
15
-       <pathelement path="${plugins.dmdirc.build.dir}"/>
16
-       <fileset dir="${plugins.lib}" includes="*.jar"/>
17
-    </path>
18
-
19
-    <condition property="plugins.dmdirc.exists">
20
-       <available classname="com.dmdirc.Main" classpathref="plugins.classpath"/>
21
-    </condition>
22
-
23
     <condition property="plugins.need.antlib">
15
     <condition property="plugins.need.antlib">
24
        <not>
16
        <not>
25
            <typefound name="foreach"/>
17
            <typefound name="foreach"/>
26
        </not>
18
        </not>
27
     </condition>
19
     </condition>
28
 
20
 
29
-    <target name="-init-taskdefs" if="plugins.need.antlib">
21
+    <target name="-init-lib-directory">
22
+      <mkdir dir="${plugins.lib}"/>
23
+    </target>
24
+
25
+    <target name="-init-taskdefs" depends="init-dependencies,-init-paths,-init-antlib,-init-git-describe">
26
+    </target>
27
+
28
+    <target name="-init-antlib" if="plugins.need.antlib">
30
         <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="plugins.classpath"/>
29
         <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="plugins.classpath"/>
31
     </target>
30
     </target>
31
+    
32
+    <target name="-init-git-describe">
33
+        <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="plugins.classpath"/>
34
+    </target>
32
 
35
 
33
-    <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="plugins.classpath"/>
36
+    <target name="-init-paths">
37
+      <path id="plugins.classpath">
38
+         <pathelement path="${plugins.dmdirc.build.dir}"/>
39
+         <fileset dir="${plugins.lib}" includes="**/*.jar"/>
40
+      </path>
41
+
42
+      <condition property="plugins.dmdirc.exists">
43
+         <available classname="com.dmdirc.Main" classpathref="plugins.classpath"/>
44
+      </condition>
45
+    </target>
34
 
46
 
35
     <target name="-check-dmdirc-jar" unless="plugins.dmdirc.exists">
47
     <target name="-check-dmdirc-jar" unless="plugins.dmdirc.exists">
36
        <fail>DMDirc class files not found. Please put DMDirc on the classpath or specify the 'plugins.dmdirc.build.dir' property.</fail>
48
        <fail>DMDirc class files not found. Please put DMDirc on the classpath or specify the 'plugins.dmdirc.build.dir' property.</fail>
37
     </target>
49
     </target>
38
 
50
 
39
-    <target name="-init-compile" depends="-check-dmdirc-jar">
51
+    <target name="-init-compile" depends="init-dependencies,-init-paths,-check-dmdirc-jar">
40
        <mkdir dir="${plugins.build}"/>
52
        <mkdir dir="${plugins.build}"/>
41
        <mkdir dir="${plugins.build.classes}"/>
53
        <mkdir dir="${plugins.build.classes}"/>
42
        <mkdir dir="${plugins.build.metadata}"/>
54
        <mkdir dir="${plugins.build.metadata}"/>
57
 
69
 
58
     <target name="jar" depends="-package,-add-libs"/>
70
     <target name="jar" depends="-package,-add-libs"/>
59
 
71
 
60
-    <target name="-package" depends="-init-taskdefs, compile">
72
+    <target name="-package" depends="-init-taskdefs,compile">
61
         <for param="configfile">
73
         <for param="configfile">
62
             <fileset dir="${plugins.src}" includes="**/plugin.config"/>
74
             <fileset dir="${plugins.src}" includes="**/plugin.config"/>
63
             <sequential>
75
             <sequential>
106
 
118
 
107
     <target name="-add-libs">
119
     <target name="-add-libs">
108
         <jar destfile="${plugins.dist}/ui_swing.jar" update="true">
120
         <jar destfile="${plugins.dist}/ui_swing.jar" update="true">
109
-            <zipfileset src="${plugins.lib}/miglayout-4.0-swing.jar" includes="net/miginfocom/layout/**,net/miginfocom/swing/**"/>
110
-            <zipfileset src="${plugins.lib}/menuscroller.jar" includes="darrylbu/util/**"/>
111
-            <zipfileset src="${plugins.lib}/jxlayer.jar" includes="org/jdesktop/jxlayer/**"/>
112
-            <zipfileset src="${plugins.lib}/cinch.jar" includes="*/**"/>
113
-            <zipfileset src="${plugins.lib}/cinchsupport.jar" includes="*/**"/>
121
+            <zipfileset src="${plugins.lib}/main/miglayout-swing.jar" includes="net/miginfocom/layout/**,net/miginfocom/swing/**"/>
122
+            <zipfileset src="${plugins.lib}/main/menuscroller.jar" includes="darrylbu/util/**"/>
123
+            <zipfileset src="${plugins.lib}/main/jxlayer.jar" includes="org/jdesktop/jxlayer/**"/>
124
+            <zipfileset src="${plugins.lib}/main/cinch.jar" includes="*/**"/>
125
+            <zipfileset src="${plugins.lib}/main/cinchsupport.jar" includes="*/**"/>
114
         </jar>
126
         </jar>
115
 
127
 
116
         <jar destfile="${plugins.dist}/ui_web.jar" update="true">
128
         <jar destfile="${plugins.dist}/ui_web.jar" update="true">
117
-            <zipfileset src="${plugins.lib}/commons-lang-2.4.jar" includes="org/apache/**" excludes="**/*.html"/>
118
-            <zipfileset src="${plugins.lib}/jetty-6.1.22.jar" includes="org/mortbay/**"/>
119
-            <zipfileset src="${plugins.lib}/jetty-util-6.1.22.jar" includes="org/mortbay/**"/>
120
-            <zipfileset src="${plugins.lib}/servlet-api-2.5-20081211.jar" includes="javax/servlet/**"/>
129
+            <zipfileset src="${plugins.lib}/main/commons-lang.jar" includes="org/apache/**" excludes="**/*.html"/>
130
+            <zipfileset src="${plugins.lib}/main/jetty.jar" includes="org/mortbay/**"/>
131
+            <zipfileset src="${plugins.lib}/main/jetty-util.jar" includes="org/mortbay/**"/>
132
+            <zipfileset src="${plugins.lib}/main/servlet-api.jar" includes="javax/servlet/**"/>
121
         </jar>
133
         </jar>
122
 
134
 
123
         <jar destfile="${plugins.dist}/parser_irc.jar" update="true">
135
         <jar destfile="${plugins.dist}/parser_irc.jar" update="true">
128
         </jar>
140
         </jar>
129
 
141
 
130
         <jar destfile="${plugins.dist}/parser_xmpp.jar" update="true">
142
         <jar destfile="${plugins.dist}/parser_xmpp.jar" update="true">
131
-            <zipfileset src="${plugins.lib}/smack.jar" includes="org/**"/>
132
-            <zipfileset src="${plugins.lib}/smackx.jar" includes="org/** com/**"/>
143
+            <zipfileset src="${plugins.lib}/main/smack.jar" includes="org/**"/>
144
+            <zipfileset src="${plugins.lib}/main/smackx.jar" includes="org/** com/**"/>
133
         </jar>
145
         </jar>
134
 
146
 
135
        <jar destfile="${plugins.dist}/parser_msn.jar" update="true">
147
        <jar destfile="${plugins.dist}/parser_msn.jar" update="true">
136
-            <zipfileset src="${plugins.lib}/jml-1.0b4-full.jar" includes="net/** org/**"/>
137
-            <zipfileset src="${plugins.lib}/httpcore.jar" includes="org/**"/>
148
+            <zipfileset src="${plugins.lib}/main/jml.jar" includes="net/** org/**"/>
149
+            <zipfileset src="${plugins.lib}/main/httpcore.jar" includes="org/**"/>
138
         </jar>
150
         </jar>
139
 
151
 
140
         <jar destfile="${plugins.dist}/windowflashing.jar" update="true">
152
         <jar destfile="${plugins.dist}/windowflashing.jar" update="true">
141
-            <zipfileset src="${plugins.lib}/jna.jar" includes="com/**"/>
142
-            <zipfileset src="${plugins.lib}/platform.jar" includes="com/**"/>
153
+            <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/**"/>
154
+            <zipfileset src="${plugins.lib}/main/platform.jar" includes="com/**"/>
143
         </jar>
155
         </jar>
144
 
156
 
145
         <jar destfile="${plugins.dist}/sessionlock.jar" update="true">
157
         <jar destfile="${plugins.dist}/sessionlock.jar" update="true">
146
-            <zipfileset src="${plugins.lib}/jna.jar" includes="com/sun/jna/*"/>
147
-            <zipfileset src="${plugins.lib}/jna.jar" includes="com/sun/jna/ptr/*"/>
148
-            <zipfileset src="${plugins.lib}/jna.jar" includes="com/sun/jna/win32/**"/>
149
-            <zipfileset src="${plugins.lib}/jna.jar" includes="com/sun/jna/win32-amd64/**"/>
150
-            <zipfileset src="${plugins.lib}/jna.jar" includes="com/sun/jna/win32-x86/**"/>
151
-            <zipfileset src="${plugins.lib}/platform.jar" includes="com/sun/jna/platform/win32/**"/>
152
-            <zipfileset src="${plugins.lib}/JavaWindowsSessionLockSupport.jar" includes="com/greboid/**"/>
158
+            <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/*"/>
159
+            <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/ptr/*"/>
160
+            <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32/**"/>
161
+            <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32-amd64/**"/>
162
+            <zipfileset src="${plugins.lib}/main/jna.jar" includes="com/sun/jna/win32-x86/**"/>
163
+            <zipfileset src="${plugins.lib}/main/platform.jar" includes="com/sun/jna/platform/win32/**"/>
164
+            <zipfileset src="${plugins.lib}/main/locksupport.jar" includes="com/greboid/**"/>
153
         </jar>
165
         </jar>
154
 
166
 
155
         <jar destfile="${plugins.dist}/freedesktop_notifications.jar" update="true">
167
         <jar destfile="${plugins.dist}/freedesktop_notifications.jar" update="true">
156
-            <zipfileset src="${plugins.lib}/commons-lang-2.4.jar" includes="org/apache/**" excludes="**/*.html"/>
168
+            <zipfileset src="${plugins.lib}/main/commons-lang.jar" includes="org/apache/**" excludes="**/*.html"/>
157
         </jar>
169
         </jar>
158
     </target>
170
     </target>
159
 
171
 

BIN
etc/ivy/ivy-2.3.0.jar View File


+ 26
- 0
etc/ivy/ivysettings.xml View File

1
+<ivysettings>
2
+    <settings defaultResolver="default"/>
3
+    <resolvers>
4
+        <ibiblio name="default" m2compatible="true"/>
5
+
6
+        <ibiblio name="jgit" root="http://download.eclipse.org/jgit/maven" m2compatible="true"/>
7
+        <ibiblio name="dmdirc-thirdparty" root="http://nexus.dmdirc.com/nexus/content/repositories/thirdparty/" m2compatible="true"/>
8
+        <ibiblio name="jml" root="http://java-jml.sourceforge.net/maven" m2compatible="true"/>
9
+
10
+        <url name="ant-nsis">
11
+            <artifact pattern="http://cloud.github.com/downloads/dreese/nsis-ant/nsisant-[revision].jar"/>
12
+        </url>
13
+
14
+        <url name="jgit-describe">
15
+            <ivy pattern="file:///${basedir}/etc/ivy/[module]/ivy.xml"/>
16
+            <artifact pattern="http://shanemcc.github.com/jgit-describe/releases/jgit-describe-[revision].jar"/>
17
+        </url>
18
+    </resolvers>
19
+    <modules>
20
+        <module organisation="org.sourceforce.ant-nsis" name="ant-nsis" resolver="ant-nsis"/>
21
+        <module organisation="com.github.shanemcc" name="jgit-describe" resolver="jgit-describe"/>
22
+        <module organisation="org.eclipse.jgit" name="*" resolver="jgit"/>
23
+        <module organisation="com.greboid.libraries" name="*" resolver="dmdirc-thirdparty"/>
24
+        <module organisation="net.sourceforge.java-jml" name="*" resolver="jml"/>
25
+    </modules>
26
+</ivysettings>

+ 6
- 0
etc/ivy/jgit-describe/ivy.xml View File

1
+<ivy-module version="2.0">
2
+    <info organisation="com.github.shanemcc" module="jgit-describe"/>
3
+    <dependencies>
4
+        <dependency org="org.eclipse.jgit" name="org.eclipse.jgit" rev="latest.integration" conf="default" />
5
+    </dependencies>
6
+</ivy-module>

+ 52
- 0
ivy.xml View File

1
+<ivy-module version="2.0">
2
+    <info organisation="com.dmdirc" module="plugins"/>
3
+
4
+    <configurations>
5
+        <conf name="build" description="Everything needed to support the build process"/>
6
+        <conf name="main" description="Everything needed to compile the project separately"/>
7
+        <conf name="test" description="Everything needed to test the project"/>
8
+    </configurations>
9
+
10
+    <dependencies>
11
+        <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" conf="build->default" />
12
+        <dependency org="com.github.shanemcc" name="jgit-describe" rev="0.3" conf="build->default" />
13
+
14
+        <dependency org="org.slf4j" name="slf4j-api" rev="1.+" conf="main->default" />
15
+        <dependency org="com.github.peichhorn" name="lombok-pg" rev="latest.release" conf="main->default" />
16
+        <dependency org="org.igniterealtime.smack" name="smack" rev="3.+" conf="main->default" />
17
+        <dependency org="org.igniterealtime.smack" name="smackx" rev="3.+" conf="main->default" />
18
+        <dependency org="com.miglayout" name="miglayout-swing" rev="4.+" conf="main->default" />
19
+        <dependency org="org.swinglabs" name="jxlayer" rev="3.+" conf="main->default" />
20
+        <dependency org="net.java.dev.jna" name="jna" rev="3.+" conf="main->default" />
21
+        <dependency org="net.java.dev.jna" name="platform" rev="3.+" conf="main->default" />
22
+        <dependency org="com.greboid.libraries" name="cinch" rev="latest.release" conf="main->default" />
23
+        <dependency org="com.greboid.libraries" name="cinchsupport" rev="latest.release" conf="main->default" />
24
+        <dependency org="com.greboid.libraries" name="locksupport" rev="latest.release" conf="main->default" />
25
+        <dependency org="com.greboid.libraries" name="menuscroller" rev="latest.release" conf="main->default" />
26
+        <dependency org="org.mortbay.jetty" name="jetty" rev="6.+" conf="main->default" />
27
+        <dependency org="net.sourceforge.java-jml" name="jml" rev="1.+" conf="main->default" />
28
+        <dependency org="commons-lang" name="commons-lang" rev="latest.release" conf="main->default" />
29
+
30
+<!--
31
+        <dependency org="org.sourceforce.ant-nsis" name="ant-nsis" rev="1.3" conf="build->default" />
32
+        <dependency org="com.github.shanemcc" name="jgit-describe" rev="0.3" conf="build->default" />
33
+        <dependency org="net.sourceforge.fikin-ant-tasks" name="ant-fikin" rev="1.7.3" conf="build->default" />
34
+
35
+        <dependency org="org.slf4j" name="slf4j-api" rev="1.+" conf="main->default" />
36
+        <dependency org="ch.qos.logback" name="logback-classic" rev="1.+" conf="test->default" />
37
+
38
+        <dependency org="com.squareup.dagger" name="dagger" rev="1.1.+" conf="main->default" />
39
+        <dependency org="com.squareup.dagger" name="dagger-compiler" rev="1.1.+" conf="main->default" />
40
+
41
+        <dependency org="junit" name="junit" rev="4.+" conf="test->default" />
42
+        <dependency org="org.mockito" name="mockito-all" rev="1.+" conf="test->default" />
43
+        <dependency org="com.cenqua.clover" name="clover" rev="3.+" conf="test->default" />
44
+
45
+        <dependency org="pmd" name="pmd" rev="4.+" conf="analyse->default" />
46
+        <dependency org="com.puppycrawl.tools" name="checkstyle" rev="5.+" conf="analyse->default" />
47
+        <dependency org="net.sourceforge.findbugs" name="findbugs-ant" rev="1.+" conf="analyse->default" />
48
+
49
+        <exclude org="ant" module="ant"/>
50
+-->
51
+    </dependencies>
52
+</ivy-module>

BIN
lib/JavaWindowsSessionLockSupport.jar View File


BIN
lib/ant-contrib-1.0b3.jar View File


BIN
lib/cinch.jar View File


BIN
lib/cinchsupport.jar View File


BIN
lib/commons-codec-1.3.jar View File


BIN
lib/commons-lang-2.4.jar View File


BIN
lib/httpcore.jar View File


BIN
lib/jetty-6.1.22.jar View File


BIN
lib/jetty-util-6.1.22.jar View File


BIN
lib/jgit-describe-0.2.jar View File


BIN
lib/jml-1.0b4-full.jar View File


BIN
lib/jna.jar View File


BIN
lib/jxlayer.jar View File


BIN
lib/lombok-pg-0.11.3.jar View File


BIN
lib/menuscroller.jar View File


BIN
lib/miglayout-4.0-swing.jar View File


BIN
lib/org.eclipse.jgit-1.3.0-SNAPSHOT.jar View File


BIN
lib/platform.jar View File


BIN
lib/servlet-api-2.5-20081211.jar View File


BIN
lib/signpost-core-1.1-SNAPSHOT.jar View File


BIN
lib/slf4j-api-1.6.4.jar View File


BIN
lib/smack.jar View File


BIN
lib/smackx.jar View File


+ 2
- 1
src/com/dmdirc/addons/parser_xmpp/FixedXmppConnection.java View File

26
 import java.util.HashSet;
26
 import java.util.HashSet;
27
 import java.util.Set;
27
 import java.util.Set;
28
 
28
 
29
+import org.jivesoftware.smack.Connection;
29
 import org.jivesoftware.smack.ConnectionConfiguration;
30
 import org.jivesoftware.smack.ConnectionConfiguration;
30
 import org.jivesoftware.smack.ConnectionCreationListener;
31
 import org.jivesoftware.smack.ConnectionCreationListener;
31
 import org.jivesoftware.smack.XMPPConnection;
32
 import org.jivesoftware.smack.XMPPConnection;
82
     /** {@inheritDoc} */
83
     /** {@inheritDoc} */
83
     @Override
84
     @Override
84
     @SuppressWarnings("ResultOfObjectAllocationIgnored")
85
     @SuppressWarnings("ResultOfObjectAllocationIgnored")
85
-    public void connectionCreated(final XMPPConnection xmppc) {
86
+    public void connectionCreated(final Connection xmppc) {
86
         // Creating this shoves itself into a static map. Other listeners
87
         // Creating this shoves itself into a static map. Other listeners
87
         // depend on this entry existing in the map before they're called.
88
         // depend on this entry existing in the map before they're called.
88
         new ServiceDiscoveryManager(xmppc);
89
         new ServiceDiscoveryManager(xmppc);

Loading…
Cancel
Save