summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2014-06-04 00:23:07 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2014-06-04 00:23:07 -0400
commitd5902fc1e3c8b9cf8574b4cf61dc5a8ceae7fefc (patch)
treebaeaab1028b4b4fbd56dda7418f54882ebb8c640
parent0492728b0c768cc704a6ba6b3360e43787313916 (diff)
It turns out the jdom1 and jdom2 APIs are different.
-rw-r--r--conf/dependencies.mk16
-rw-r--r--conf/sources.mk6
-rw-r--r--rules/jaxen-bootstrap/delete.list1
-rw-r--r--rules/jdom-bootstrap/00-only-core.patch47
-rw-r--r--rules/jdom-bootstrap/01-no-gpg.patch36
-rw-r--r--rules/jdom-bootstrap/Makefile38
-rw-r--r--rules/jdom-bootstrap/delete.list3
l---------rules/jdom1-bootstrap/Makefile1
-rw-r--r--rules/jdom1-bootstrap/delete.list2
l---------rules/jdom1-bootstrap/java6-regex.patch1
l---------rules/jdom1-bootstrap/junit4.patch1
-rw-r--r--rules/jdom1/Makefile32
-rw-r--r--rules/jdom1/delete.list1
-rw-r--r--rules/jdom1/java6-regex.patch120
-rw-r--r--rules/jdom1/junit4.patch13
15 files changed, 189 insertions, 129 deletions
diff --git a/conf/dependencies.mk b/conf/dependencies.mk
index 444b426..b4f4b20 100644
--- a/conf/dependencies.mk
+++ b/conf/dependencies.mk
@@ -7,6 +7,11 @@ dep-modello-cli = \
build/packages/plexus-container-default \
build/packages/plexus-utils \
build/packages/xbean-reflect-bootstrap
+# Where is xerces2
+dep-xerces2 = \
+ /usr/share/java/serializer.jar \
+ /usr/share/java/xercesImpl.jar \
+ /usr/share/java/xml-apis.jar
# Implementations of standard interfaces
dep-jsr305 = build/packages/jsr305
dep-jsr330 = build/packages/atinject-javax.inject
@@ -50,7 +55,7 @@ build/packages/plexus-build-api: \
build/packages/plexus-cipher: \
$(dep-jsr330)
build/packages/plexus-component-metadata: \
- build/packages/jdom-bootstrap \
+ build/packages/jdom1 \
build/packages/maven-plugin-api-bootstrap \
build/packages/plexus-classworlds \
build/packages/plexus-container-default \
@@ -68,5 +73,10 @@ build/packages/plexus-container-default: \
build/packages/guava: \
$(dep-jsr305)
-build/packages/jdom-bootstrap: \
- build/packages/jaxen-bootstrap
+build/packages/jdom1: \
+ build/packages/jaxen-bootstrap \
+ $(dep-xerces2)
+build/packages/jaxen-bootstrap: \
+ build/packages/jdom1-bootstrap
+build/packages/jdom1-bootstrap: \
+ $(dep-xerces2)
diff --git a/conf/sources.mk b/conf/sources.mk
index 8bc9d48..9ceebc4 100644
--- a/conf/sources.mk
+++ b/conf/sources.mk
@@ -22,8 +22,12 @@ plexus-interpolation = git|git://github.com/sonatype/ple
plexus-utils = git|git://github.com/sonatype/plexus-utils.git|plexus-utils-3.0.17
guava = git|https://code.google.com/p/guava-libraries/|v17.0/guava
+
+# Is missing support for jom4j and xom
jaxen-bootstrap = tar|http://dist.codehaus.org/jaxen/distributions/jaxen-1.1.6-src.tar.gz
-jdom-bootstrap = git|git://github.com/hunterhacker/jdom.git|JDOM-2.0.5
+
+jdom1 = git|git://github.com/hunterhacker/jdom.git|jdom-1.1.3
+jdom1-bootstrap = $(jdom1)
# Any other implementation of JSR-305 would probably be fine too.
jsr305 = svn|http://jsr-305.googlecode.com/svn|trunk/ri
diff --git a/rules/jaxen-bootstrap/delete.list b/rules/jaxen-bootstrap/delete.list
index c8178d5..e6f35dc 100644
--- a/rules/jaxen-bootstrap/delete.list
+++ b/rules/jaxen-bootstrap/delete.list
@@ -1,3 +1,2 @@
src/java/main/org/jaxen/dom4j
-src/java/main/org/jaxen/jdom
src/java/main/org/jaxen/xom
diff --git a/rules/jdom-bootstrap/00-only-core.patch b/rules/jdom-bootstrap/00-only-core.patch
deleted file mode 100644
index 5022706..0000000
--- a/rules/jdom-bootstrap/00-only-core.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -ruN jdom-core.orig/build.properties jdom-core/build.properties
---- jdom-core.orig/build.properties 1969-12-31 19:00:00.000000000 -0500
-+++ jdom-core/build.properties 2014-06-03 18:37:41.048699776 -0400
-@@ -0,0 +1,7 @@
-+ant.jar=/opt/apache-ant/lib/ant.jar
-+junit.jar=/usr/share/java/junit.jar
-+serializer.jar=/usr/share/java/serializer.jar
-+xalan.jar=/usr/share/java/xalan.jar
-+xercesImpl.jar=/usr/share/java/xercesImpl.jar
-+jaxen.jar=/home/luke/src/maven-dist/build/packages/jaxen-bootstrap/usr/share/maven/repository/jaxen/jaxen/1.1.6/jaxen-1.1.6.jar
-+version=2.0.5
-diff -ruN jdom-core.orig/build.xml jdom-core/build.xml
---- jdom-core.orig/build.xml 2014-06-03 17:32:11.428184214 -0400
-+++ jdom-core/build.xml 2014-06-03 18:38:25.357844783 -0400
-@@ -296,7 +296,7 @@
- <!-- =================================================================== -->
- <!-- Creates the jars -->
- <!-- =================================================================== -->
-- <target name="jars" depends="compile, javadoc"
-+ <target name="jars" depends="compile.core, javadoc"
- description="Builds the Jars">
- <fixcrlf srcdir="." includes="**/*.bat" excludes="build*.*" eol="crlf"/>
- <fixcrlf srcdir="." includes="**/*.sh" excludes="build*.*" eol="lf"/>
-@@ -316,14 +316,6 @@
- <fileset dir="${core.build}" includes="**/*.class" />
- <fileset dir="${metainf.build}" excludes="**/MANIFEST.MF" />
- </jar>
-- <jar jarfile="${package}/${jarbase}-contrib.jar" >
-- <fileset dir="${contrib.build}" includes="**/*" />
-- <fileset dir="${metainf.build}" excludes="**/MANIFEST.MF" />
-- </jar>
-- <jar jarfile="${package}/${jarbase}-junit.jar" >
-- <fileset dir="${junit.build}" includes="**/*" />
-- <fileset dir="${metainf.build}" excludes="**/MANIFEST.MF" />
-- </jar>
- <jar destfile="${package}/${jarbase}-javadoc.jar"
- basedir="${build.javadocs}" includes="**/*" />
- <jar jarfile="${package}/${jarbase}-sources.jar" >
-@@ -371,7 +363,7 @@
- <!-- =================================================================== -->
- <!-- Creates the class package -->
- <!-- =================================================================== -->
-- <target name="package" depends="coverage, jars"
-+ <target name="package" depends="jars"
- description="Creates the class package">
- <zip destfile="${package}/${jarbase}.zip">
- <fileset dir="${package}" includes="${jarbase}*.jar" />
diff --git a/rules/jdom-bootstrap/01-no-gpg.patch b/rules/jdom-bootstrap/01-no-gpg.patch
deleted file mode 100644
index 0ff4889..0000000
--- a/rules/jdom-bootstrap/01-no-gpg.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- jdom-core.orig/build.xml 2014-06-03 18:42:32.389743827 -0400
-+++ jdom-core/build.xml 2014-06-03 18:42:49.346083190 -0400
-@@ -36,9 +36,6 @@
- <property name="version.impl" value="${version}"/>
- <property name="version.spec" value="2.0.0"/>
-
-- <property name="gpg" value="gpg"
-- description="Path to the GNU gpg program for maven target"/>
--
- <property name="jarbase" value="${name}-${version}" />
-
- <property name="instrument" value="true" />
-@@ -520,23 +517,6 @@
- </filterset>
- </copy>
-
-- <exec dir="${mavendir}/core" executable="${gpg}">
-- <arg value="-abv"/>
-- <arg value="${mavenbase}.pom"/>
-- </exec>
-- <exec dir="${mavendir}/core" executable="${gpg}">
-- <arg value="-abv"/>
-- <arg value="${mavenbase}.jar"/>
-- </exec>
-- <exec dir="${mavendir}/core" executable="${gpg}">
-- <arg value="-abv"/>
-- <arg value="${mavenbase}-sources.jar"/>
-- </exec>
-- <exec dir="${mavendir}/core" executable="${gpg}">
-- <arg value="-abv"/>
-- <arg value="${mavenbase}-javadoc.jar"/>
-- </exec>
--
- <jar destfile="${mavendir}/${mavenbase}-maven-bundle.jar"
- basedir="${mavendir}/core"
- includes="${mavenbase}*" excludes="*maven-bundle*" />
diff --git a/rules/jdom-bootstrap/Makefile b/rules/jdom-bootstrap/Makefile
deleted file mode 100644
index 2b42a87..0000000
--- a/rules/jdom-bootstrap/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-DESTDIR ?=
-MAVEN_LOCAL_REPO ?= ~/.m2
-
-ANT = ant
-FIND = find
-INSTALL = install
-RM = rm -f
-SED = sed
-TR = tr
-
-artifactId = jdom2
-version = 2.0.5
-groupId = org.jdom
-
-all: PHONY build
-
-build: build.properties $(shell $(FIND) core/src/java)
- $(ANT) maven || { $(RM) -r build; exit 1; }
-
-build.properties: $(MAKEFILE_LIST)
- { \
- echo $$CLASSPATH | tr : '\n' | sed -rn 's|.*/([A-Za-z]*)(-[0-9.]*)?[.]jar$$|\1.jar=&|p' && \
- echo version=$(version); \
- } > $@
-
-install-dir = $(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(groupId))/$(artifactId)/$(version)
-install-targets = $(addprefix $(install-dir)/$(artifactId)-$(version),.pom .jar -sources.jar -javadoc.jar)
-install: PHONY $(install-targets)
-
-$(install-targets): $(install-dir)/%: build/maven/core/%
- $(INSTALL) -Dm644 $< $@
-
-$(patsubst $(install-dir)/%,build/maven/core/%,$(install-targets)): build/maven/core/%: build
-
-clean: PHONY
- $(RM) -r build
-
-.PHONY: PHONY
diff --git a/rules/jdom-bootstrap/delete.list b/rules/jdom-bootstrap/delete.list
deleted file mode 100644
index 2df62d8..0000000
--- a/rules/jdom-bootstrap/delete.list
+++ /dev/null
@@ -1,3 +0,0 @@
-contrib/lib/*.jar
-lib/*.jar
-lib/*/*.jar
diff --git a/rules/jdom1-bootstrap/Makefile b/rules/jdom1-bootstrap/Makefile
new file mode 120000
index 0000000..2a9027e
--- /dev/null
+++ b/rules/jdom1-bootstrap/Makefile
@@ -0,0 +1 @@
+../jdom1/Makefile \ No newline at end of file
diff --git a/rules/jdom1-bootstrap/delete.list b/rules/jdom1-bootstrap/delete.list
new file mode 100644
index 0000000..6324c76
--- /dev/null
+++ b/rules/jdom1-bootstrap/delete.list
@@ -0,0 +1,2 @@
+*/lib/*.jar
+core/src/java/org/jdom/xpath/JaxenXPath.java
diff --git a/rules/jdom1-bootstrap/java6-regex.patch b/rules/jdom1-bootstrap/java6-regex.patch
new file mode 120000
index 0000000..c0ace28
--- /dev/null
+++ b/rules/jdom1-bootstrap/java6-regex.patch
@@ -0,0 +1 @@
+../jdom1/java6-regex.patch \ No newline at end of file
diff --git a/rules/jdom1-bootstrap/junit4.patch b/rules/jdom1-bootstrap/junit4.patch
new file mode 120000
index 0000000..7b30773
--- /dev/null
+++ b/rules/jdom1-bootstrap/junit4.patch
@@ -0,0 +1 @@
+../jdom1/junit4.patch \ No newline at end of file
diff --git a/rules/jdom1/Makefile b/rules/jdom1/Makefile
new file mode 100644
index 0000000..f92bc29
--- /dev/null
+++ b/rules/jdom1/Makefile
@@ -0,0 +1,32 @@
+DESTDIR ?=
+MAVEN_LOCAL_REPO ?= ~/.m2
+
+ANT = ant
+FIND = find
+INSTALL = install
+RM = rm -f
+TOUCH = touch
+
+artifactIds = jdom jdom-contrib
+version = 1.1.3
+groupId = org.jdom
+
+all: PHONY dist-$(version)
+
+dist-$(version): $(shell $(FIND) core contrib test -mindepth 1 \( -name build -o -name tmp \) -prune -o -print)
+ $(ANT) -Dgpg=echo -Dversion=$(version) maven || { $(RM) -r $@ */build; exit 1; }
+ $(TOUCH) $@
+
+install-dir = $(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(groupId))/$(artifactId)/$(version)
+install-targets = $(foreach artifactId,$(artifactIds),$(addprefix $(install-dir)/$(artifactId)-$(version),.pom .jar -sources.jar -javadoc.jar))
+install: PHONY $(install-targets)
+
+$(foreach target,$(install-targets),$(eval $(target): dist-$$(version)/$(notdir $(target)) ; $$(INSTALL) -Dm644 $$< $$@))
+$(addprefix dist-$(version)/,$(notdir $(install-targets))): dist-$(version)
+ test -e $@
+ $(TOUCH) $@
+
+clean: PHONY
+ $(RM) -r dist-$(version) */build
+
+.PHONY: PHONY
diff --git a/rules/jdom1/delete.list b/rules/jdom1/delete.list
new file mode 100644
index 0000000..4709e70
--- /dev/null
+++ b/rules/jdom1/delete.list
@@ -0,0 +1 @@
+*/lib/*.jar
diff --git a/rules/jdom1/java6-regex.patch b/rules/jdom1/java6-regex.patch
new file mode 100644
index 0000000..589c9f3
--- /dev/null
+++ b/rules/jdom1/java6-regex.patch
@@ -0,0 +1,120 @@
+diff --git a/contrib/src/java/org/jdom/contrib/beans/DateUtils.java b/contrib/src/java/org/jdom/contrib/beans/DateUtils.java
+index 49f26c4..7d8e590 100644
+--- a/contrib/src/java/org/jdom/contrib/beans/DateUtils.java
++++ b/contrib/src/java/org/jdom/contrib/beans/DateUtils.java
+@@ -59,7 +59,7 @@
+ package org.jdom.contrib.beans;
+
+ import java.util.*;
+-import org.apache.regexp.*;
++import java.util.regex.*;
+ import java.text.*;
+ import java.io.PrintStream;
+
+@@ -165,20 +165,20 @@ public class DateUtils {
+ // e.g. 1997-07-16T19:20:30.45+01:00
+ // additions: "T" can be a space, TZ can be a three-char code, TZ can be missing
+ try {
+- RE re = new RE(reISO8601);
+- if (re.match(s)) {
++ Matcher re = Pattern.compile(reISO8601).matcher(s);
++ if (re.find()) {
+ if (debug)
+ showParens(re);
+
+ ISO8601 iso = new ISO8601();
+- iso.year = toInt(re.getParen(1));
+- iso.month = toInt(re.getParen(3));
+- iso.day = toInt(re.getParen(5));
+- iso.hour = toInt(re.getParen(7));
+- iso.min = toInt(re.getParen(8));
+- iso.sec = toInt(re.getParen(11));
+- iso.frac = toInt(re.getParen(13));
+- iso.tz = re.getParen(14);
++ iso.year = toInt(re.group(1));
++ iso.month = toInt(re.group(3));
++ iso.day = toInt(re.group(5));
++ iso.hour = toInt(re.group(7));
++ iso.min = toInt(re.group(8));
++ iso.sec = toInt(re.group(11));
++ iso.frac = toInt(re.group(13));
++ iso.tz = re.group(14);
+
+ if (debug) {
+ System.out.println("year='" + iso.year + "'");
+@@ -194,7 +194,7 @@ public class DateUtils {
+ return iso;
+ }
+ } // try
+- catch (RESyntaxException ree) {
++ catch (PatternSyntaxException ree) {
+ ree.printStackTrace();
+ }
+ return null;
+@@ -214,13 +214,13 @@ public class DateUtils {
+ * Dump parenthesized subexpressions found by a regular expression matcher object
+ * @param r Matcher object with results to show
+ */
+- static void showParens(RE r)
++ static void showParens(Matcher r)
+ {
+ // Loop through each paren
+- for (int i = 0; i < r.getParenCount(); i++)
++ for (int i = 0; i < r.groupCount(); i++)
+ {
+ // Show paren register
+- System.out.println("$" + i + " = " + r.getParen(i));
++ System.out.println("$" + i + " = " + r.group(i));
+ }
+ }
+
+diff --git a/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java b/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java
+index b7a4d5a..d0851d3 100644
+--- a/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java
++++ b/contrib/src/java/org/jdom/contrib/input/scanner/JakartaRegExpXPathMatcher.java
+@@ -63,8 +63,7 @@ import org.jdom.xpath.XPath;
+
+ import org.xml.sax.Attributes;
+
+-import org.apache.regexp.RE;
+-import org.apache.regexp.RESyntaxException;
++import java.util.regex.*;
+
+
+ /* package */ class JakartaRegExpXPathMatcher extends XPathMatcher {
+@@ -72,7 +71,7 @@ import org.apache.regexp.RESyntaxException;
+ /**
+ * The compiled regular expression this matcher matches.
+ */
+- private final RE re;
++ private final Pattern re;
+
+ private final XPath test;
+
+@@ -94,7 +93,7 @@ import org.apache.regexp.RESyntaxException;
+ try {
+ String pathPattern = getPathPatternAsRE(expression);
+
+- this.re = new RE(pathPattern);
++ this.re = Pattern.compile(pathPattern);
+
+ String testPattern = getTestPattern(expression);
+ if (testPattern != null) {
+@@ -114,7 +113,7 @@ import org.apache.regexp.RESyntaxException;
+ " -> XPath = " + testPattern);
+ }
+ }
+- catch (RESyntaxException ex1) {
++ catch (PatternSyntaxException ex1) {
+ throw (new JDOMException(
+ "Illegal XPath expression: " + expression, ex1));
+ }
+@@ -137,7 +136,7 @@ import org.apache.regexp.RESyntaxException;
+ * expression, <code>false</code> otherwise.
+ */
+ public boolean match(String path, Attributes attrs) {
+- return (this.re.match(path));
++ return (this.re.matcher(path).find());
+ }
+
+ /**
diff --git a/rules/jdom1/junit4.patch b/rules/jdom1/junit4.patch
new file mode 100644
index 0000000..9a65318
--- /dev/null
+++ b/rules/jdom1/junit4.patch
@@ -0,0 +1,13 @@
+diff --git a/test/src/java/org/jdom/test/cases/Alltests.java b/test/src/java/org/jdom/test/cases/Alltests.java
+index 1b9a779..ffc4925 100644
+--- a/test/src/java/org/jdom/test/cases/Alltests.java
++++ b/test/src/java/org/jdom/test/cases/Alltests.java
+@@ -75,7 +75,7 @@ public Alltests(String arg1) {
+ public static void main(String[] args) {
+ if (args.length > 0 && args[0] != null && args[0].equals("-ui") ) {
+ String newargs[] = {"org.jdom.test.cases.Alltests"};
+- junit.swingui.TestRunner.main(newargs);
++ junit.textui.TestRunner.main(newargs);
+ } else {
+
+ junit.textui.TestRunner.run(suite());