瀏覽代碼

Add ant files to publish to maven

Change-Id: I5b82eab0630c0fdf0d9efff3ddcab07d23302662
Reviewed-on: http://gerrit.dmdirc.com/2508
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
tags/0.7rc1
Greg Holmes 12 年之前
父節點
當前提交
4a1ac2be2b
共有 7 個文件被更改,包括 83 次插入21 次删除
  1. 65
    0
      build-publish.xml
  2. 2
    2
      build-versioning.xml
  3. 5
    0
      build.xml
  4. 5
    12
      etc/ivy/ivysettings.xml
  5. 0
    6
      etc/ivy/jgit-describe/ivy.xml
  6. 5
    0
      ivy.xml
  7. 1
    1
      nbproject/project.properties

+ 65
- 0
build-publish.xml 查看文件

@@ -0,0 +1,65 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project name="DMDirc-Publish" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
3
+    <description>Publish artifacts for DMDirc</description>
4
+
5
+    <available file="${git.dir}" property="is.git" />
6
+
7
+    <target name="-init-version">
8
+        <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="lib.classpath"/>
9
+    </target>
10
+
11
+    <target name="-get-git-version" depends="-init-version" if="is.git">
12
+        <property name="resolved.src.dir" location="${src.dir}"/>
13
+        <git-describe dir="${git.dir}" property="git.version" subdir="${basedir}/${src.dir}" />
14
+    </target>
15
+
16
+    <target name="-publish-snapshot" depends="-get-git-version">
17
+        <git-describe dir="${git.dir}" property="git.version" subdir="${main.src.dir}" />
18
+        <ivy:resolve file="ivy.xml"/>
19
+        <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="${git.version}-SNAPSHOT" />
20
+        <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="dist/utils.pom">
21
+            <mapping conf="default" scope="compile"/>
22
+        </ivy:makepom>
23
+        <ivy:retrieve/>
24
+        <ivy:publish
25
+            pubrevision="${git.version}-SNAPSHOT"
26
+            status="integration"
27
+            overwrite="true"
28
+            publishivy="false"
29
+            artifactspattern="dist/[artifact].[ext]"
30
+            resolver="upload-snapshot"/>
31
+    </target>
32
+    <target name="-publish-release" depends="-get-git-version">
33
+        <ivy:resolve file="ivy.xml"/>
34
+        <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="${git.version}" />
35
+        <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="dist/utils.pom">
36
+            <mapping conf="default" scope="compile"/>
37
+        </ivy:makepom>
38
+        <ivy:retrieve/>
39
+        <ivy:publish
40
+            pubrevision="${git.version}"
41
+            status="release"
42
+            overwrite="true"
43
+            publishivy="false"
44
+            artifactspattern="dist/[artifact].[ext]"
45
+            resolver="upload-release"/>
46
+    </target>
47
+    <target name="-publish-nightlies" depends="-get-git-version">
48
+        <tstamp>
49
+            <format property="timestamp" pattern="yyyyddMM" />
50
+        </tstamp>
51
+        <ivy:resolve file="ivy.xml"/>
52
+        <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="Nightly-${timestamp}_${git.version}" />
53
+        <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="dist/utils.pom">
54
+            <mapping conf="default" scope="compile"/>
55
+        </ivy:makepom>
56
+        <ivy:retrieve/>
57
+        <ivy:publish
58
+            pubrevision="Nightly-${timestamp}_${git.version}"
59
+            status="release"
60
+            overwrite="true"
61
+            publishivy="false"
62
+            artifactspattern="dist/[artifact].[ext]"
63
+            resolver="upload-nightlies"/>
64
+    </target>
65
+</project>

+ 2
- 2
build-versioning.xml 查看文件

@@ -2,7 +2,7 @@
2 2
 <project name="DMDirc-versioning" default="default" basedir=".">
3 3
     <description>Adds automatic versioning information to DMDirc</description>
4 4
 
5
-    <available file=".git" property="is.git"/>
5
+    <available file="${git.dir}" property="is.git"/>
6 6
 
7 7
     <target name="-init-version">
8 8
         <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="lib.classpath"/>
@@ -11,7 +11,7 @@
11 11
     <target name="-add-version" depends="-init-version, -add-git-version" />
12 12
 
13 13
     <target name="-add-git-version" if="is.git">
14
-        <git-describe dir=".git" property="git.version" />
14
+        <git-describe dir="${git.dir}" property="git.version" />
15 15
         <manifest file="${manifest.file}">
16 16
             <attribute name="Version" value="${git.version}" />
17 17
         </manifest>

+ 5
- 0
build.xml 查看文件

@@ -5,6 +5,9 @@
5 5
     <import file="nbproject/build-impl.xml"/>
6 6
     <import file="build-ivy.xml"/>
7 7
     <import file="build-versioning.xml"/>
8
+    <import file="build-publish.xml"/>
9
+    
10
+    <property name="git.dir" value=".git"/>
8 11
 
9 12
     <target name="-pre-init" depends="-init-dependencies"/>
10 13
     <target name="-post-compile" depends="-add-version"/>
@@ -14,5 +17,7 @@
14 17
     <target name="-post-test-run">
15 18
         <delete file="${manifest.file}"/>
16 19
     </target>
20
+    <target name="publish-nightlies" depends="clean, jar, -publish-nightlies" />
21
+    <target name="publish-release" depends="clean, jar, -publish-release" />
17 22
 
18 23
 </project>

+ 5
- 12
etc/ivy/ivysettings.xml 查看文件

@@ -1,17 +1,10 @@
1 1
 <ivysettings>
2 2
     <settings defaultResolver="default"/>
3
+    <credentials host="nexus.dmdirc.com" realm="Sonatype Nexus Repository Manager" username="${username}" passwd="${password}"/>
3 4
     <resolvers>
4
-        <ibiblio name="default" m2compatible="true"/>
5
-
6
-        <ibiblio name="jgit" root="http://download.eclipse.org/jgit/maven" m2compatible="true"/>
7
-
8
-        <url name="jgit-describe">
9
-            <ivy pattern="file:///${basedir}/etc/ivy/[module]/ivy.xml"/>
10
-            <artifact pattern="http://shanemcc.github.com/jgit-describe/releases/jgit-describe-[revision].jar"/>
11
-        </url>
5
+        <ibiblio name="default" root="http://nexus.dmdirc.com/nexus/content/groups/public" m2compatible="true"/>
6
+        <ibiblio name="upload-snapshot" root="http://nexus.dmdirc.com/nexus/content/repositories/snapshots" m2compatible="true" />
7
+        <ibiblio name="upload-nightlies" root="http://nexus.dmdirc.com/nexus/content/repositories/nightlies" m2compatible="true" />
8
+        <ibiblio name="upload-release" root="http://nexus.dmdirc.com/nexus/content/repositories/releases" m2compatible="true" />
12 9
     </resolvers>
13
-    <modules>
14
-        <module organisation="com.github.shanemcc" name="jgit-describe" resolver="jgit-describe"/>
15
-        <module organisation="org.eclipse.jgit" name="*" resolver="jgit"/>
16
-    </modules>
17 10
 </ivysettings>

+ 0
- 6
etc/ivy/jgit-describe/ivy.xml 查看文件

@@ -1,6 +0,0 @@
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>

+ 5
- 0
ivy.xml 查看文件

@@ -8,6 +8,11 @@
8 8
         <conf name="default" extends="build,compile,test"/>
9 9
     </configurations>
10 10
 
11
+    <publications>
12
+        <artifact type="jar" ext="jar" conf="default"/>
13
+        <artifact type="pom" ext="pom" conf="default"/>
14
+    </publications>
15
+
11 16
     <dependencies defaultconfmapping="*->default">
12 17
         <dependency org="com.github.shanemcc" name="jgit-describe" rev="0.3" conf="build" />
13 18
         <dependency org="junit" name="junit" rev="4.+" conf="test" />

+ 1
- 1
nbproject/project.properties 查看文件

@@ -33,7 +33,7 @@ debug.classpath=${run.classpath}
33 33
 debug.test.classpath=${run.test.classpath}
34 34
 # This directory is removed when the project is cleaned:
35 35
 dist.dir=dist
36
-dist.jar=${dist.dir}/DMDirc-Utils.jar
36
+dist.jar=${dist.dir}/utils.jar
37 37
 dist.javadoc.dir=${dist.dir}/javadoc
38 38
 endorsed.classpath=
39 39
 excludes=

Loading…
取消
儲存