diff --git a/ant/ant_1_5_1.nix b/ant/ant_1_5_1.nix
new file mode 100644
index 0000000..0ac2b46
--- /dev/null
+++ b/ant/ant_1_5_1.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchzip, jdk6, ant_1_7, junit_3_8_1}: stdenv.mkDerivation rec {
+ pname = "ant";
+ version = "1.5.1";
+ outJar = "lib/ant.jar";
+
+ src = fetchzip {
+ url = "https://archive.apache.org/dist/ant/source/jakarta-ant-1.5.1-src.zip";
+ hash = "sha256-u3q6Ikjm0hVt8kFOImxh4bmVV43a33M5lXLYblcLbUs=";
+ };
+
+ patches = [./ant_1_5_1.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7];
+ env = {
+ JAVA_HOME="${jdk6}";
+ #CLASSPATH="${junit_3_8_1}/junit.jar";
+ };
+
+ buildPhase = ''
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/ant/ant_1_5_1.patch b/ant/ant_1_5_1.patch
new file mode 100644
index 0000000..7f9e560
--- /dev/null
+++ b/ant/ant_1_5_1.patch
@@ -0,0 +1,15 @@
+diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java b/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java
+index f0fd5cd..5e4fc2c 100644
+--- a/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java
++++ b/src/main/org/apache/tools/ant/taskdefs/optional/Javah.java
+@@ -345,8 +345,8 @@ public class Javah extends Task {
+ // dynamically. However, javah has a different interface and this
+ // makes it harder, so here's a simple alternative.
+ //------------------------------------------------------------------
+- com.sun.tools.javah.Main main
+- = new com.sun.tools.javah.Main(cmd.getArguments());
++ com.sun.tools.javah.oldjavah.Main main
++ = new com.sun.tools.javah.oldjavah.Main(cmd.getArguments());
+ main.run();
+ } catch (Exception ex) {
+ if (ex instanceof BuildException) {
diff --git a/ant/ivy.nix b/ant/ivy.nix
index ff4d5da..29e9d91 100644
--- a/ant/ivy.nix
+++ b/ant/ivy.nix
@@ -1,5 +1,5 @@
{stdenv, fetchFromGitHub, jdk6, ant_1_7, ivyDep, ivyDepHook, ant_1_6, commons-cli, commons-httpclient_3, oro, commons-vfs,
-jsch_0_1_25, junit_3_8_2, commons-lang, xerces_2_6_2, xerces-api}: stdenv.mkDerivation rec {
+jsch_0_1_25, junit_3_8_2, commons-lang_2, xerces_2_6_2, xerces-api}: stdenv.mkDerivation rec {
pname = "ivy";
version = "2.0.0-beta2";
@@ -21,7 +21,7 @@ jsch_0_1_25, junit_3_8_2, commons-lang, xerces_2_6_2, xerces-api}: stdenv.mkDeri
(ivyDep commons-vfs {})
(ivyDep jsch_0_1_25 {})
(ivyDep junit_3_8_2 {})
- (ivyDep commons-lang {})
+ (ivyDep commons-lang_2 {})
(ivyDep xerces_2_6_2 {})
(ivyDep xerces-api {})];
diff --git a/java/.patch b/java/.patch
deleted file mode 100644
index 7cce6b1..0000000
--- a/java/.patch
+++ /dev/null
@@ -1,318 +0,0 @@
-diff --git a/build.xml b/build.xml
-index 7feeb26..fa65fc7 100644
---- a/build.xml
-+++ b/build.xml
-@@ -1,205 +1,109 @@
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ ================================= WARNING ================================
-+ Junit isn't present in your ${ANT_HOME}/lib directory. Tests not executed.
-+ ==========================================================================
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-
diff --git a/java/asm.nix b/java/asm.nix
new file mode 100644
index 0000000..d8a2192
--- /dev/null
+++ b/java/asm.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchFromGitLab, jdk6, ant_1_5_3, commons-logging_1_0, commons-collections_2_0, commons-beanutils_1_4}: stdenv.mkDerivation rec {
+ pname = "asm";
+ version = "1.3.4";
+ outJar = "lib/asm.jar";
+
+ src = fetchFromGitLab {
+ domain = "gitlab.ow2.org";
+ owner = pname;
+ repo = pname;
+ rev = "b9a7bad66ec1ddc90032cb561c882536ddc0d62e";
+ hash = "sha256-WfdKMLSPL1NzDns+5TV+bS40nPjGz2MxotQAhxKppFQ=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_5_3]; #Crasht mit neuerem Ant
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ mkdir doc
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ../dist/* $out/
+ '';
+}
diff --git a/java/classworlds.nix b/java/classworlds.nix
new file mode 100644
index 0000000..f7c3170
--- /dev/null
+++ b/java/classworlds.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7}: stdenv.mkDerivation rec {
+ pname = "classworlds";
+ version = "1.1-SNAPSHOT";
+ outJar = "classworlds.jar";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-classworlds";
+ rev = "a29f7a01ce35b75a56847aced5cb3b9977249634";
+ hash = "sha256-mMwVlnsey/AyKAS/nF1vh2fjvzwje8SiSPhOmHP55Bg=";
+ };
+
+ patches = [./classworlds.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/classworlds.patch b/java/classworlds.patch
new file mode 100644
index 0000000..19dfe58
--- /dev/null
+++ b/java/classworlds.patch
@@ -0,0 +1,47 @@
+diff --git a/build.xml b/build.xml
+new file mode 100644
+index 0000000..07c4569
+--- /dev/null
++++ b/build.xml
+@@ -0,0 +1,41 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --git a/java/download/mmmockobjects.nix b/java/download/mmmockobjects.nix
new file mode 100644
index 0000000..6e3bba3
--- /dev/null
+++ b/java/download/mmmockobjects.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl}: stdenv.mkDerivation rec {
+ pname = "mmmockobjects";
+ version = "1.12";
+ outJar = "mmmockobjects-1.12.0.jar";
+ dontUnpack = true;
+ dontConfigure = true;
+ dontBuild = true;
+
+ src = fetchurl {
+ url = "https://repo1.maven.org/maven2/mockmaker/mmmockobjects/1.12.0/mmmockobjects-1.12.0.jar";
+ hash = "sha256-ApLCSbTsTD8OkAH9rGUjMaAfxRlPuGLYnzJyKe1/R/o=";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp -r ${src} $out/mmmockobjects-1.12.0.jar
+ '';
+}
diff --git a/java/javacc.nix b/java/javacc.nix
new file mode 100644
index 0000000..3e8c973
--- /dev/null
+++ b/java/javacc.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, commons-logging_1_0, commons-collections_2_0, commons-beanutils_1_4}: stdenv.mkDerivation rec {
+ pname = "javacc";
+ version = "4.0";
+
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = pname;
+ rev = "release_40";
+ hash = "sha256-kMQGhAdStPjukYwQWSEhp0wYvEtu3oPyq8DL+Y8aFqY=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./bin/lib/javacc.jar $out/javacc.jar
+ '';
+}
diff --git a/java/javacc.patch b/java/javacc.patch
new file mode 100644
index 0000000..394b00d
--- /dev/null
+++ b/java/javacc.patch
@@ -0,0 +1,14 @@
+diff --git a/src/org/javacc/parser/build.xml b/src/org/javacc/parser/build.xml
+index 1c66748..5b67545 100644
+--- a/src/org/javacc/parser/build.xml
++++ b/src/org/javacc/parser/build.xml
+@@ -42,7 +42,8 @@ designated nationals lists is strictly prohibited.
+
++ classpath="${javacc.root}/classes"
++ target="1.4">
+
+
+
diff --git a/java/jelly/commons-jelly-tags-ant.nix b/java/jelly/commons-jelly-tags-ant.nix
index 158adee..20d4742 100644
--- a/java/jelly/commons-jelly-tags-ant.nix
+++ b/java/jelly/commons-jelly-tags-ant.nix
@@ -7,7 +7,7 @@ commons-grant, dom4j}: stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-define.nix b/java/jelly/commons-jelly-tags-define.nix
index bf31149..511c210 100644
--- a/java/jelly/commons-jelly-tags-define.nix
+++ b/java/jelly/commons-jelly-tags-define.nix
@@ -8,7 +8,7 @@ commons-jelly-tags-dynabean}: stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-dynabean.nix b/java/jelly/commons-jelly-tags-dynabean.nix
index a95df6a..b6dba97 100644
--- a/java/jelly/commons-jelly-tags-dynabean.nix
+++ b/java/jelly/commons-jelly-tags-dynabean.nix
@@ -3,10 +3,11 @@ commons-jelly-tags-junit, dom4j, commons-collections_2_1, commons-jexl}: stdenv.
pname = "commons-jelly-tags-dynabean";
version = "1.0";
outJar = "commons-jelly-tags-dynabean-1.0-SNAPSHOT.jar";
+ org = "commons-jelly";
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-interaction.nix b/java/jelly/commons-jelly-tags-interaction.nix
index 312909c..76d3fe5 100644
--- a/java/jelly/commons-jelly-tags-interaction.nix
+++ b/java/jelly/commons-jelly-tags-interaction.nix
@@ -6,7 +6,7 @@
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-junit.nix b/java/jelly/commons-jelly-tags-junit.nix
index 3101776..5697c9e 100644
--- a/java/jelly/commons-jelly-tags-junit.nix
+++ b/java/jelly/commons-jelly-tags-junit.nix
@@ -3,10 +3,11 @@ dom4j, commons-collections_2_1, commons-beanutils_1_6, commons-jexl}: stdenv.mkD
pname = "commons-jelly-tags-junit";
version = "20030902.160215";
outJar = "commons-jelly-tags-junit-1.0-SNAPSHOT.jar";
+ org = "commons-jelly";
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-log.nix b/java/jelly/commons-jelly-tags-log.nix
index 56dfbaf..59702b4 100644
--- a/java/jelly/commons-jelly-tags-log.nix
+++ b/java/jelly/commons-jelly-tags-log.nix
@@ -3,10 +3,11 @@ dom4j, commons-collections_2_1, commons-beanutils_1_6, commons-jexl}: stdenv.mkD
pname = "commons-jelly-tags-log";
version = "1.0";
outJar = "commons-jelly-tags-log-1.0-SNAPSHOT.jar";
+ org = "commons-jelly";
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-util.nix b/java/jelly/commons-jelly-tags-util.nix
index 2b91947..8e99a01 100644
--- a/java/jelly/commons-jelly-tags-util.nix
+++ b/java/jelly/commons-jelly-tags-util.nix
@@ -7,7 +7,7 @@ commons-jelly-tags-junit, commons-collections_2_1, commons-jexl, jaxen, saxpath}
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-velocity.nix b/java/jelly/commons-jelly-tags-velocity.nix
index 59a444c..0308ace 100644
--- a/java/jelly/commons-jelly-tags-velocity.nix
+++ b/java/jelly/commons-jelly-tags-velocity.nix
@@ -6,7 +6,7 @@
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/jelly/commons-jelly-tags-xml.nix b/java/jelly/commons-jelly-tags-xml.nix
index 14e3099..f276f6c 100644
--- a/java/jelly/commons-jelly-tags-xml.nix
+++ b/java/jelly/commons-jelly-tags-xml.nix
@@ -1,13 +1,13 @@
{stdenv, fetchurl, fetchFromGitHub, jdk6, ant_1_7, commons-jelly, commons-logging_1_0_3, dom4j, jaxen, saxpath, junit_3_8_1,
commons-jelly-tags-junit, commons-collections_2_1, commons-beanutils_1_6, commons-jexl}: stdenv.mkDerivation rec {
pname = "commons-jelly-tags-xml";
- version = "20040613.030723";
+ version = "1.0";
outJar = "commons-jelly-tags-xml-1.0-SNAPSHOT.jar";
org = "commons-jelly";
src = fetchFromGitHub {
owner = "apache";
- repo = pname;
+ repo = org;
rev = "717379e1b4db3edcc1404bd33242d6342530ad88";
hash = "sha256-FACLrmbwn7Z0eYc7vb54O35Lu9j/a+7dB0+Jv6/xDUk=";
};
diff --git a/java/modello/modello-core.nix b/java/modello/modello-core.nix
new file mode 100644
index 0000000..2b4cdee
--- /dev/null
+++ b/java/modello/modello-core.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, modello-pom, plexus-utils_alpha_1,
+plexus-container-default_alpha_1}: stdenv.mkDerivation rec {
+ pname = "modello-core";
+ version = "1.0-SNAPSHOT";
+ outJar = "modello-core-1.0-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "modello";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "modello";
+ rev = "558762ce523e31c395f9043757686737d29f4fcb";
+ hash = "sha256-EMZU4EKcFglj8/G+PJ0ycBLZeCnyAMxWCnVVugAGPi4=";
+ };
+
+ patches = [./modello-core.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep modello-pom {})
+ (mavenDep plexus-utils_alpha_1 {})
+ (mavenDep plexus-container-default_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd modello-core
+ m2 jar -Dmaven.repo.local="/build/.maven/repository" #Für die Tests
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/modello-core-1.0-SNAPSHOT.jar $out/modello-core-1.0-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/modello/modello-core.patch b/java/modello/modello-core.patch
new file mode 100644
index 0000000..18f5bf7
--- /dev/null
+++ b/java/modello/modello-core.patch
@@ -0,0 +1,32 @@
+diff --git a/modello-core/pom.xml b/modello-core/pom.xml
+index 2b9e951..ef89ab1 100644
+--- a/modello-core/pom.xml
++++ b/modello-core/pom.xml
+@@ -20,12 +20,12 @@
+
+ plexus
+ plexus-compiler-api
+- 1.0-SNAPSHOT
++ 1.0
+
+
+ plexus
+ plexus-compiler-javac
+- 1.0-SNAPSHOT
++ 1.0
+
+
+
+diff --git a/modello-core/src/main/java/org/codehaus/modello/ModelloGeneratorTest.java b/modello-core/src/main/java/org/codehaus/modello/ModelloGeneratorTest.java
+index 340dece..0a10ef6 100644
+--- a/modello-core/src/main/java/org/codehaus/modello/ModelloGeneratorTest.java
++++ b/modello-core/src/main/java/org/codehaus/modello/ModelloGeneratorTest.java
+@@ -101,7 +101,7 @@ public abstract class ModelloGeneratorTest
+ {
+ addDependency( "junit", "junit", "3.8.1" );
+
+- addDependency( "plexus", "plexus-utils", "1.0-alpha-1-SNAPSHOT" );
++ addDependency( "plexus", "plexus-utils", "1.0-alpha-1" );
+
+ String[] classPathElements = new String[dependencies.size() + 2];
+
diff --git a/java/modello/modello-pom.nix b/java/modello/modello-pom.nix
new file mode 100644
index 0000000..b7161e0
--- /dev/null
+++ b/java/modello/modello-pom.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchFromGitHub}: stdenv.mkDerivation rec {
+ pname = "modello";
+ version = "1.0";
+ outPom = "pom.xml";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "modello";
+ rev = "558762ce523e31c395f9043757686737d29f4fcb";
+ hash = "sha256-EMZU4EKcFglj8/G+PJ0ycBLZeCnyAMxWCnVVugAGPi4=";
+ };
+
+ patches = [./modello-pom.patch];
+
+ installPhase = ''
+ mkdir $out
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/modello/modello-pom.patch b/java/modello/modello-pom.patch
new file mode 100644
index 0000000..a14d680
--- /dev/null
+++ b/java/modello/modello-pom.patch
@@ -0,0 +1,13 @@
+diff --git a/pom.xml b/pom.xml
+index c86cddd..114641a 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -37,7 +37,7 @@
+
+ plexus
+ plexus-utils
+- 1.0-alpha-1-SNAPSHOT
++ 1.0-alpha-1
+
+
+ junit
diff --git a/java/modello/modello-xdoc-plugin.nix b/java/modello/modello-xdoc-plugin.nix
new file mode 100644
index 0000000..8298b52
--- /dev/null
+++ b/java/modello/modello-xdoc-plugin.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, modello-pom, plexus-utils_alpha_1, modello-xml-plugin,
+modello-core, plexus-container-default_alpha_1}: stdenv.mkDerivation rec {
+ pname = "modello-xdoc-plugin";
+ version = "1.0-SNAPSHOT";
+ outJar = "modello-xdoc-plugin-1.0-SNAPSHOT.jar";
+ org = "modello";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "modello";
+ rev = "558762ce523e31c395f9043757686737d29f4fcb";
+ hash = "sha256-EMZU4EKcFglj8/G+PJ0ycBLZeCnyAMxWCnVVugAGPi4=";
+ };
+
+ patches = [./modello-core.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep modello-pom {})
+ (mavenDep plexus-utils_alpha_1 {})
+ (mavenDep modello-xml-plugin {})
+ (mavenDep modello-core {})
+ (mavenDep plexus-container-default_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd modello-xdoc-plugin
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/modello-xdoc-plugin-1.0-SNAPSHOT.jar $out/modello-xdoc-plugin-1.0-SNAPSHOT.jar
+ '';
+}
diff --git a/java/modello/modello-xml-plugin.nix b/java/modello/modello-xml-plugin.nix
new file mode 100644
index 0000000..efb8c84
--- /dev/null
+++ b/java/modello/modello-xml-plugin.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, modello-pom, plexus-utils_alpha_1, modello-core,
+plexus-container-default_alpha_1}: stdenv.mkDerivation rec {
+ pname = "modello-xml-plugin";
+ version = "1.0-SNAPSHOT";
+ outJar = "modello-xml-plugin-1.0-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "modello";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "modello";
+ rev = "558762ce523e31c395f9043757686737d29f4fcb";
+ hash = "sha256-EMZU4EKcFglj8/G+PJ0ycBLZeCnyAMxWCnVVugAGPi4=";
+ };
+
+ patches = [./modello-core.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep modello-pom {})
+ (mavenDep plexus-utils_alpha_1 {})
+ (mavenDep modello-core {})
+ (mavenDep plexus-container-default_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd modello-xml-plugin
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/modello-xml-plugin-1.0-SNAPSHOT.jar $out/modello-xml-plugin-1.0-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/modello/modello-xpp3-plugin.nix b/java/modello/modello-xpp3-plugin.nix
new file mode 100644
index 0000000..6249b04
--- /dev/null
+++ b/java/modello/modello-xpp3-plugin.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, modello-pom , plexus-utils_alpha_1, modello-xml-plugin,
+modello-core, plexus-container-default_alpha_1}: stdenv.mkDerivation rec {
+ pname = "modello-xpp3-plugin";
+ version = "1.0-SNAPSHOT";
+ outJar = "modello-xpp3-plugin-1.0-SNAPSHOT.jar";
+ org = "modello";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "modello";
+ rev = "558762ce523e31c395f9043757686737d29f4fcb";
+ hash = "sha256-EMZU4EKcFglj8/G+PJ0ycBLZeCnyAMxWCnVVugAGPi4=";
+ };
+
+ patches = [./modello-core.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep modello-pom {})
+ (mavenDep plexus-utils_alpha_1 {})
+ (mavenDep modello-xml-plugin {})
+ (mavenDep modello-core {})
+ (mavenDep plexus-container-default_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd modello-xpp3-plugin
+ m2 jar -Dmaven.repo.local="/build/.maven/repository" #Für die Tests
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/modello-xpp3-plugin-1.0-SNAPSHOT.jar $out/modello-xpp3-plugin-1.0-SNAPSHOT.jar
+ '';
+}
diff --git a/java/modello/modello.nix b/java/modello/modello.nix
new file mode 100644
index 0000000..0ed9c20
--- /dev/null
+++ b/java/modello/modello.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, xpp3, xstream_1_0}: stdenv.mkDerivation rec {
+ pname = "modello";
+ version = "1.0-SNAPSHOT";
+ outJar = "modello-1.0-SNAPSHOT.jar";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = pname;
+ rev = "48e3fc438a458a473c65dd53c5c8eeda0cec7405";
+ hash = "sha256-29bXCZzHxtWyFT5t/nwUTfx0OEAZ04LqV/HcwKFetNM=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep xpp3 {})
+ (mavenDep xstream_1_0 {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd modello/modello-core
+ mv /build/source/modello/modello-core/src/main/java /build/source/modello/modello-core/src/java
+ maven ant
+ ant dist -Dant.build.javac.source=1.4
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/ognl.nix b/java/ognl.nix
new file mode 100644
index 0000000..5b31f20
--- /dev/null
+++ b/java/ognl.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchzip, jdk6, ant_1_7, javacc}: stdenv.mkDerivation rec {
+ pname = "ognl";
+ version = "2.5.1";
+ outJar = "ognl-2.5.1.jar";
+
+ src = fetchzip {
+ url = "https://files.befatorinc.de/api/public/dl/zs1B_lV5";
+ extension = "tar.gz";
+ hash = "sha256-BieLC0Trc4OLUNy9mtLXuTV2hLgJ+mrOK3rJoLJeHMA=";
+ };
+
+ patches = [./ognl.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ CLASSPATH="${javacc}/javacc.jar";
+ };
+
+ buildPhase = ''
+ rm ./parser-generated/ognl/JavaCharStream.java
+ ant jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r /build/builds/ognl/jars/ognl-2.5.1.jar $out/ognl-2.5.1.jar
+ '';
+}
diff --git a/java/ognl.patch b/java/ognl.patch
new file mode 100644
index 0000000..cc9572b
--- /dev/null
+++ b/java/ognl.patch
@@ -0,0 +1,65 @@
+diff --git a/build.xml b/build.xml
+index 03016cb..852b05b 100755
+--- a/build.xml
++++ b/build.xml
+@@ -42,11 +42,9 @@
+
+
+
+-
+
+
+
+-
+
+
+
+@@ -335,18 +333,18 @@
+
+
+
+-
++
+
+
+
+-
+-
+-
++
++
++
+
+
+
+
+-
++
+
+
+
+@@ -354,7 +352,7 @@
+
+
+
+-
++
+
+
+
+@@ -367,7 +365,7 @@
+
+
+
+-
++
+
+
+
+@@ -379,4 +377,4 @@
+
+
+
+-
+\ No newline at end of file
++
diff --git a/java/plexus/plexus-compiler-api.nix b/java/plexus/plexus-compiler-api.nix
new file mode 100644
index 0000000..4ba975f
--- /dev/null
+++ b/java/plexus/plexus-compiler-api.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, mavenDep, plexus_0_16-bootstrap, junit_3_8_1}: stdenv.mkDerivation rec {
+ pname = "plexus-compiler-api";
+ version = "1.0";
+ outJar = "plexus-compiler-api.jar";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-compiler";
+ rev = "15018cfcbfe63677eff50cbe54366a08e431766f";
+ hash = "sha256-ua6T54OHbCwNOcldnHBZ/cYogBlKtBNmbGlyIoi3FLw=";
+ };
+
+ patches = [./plexus-compiler-api.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7
+ (mavenDep plexus_0_16-bootstrap {})
+ (mavenDep junit_3_8_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/plexus-compiler-api.jar $out/plexus-compiler-api.jar
+ '';
+}
diff --git a/java/plexus/plexus-compiler-api.patch b/java/plexus/plexus-compiler-api.patch
new file mode 100644
index 0000000..3940e1d
--- /dev/null
+++ b/java/plexus/plexus-compiler-api.patch
@@ -0,0 +1,62 @@
+diff --git a/build.xml b/build.xml
+new file mode 100644
+index 0000000..c6f5151
+--- /dev/null
++++ b/build.xml
+@@ -0,0 +1,43 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+diff --git a/plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/AbstractCompiler.java b/plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/AbstractCompiler.java
+index ff11733..d404a9b 100644
+--- a/plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/AbstractCompiler.java
++++ b/plexus-compiler-api/src/main/java/org/codehaus/plexus/compiler/AbstractCompiler.java
+@@ -59,6 +59,8 @@ public abstract class AbstractCompiler
+ }
+ }
+
++ System.out.println(sources.toString());
++
+ String[] sourceArray = new String[sources.size()];
+
+ return (String[]) sources.toArray( sourceArray );
diff --git a/java/plexus/plexus-compiler-javac.nix b/java/plexus/plexus-compiler-javac.nix
new file mode 100644
index 0000000..5fda40f
--- /dev/null
+++ b/java/plexus/plexus-compiler-javac.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, mavenDep, plexus-compiler-api, plexus_0_16-bootstrap}: stdenv.mkDerivation rec {
+ pname = "plexus-compiler-javac";
+ version = "1.0";
+ outJar = "plexus-compiler-javac.jar";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-compiler";
+ rev = "15018cfcbfe63677eff50cbe54366a08e431766f";
+ hash = "sha256-ua6T54OHbCwNOcldnHBZ/cYogBlKtBNmbGlyIoi3FLw=";
+ };
+
+ patches = [./plexus-compiler-javac.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7
+ (mavenDep plexus-compiler-api {})
+ (mavenDep plexus_0_16-bootstrap {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/plexus-compiler-javac.jar $out/plexus-compiler-javac.jar
+ '';
+}
diff --git a/java/plexus/plexus-compiler-javac.patch b/java/plexus/plexus-compiler-javac.patch
new file mode 100644
index 0000000..ae88a02
--- /dev/null
+++ b/java/plexus/plexus-compiler-javac.patch
@@ -0,0 +1,49 @@
+diff --git a/build.xml b/build.xml
+new file mode 100644
+index 0000000..c6f5151
+--- /dev/null
++++ b/build.xml
+@@ -0,0 +1,43 @@
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
diff --git a/java/plexus/plexus-container-artifact.patch b/java/plexus/plexus-container-artifact.patch
new file mode 100644
index 0000000..c43e6aa
--- /dev/null
+++ b/java/plexus/plexus-container-artifact.patch
@@ -0,0 +1,13 @@
+diff --git a/plexus-containers/plexus-container-artifact/pom.xml b/plexus-containers/plexus-container-artifact/pom.xml
+index 82cab8e..ebd67a6 100644
+--- a/plexus-containers/plexus-container-artifact/pom.xml
++++ b/plexus-containers/plexus-container-artifact/pom.xml
+@@ -4,7 +4,7 @@
+
+ plexus
+ plexus-containers
+- 1.0
++ 1.0-alpha-2-SNAPSHOT
+
+ plexus
+ plexus-container-artifact
diff --git a/java/plexus/plexus-container-artifact_alpha_1.nix b/java/plexus/plexus-container-artifact_alpha_1.nix
new file mode 100644
index 0000000..27262b0
--- /dev/null
+++ b/java/plexus/plexus-container-artifact_alpha_1.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, plexus_0_17, wagon-api_alpha_1, asm}: stdenv.mkDerivation rec {
+ pname = "plexus-artifact-container";
+ version = "1.0-alpha-1-SNAPSHOT";
+ outJar = "plexus-artifact-container-1.0-alpha-1-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "74bd853df0328dcb67c0d14fcdd6ddbc0143d0a5";
+ hash = "sha256-mwRhcKUq/oMccxE4Z01AQCk3/OQyevw8XURBmat9va0=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep plexus_0_17 {})
+ (mavenDep wagon-api_alpha_1 {})
+ (mavenDep asm {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ m2 pom:install
+ cd plexus-containers/plexus-container-artifact
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-artifact-container-1.0-alpha-1-SNAPSHOT.jar $out/plexus-artifact-container-1.0-alpha-1-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus-container-artifact_alpha_2.nix b/java/plexus/plexus-container-artifact_alpha_2.nix
new file mode 100644
index 0000000..0627c82
--- /dev/null
+++ b/java/plexus/plexus-container-artifact_alpha_2.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-3, mavenDep, plexus-container-default_alpha_2, wagon-provider-api}: stdenv.mkDerivation rec {
+ pname = "plexus-container-artifact";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outJar = "plexus-container-artifact-1.0-alpha-2-SNAPSHOT.jar";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "6db667b2a1d0a5013fc8b67d01231f13b4bb96ec";
+ hash = "sha256-p4dwDkIMGhHx/puUqdrYNISiNtQmTGk8um/+MsqaHqg=";
+ };
+
+ patches = [./plexus-container-artifact.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-3
+ (mavenDep plexus-container-default_alpha_2 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-containers
+ m2 pom:install
+ cd plexus-container-artifact
+ m2 jar:jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-container-artifact-1.0-alpha-2-SNAPSHOT.jar $out/plexus-container-artifact-1.0-alpha-2-SNAPSHOT.jar
+ '';
+}
diff --git a/java/plexus/plexus-container-default.nix b/java/plexus/plexus-container-default.nix
new file mode 100644
index 0000000..3347fb5
--- /dev/null
+++ b/java/plexus/plexus-container-default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, plexus-pom}: stdenv.mkDerivation rec {
+ pname = "plexus-container-default";
+ version = "1.0-alpha-8";
+ outJar = "dwawda";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-containers";
+ rev = "284b9853395fe24b0b3cb4fb080f1bc9d37b7119";
+ hash = "sha256-UVNPtxMZ2n8S0ER17wJKInz4lQZjP2u18fxsSvZBwUY=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ configurePhase = ''
+ ln -s ${plexus-pom}/pom.xml /build/.maven/repository/org.codehaus.plexus/poms/plexus-1.0.4.pom
+ '';
+
+ buildPhase = ''
+ m2
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/plexus/plexus-container-default.patch b/java/plexus/plexus-container-default.patch
new file mode 100644
index 0000000..94c4b65
--- /dev/null
+++ b/java/plexus/plexus-container-default.patch
@@ -0,0 +1,29 @@
+diff --git a/plexus-containers/plexus-container-default/pom.xml b/plexus-containers/plexus-container-default/pom.xml
+index 499c60e..bd94f8b 100644
+--- a/plexus-containers/plexus-container-default/pom.xml
++++ b/plexus-containers/plexus-container-default/pom.xml
+@@ -12,12 +12,24 @@
+ 1.0-alpha-2-SNAPSHOT
+ New Default Plexus Container
+
++ src/main/java
++
++
++ src/main/resources
++
++
++ src/test/java
+
+
+ **/BasicComponentConfiguratorTest.java
+ **/*Abstract*.java
+ **/JavaComponentFactoryTest.java
+
++
++
++ src/test/resources
++
++
+
+
+
diff --git a/java/plexus/plexus-container-default_alpha_1.nix b/java/plexus/plexus-container-default_alpha_1.nix
new file mode 100644
index 0000000..88d9b12
--- /dev/null
+++ b/java/plexus/plexus-container-default_alpha_1.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, plexus-containers-pom, plexus-pom_1_0,
+plexus-utils_alpha_1}: stdenv.mkDerivation rec {
+ pname = "plexus-container-default";
+ version = "1.0-alpha-1";
+ outJar = "plexus-container-default-1.0-alpha-1.jar";
+ outPom = "pom.xml";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "3228cf9f8b27e5305c7f3ab9f038f5224b5d4ebe";
+ hash = "sha256-Sz/xFi8yEhfTBAVryxGH1MDQ42HPEW/wwbwMtpQp8Kc=";
+ };
+
+ patches = [./plexus-container-default.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep plexus-containers-pom {})
+ (mavenDep plexus-pom_1_0 {})
+ (mavenDep plexus-utils_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-containers/plexus-container-default
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-container-default-1.0-alpha-1.jar $out/plexus-container-default-1.0-alpha-1.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus-container-default_alpha_2.nix b/java/plexus/plexus-container-default_alpha_2.nix
new file mode 100644
index 0000000..5caf489
--- /dev/null
+++ b/java/plexus/plexus-container-default_alpha_2.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-3}: stdenv.mkDerivation rec {
+ pname = "plexus-container-default";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outJar = "plexus-container-default-1.0-alpha-2-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "8e56595aa5c89ba6fc76bac2bd8426333e2495bb";
+ hash = "sha256-C84gYXqfE+7aofPIALChnbOSB39ZRrg0ZoHgQ5B2ATg=";
+ };
+
+ patches = [./plexus-container-default.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-3];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-containers
+ m2 pom:install
+ cd plexus-container-default
+ m2 jar:jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-container-default-1.0-alpha-2-SNAPSHOT.jar $out/plexus-container-default-1.0-alpha-2-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus-containers-pom.nix b/java/plexus/plexus-containers-pom.nix
new file mode 100644
index 0000000..2e9feaf
--- /dev/null
+++ b/java/plexus/plexus-containers-pom.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchFromGitHub}: stdenv.mkDerivation rec {
+ pname = "plexus-containers";
+ version = "1.0-alpha-1";
+ outPom = "pom.xml";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "3228cf9f8b27e5305c7f3ab9f038f5224b5d4ebe";
+ hash = "sha256-Sz/xFi8yEhfTBAVryxGH1MDQ42HPEW/wwbwMtpQp8Kc=";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp ./plexus-containers/pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus-i18n.nix b/java/plexus/plexus-i18n.nix
new file mode 100644
index 0000000..45c197f
--- /dev/null
+++ b/java/plexus/plexus-i18n.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, plexus_0_16-bootstrap}: stdenv.mkDerivation rec {
+ pname = "plexus-i18n";
+ version = "1.0-beta-3";
+ outJar = "plexus-i18n-1.0-beta-3.jar";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = pname;
+ rev = "32094344fd7aba5a365994d348787ee387bf6423";
+ hash = "sha256-wC6yUD16JZXJdpmoEGglZ4vvnpyJ+i31YEs5GLdIiYs=";
+ };
+
+ patches = [./plexus-i18n.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep plexus_0_16-bootstrap {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ maven ant
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/plexus-i18n-1.0-beta-3.jar $out/plexus-i18n-1.0-beta-3.jar
+ '';
+}
diff --git a/java/plexus/plexus-i18n.patch b/java/plexus/plexus-i18n.patch
new file mode 100644
index 0000000..16dc74a
--- /dev/null
+++ b/java/plexus/plexus-i18n.patch
@@ -0,0 +1,26 @@
+diff --git a/project.xml b/project.xml
+index a6b19a5..de300ac 100644
+--- a/project.xml
++++ b/project.xml
+@@ -1,9 +1,20 @@
+
+
+- ${maven.repo.local}/plexus/poms/plexus-components-1.0.pom
+ plexus-i18n
+ plexus-i18n
+ Plexus I18N Component
+ 1.0-beta-3
++
++
++
++ plexus
++ plexus
++ 0.16
++
++
++
++
++ src/main/java
++
+
+
diff --git a/java/plexus/plexus-pom.nix b/java/plexus/plexus-pom.nix
new file mode 100644
index 0000000..6942fd8
--- /dev/null
+++ b/java/plexus/plexus-pom.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-4}: stdenv.mkDerivation rec {
+ pname = "plexus-pom";
+ version = "1.0.4";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "b95bfac07b11abeab128b6c76978095d5fa9dffe";
+ hash = "sha256-GlyqyDuIpREiD1tDvRpaBwGE0U0WISHOBesHx7yVj9w=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-4];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ m2
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/plexus/plexus-pom_1_0.nix b/java/plexus/plexus-pom_1_0.nix
new file mode 100644
index 0000000..b92b441
--- /dev/null
+++ b/java/plexus/plexus-pom_1_0.nix
@@ -0,0 +1,20 @@
+{stdenv, fetchFromGitHub}: stdenv.mkDerivation rec {
+ pname = "plexus-root";
+ version = "1.0";
+ outPom = "pom.xml";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "3228cf9f8b27e5305c7f3ab9f038f5224b5d4ebe";
+ hash = "sha256-Sz/xFi8yEhfTBAVryxGH1MDQ42HPEW/wwbwMtpQp8Kc=";
+ };
+
+ patches = [./plexus-utils.patch];
+
+ installPhase = ''
+ mkdir $out
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus-utils.patch b/java/plexus/plexus-utils.patch
new file mode 100644
index 0000000..4253105
--- /dev/null
+++ b/java/plexus/plexus-utils.patch
@@ -0,0 +1,13 @@
+diff --git a/pom.xml b/pom.xml
+index 98220fd..938cbe0 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -123,7 +123,7 @@
+
+ classworlds
+ classworlds
+- 1.1-alpha-1
++ 1.1-SNAPSHOT
+
+
+ junit
diff --git a/java/plexus/plexus-utils_alpha_1.nix b/java/plexus/plexus-utils_alpha_1.nix
new file mode 100644
index 0000000..a8a0d9d
--- /dev/null
+++ b/java/plexus/plexus-utils_alpha_1.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, plexus-pom_1_0}: stdenv.mkDerivation rec {
+ pname = "plexus-utils";
+ version = "1.0-alpha-1";
+ outJar = "plexus-utils-1.0-alpha-1.jar";
+ outPom = "pom.xml";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "3228cf9f8b27e5305c7f3ab9f038f5224b5d4ebe";
+ hash = "sha256-Sz/xFi8yEhfTBAVryxGH1MDQ42HPEW/wwbwMtpQp8Kc=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep plexus-pom_1_0 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-utils
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-utils-1.0-alpha-1.jar $out/plexus-utils-1.0-alpha-1.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus-utils_alpha_2.nix b/java/plexus/plexus-utils_alpha_2.nix
new file mode 100644
index 0000000..12f151e
--- /dev/null
+++ b/java/plexus/plexus-utils_alpha_2.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, plexus-pom_1_0}: stdenv.mkDerivation rec {
+ pname = "plexus-utils";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outJar = "plexus-utils-1.0-alpha-2-SNAPSHOT.jar";
+ org = "plexus";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "db145725295bd7f812de7776c0e2d3e0775d3349";
+ hash = "sha256-L/3+1lxd3J1GDX3QYfYiksmLuMd2LChoItL7IzbO7sE=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep plexus-pom_1_0 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-utils
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-utils-1.0-alpha-2-SNAPSHOT.jar $out/plexus-utils-1.0-alpha-2-SNAPSHOT.jar
+ '';
+}
diff --git a/java/plexus/plexus_0_14.nix b/java/plexus/plexus_0_14.nix
new file mode 100644
index 0000000..d5edbbb
--- /dev/null
+++ b/java/plexus/plexus_0_14.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, xpp3, xstream_0_5, classworlds, asm}: stdenv.mkDerivation rec {
+ pname = "plexus";
+ version = "0.14-SNAPSHOT";
+ outJar = "plexus-0.14-SNAPSHOT.jar";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-containers";
+ rev = "c0d0977b3de1b192a4c52ac69e0dc8548a646305";
+ hash = "sha256-++Ommu0Sdhrm4OlUdJh4hI7hhBWD9viahH+BrIS0Twg=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep xpp3 {})
+ (mavenDep xstream_0_5 {})
+ (mavenDep classworlds {})
+ (mavenDep asm {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-container-default.old
+ mkdir src/templates
+ maven ant
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/plexus/plexus_0_16-bootstrap.nix b/java/plexus/plexus_0_16-bootstrap.nix
new file mode 100644
index 0000000..9684236
--- /dev/null
+++ b/java/plexus/plexus_0_16-bootstrap.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, xpp3, xstream_0_5, classworlds, asm}: stdenv.mkDerivation rec {
+ pname = "plexus";
+ version = "0.16";
+ outJar = "plexus-1.0-alpha-1-SNAPSHOT.jar";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-containers";
+ rev = "c7a8ec0353533db02c5c6588ae4f37e2f5af800f";
+ hash = "sha256-sjrQpcpvcspZDQrvz61XqK9JMefV0w/DJW1HrCYre3M=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep xpp3 {})
+ (mavenDep xstream_0_5 {})
+ (mavenDep classworlds {})
+ (mavenDep asm {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-container-default.old
+ mkdir src/templates
+ maven ant
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/plexus/plexus_0_16.nix b/java/plexus/plexus_0_16.nix
new file mode 100644
index 0000000..b04c98f
--- /dev/null
+++ b/java/plexus/plexus_0_16.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, xpp3, xstream_0_5, classworlds, asm, maven-artifact}: stdenv.mkDerivation rec {
+ pname = "plexus";
+ version = "0.16";
+ outJar = "plexus-1.0-alpha-1-SNAPSHOT.jar";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-containers";
+ rev = "237dbb8dbd9e437b6d8b9d11b427f6a7f3be3b24";
+ hash = "sha256-IzI2Sp3hCO+ULGuoA8vVlw0lRfKSqgy+nsbb1YEmdXo=";
+ };
+
+ patches = [./plexus_0_16.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep xpp3 {})
+ (mavenDep xstream_0_5 {})
+ (mavenDep classworlds {})
+ (mavenDep asm {})
+ (mavenDep maven-artifact {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd plexus-container-default.old
+ mkdir src/templates
+ maven ant
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/plexus/plexus_0_16.patch b/java/plexus/plexus_0_16.patch
new file mode 100644
index 0000000..73cfa5e
--- /dev/null
+++ b/java/plexus/plexus_0_16.patch
@@ -0,0 +1,17 @@
+diff --git a/plexus-container-default.old/project.xml b/plexus-container-default.old/project.xml
+index 16e7161..05ae799 100644
+--- a/plexus-container-default.old/project.xml
++++ b/plexus-container-default.old/project.xml
+@@ -160,12 +160,6 @@
+ 2.0-SNAPSHOT
+
+
+-
+- maven
+- wagon-api
+- 1.0-alpha-1-SNAPSHOT
+-
+-
+
+
+
diff --git a/java/plexus/plexus_0_17.nix b/java/plexus/plexus_0_17.nix
new file mode 100644
index 0000000..0838bff
--- /dev/null
+++ b/java/plexus/plexus_0_17.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, asm}: stdenv.mkDerivation rec {
+ pname = "plexus";
+ version = "0.17-SNAPSHOT";
+ outJar = "plexus-0.17-SNAPSHOT.jar";
+ outPom = "pom.xml";
+
+ src = fetchFromGitHub {
+ owner = "codehaus-plexus";
+ repo = "plexus-pom";
+ rev = "193176d0851f550ed71eff7d2743d41149b26261";
+ hash = "sha256-OFdBkeBtjJa2gOjB4xsTffxxdmxy1uRQLxVSOqgdbWw=";
+ };
+
+ patches = [./plexus_0_17.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep asm {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ m2 pom:install
+ cd plexus-containers/plexus-container-default.old
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/plexus-0.17-SNAPSHOT.jar $out/plexus-0.17-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/plexus/plexus_0_17.patch b/java/plexus/plexus_0_17.patch
new file mode 100644
index 0000000..bc01131
--- /dev/null
+++ b/java/plexus/plexus_0_17.patch
@@ -0,0 +1,13 @@
+diff --git a/plexus-containers/plexus-container-default.old/pom.xml b/plexus-containers/plexus-container-default.old/pom.xml
+index f30dd19..8fd5e2d 100644
+--- a/plexus-containers/plexus-container-default.old/pom.xml
++++ b/plexus-containers/plexus-container-default.old/pom.xml
+@@ -131,7 +131,7 @@
+
+ classworlds
+ classworlds
+- 1.1-alpha-1
++ 1.1-SNAPSHOT
+
+
+ junit
diff --git a/java/qdox.nix b/java/qdox.nix
new file mode 100644
index 0000000..e1d7180
--- /dev/null
+++ b/java/qdox.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchFromGitHub, jdk6, maven_1, mavenDep, ant_1_5_1, mmmockobjects, byacc}: stdenv.mkDerivation rec {
+ pname = "qdox";
+ version = "1.2";
+ outJar = "qdox-1.2.jar";
+
+ src = fetchFromGitHub {
+ owner = "paul-hammant";
+ repo = pname;
+ rev = "14c5fdd1ec51d9b1c9e37da4aec4acdd561acd3a";
+ hash = "sha256-N+SENAYExT8FeFRIklKChKPUiCBTW2cK7i08LtOLOXw=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_1
+ (mavenDep ant_1_5_1 {})
+ (mavenDep mmmockobjects {})] ++ maven_1.mavenJarDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ rm bootstrap/yacc.exe
+ mkdir -p target/bootstrap
+ ln -s ${byacc}/yacc target/bootstrap/yacc.exe
+
+ maven jar -Dmaven.test.skip=true
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/qdox-1.2.jar $out/qdox-1.2.jar
+ '';
+}
diff --git a/java/surefire-booter_1_1.nix b/java/surefire-booter_1_1.nix
new file mode 100644
index 0000000..92502ab
--- /dev/null
+++ b/java/surefire-booter_1_1.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, surefire_1_1, plexus_0_14}: stdenv.mkDerivation rec {
+ pname = "surefire-booter";
+ version = "1.1";
+ outJar = "surefire-booter-1.1.jar";
+ org = "surefire";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-surefire";
+ rev = "002a30937cbb9835784fd2cf153c754dc3d8822f";
+ hash = "sha256-Q9vtL7/UFs5as7lSm7EjnFtryVheFT3vGFe8jGQGxQA=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep surefire_1_1 {})
+ (mavenDep plexus_0_14 {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd surefire/surefire-booter
+ maven ant
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/surefire-booter-1.1.jar $out/surefire-booter-1.1.jar
+ '';
+}
diff --git a/java/surefire-booter_1_2.nix b/java/surefire-booter_1_2.nix
new file mode 100644
index 0000000..e1b5de9
--- /dev/null
+++ b/java/surefire-booter_1_2.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, surefire_1_2}: stdenv.mkDerivation rec {
+ pname = "surefire-booter";
+ version = "1.2-SNAPSHOT";
+ outJar = "surefire-booter-1.2-SNAPSHOT.jar";
+ org = "surefire";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-surefire";
+ rev = "ac452df3679e701e7ef861fd3cafbb4141a23af6";
+ hash = "sha256-Nr9KTeHw+QS0RW5b/RlhCrzyhiK4qYJbtSxSa3JEBFI=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep surefire_1_2 {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd surefire/surefire-booter
+ mkdir src/messages
+ maven ant
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/surefire-booter-1.2-SNAPSHOT.jar $out/surefire-booter-1.2-SNAPSHOT.jar
+ '';
+}
diff --git a/java/surefire.patch b/java/surefire.patch
new file mode 100644
index 0000000..b5ad85a
--- /dev/null
+++ b/java/surefire.patch
@@ -0,0 +1,38 @@
+diff --git a/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java b/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java
+index 7eea54a..11a0fa2 100644
+--- a/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java
++++ b/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java
+@@ -285,7 +285,7 @@ public class BatteryAssert extends TestCase
+ assertNotSame( null, expected, actual );
+ }
+
+- static private void failSame( String message )
++ public static void failSame( String message )
+ {
+ String formatted = "";
+
+@@ -297,7 +297,7 @@ public class BatteryAssert extends TestCase
+ fail( formatted + "expected not same" );
+ }
+
+- static private void failNotSame( String message, Object expected, Object actual )
++ public static void failNotSame( String message, Object expected, Object actual )
+ {
+ String formatted = "";
+
+@@ -309,7 +309,7 @@ public class BatteryAssert extends TestCase
+ fail( formatted + "expected same:<" + expected + "> was not:<" + actual + ">" );
+ }
+
+- static private void failNotEquals( String message, Object expected, Object actual )
++ public static void failNotEquals( String message, Object expected, Object actual )
+ {
+ fail( format( message, expected, actual ) );
+ }
+@@ -325,4 +325,4 @@ public class BatteryAssert extends TestCase
+
+ return formatted + "expected:<" + expected + "> but was:<" + actual + ">";
+ }
+-}
+\ No newline at end of file
++}
diff --git a/java/surefire_1_1.nix b/java/surefire_1_1.nix
new file mode 100644
index 0000000..cb168d4
--- /dev/null
+++ b/java/surefire_1_1.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1}: stdenv.mkDerivation rec {
+ pname = "surefire";
+ version = "1.1";
+ outJar = "surefire-1.1.jar";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-surefire";
+ rev = "002a30937cbb9835784fd2cf153c754dc3d8822f";
+ hash = "sha256-Q9vtL7/UFs5as7lSm7EjnFtryVheFT3vGFe8jGQGxQA=";
+ };
+
+ patches = [./surefire.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd surefire/surefire
+ maven ant
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/surefire-1.1.jar $out/surefire-1.1.jar
+ '';
+}
diff --git a/java/surefire_1_2.nix b/java/surefire_1_2.nix
new file mode 100644
index 0000000..89ded57
--- /dev/null
+++ b/java/surefire_1_2.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1}: stdenv.mkDerivation rec {
+ pname = "surefire";
+ version = "1.2-SNAPSHOT";
+ outJar = "surefire-1.2-SNAPSHOT.jar";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-surefire";
+ rev = "ac452df3679e701e7ef861fd3cafbb4141a23af6";
+ hash = "sha256-Nr9KTeHw+QS0RW5b/RlhCrzyhiK4qYJbtSxSa3JEBFI=";
+ };
+
+ patches = [./surefire_1_2.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ configurePhase = ''
+ mv surefire/surefire/src/messages/org/codehaus/surefire/surefire.properties surefire/surefire/src/messages/surefire.properties
+ '';
+
+ buildPhase = ''
+ cd surefire/surefire
+ maven ant
+ ant
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./target/surefire-1.2-SNAPSHOT.jar $out/surefire-1.2-SNAPSHOT.jar
+ '';
+}
diff --git a/java/surefire_1_2.patch b/java/surefire_1_2.patch
new file mode 100644
index 0000000..8f6cbbf
--- /dev/null
+++ b/java/surefire_1_2.patch
@@ -0,0 +1,31 @@
+diff --git a/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java b/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java
+index 243c03f..dd51686 100644
+--- a/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java
++++ b/surefire/surefire/src/main/org/codehaus/surefire/battery/assertion/BatteryAssert.java
+@@ -285,7 +285,7 @@ public class BatteryAssert extends TestCase
+ assertNotSame( null, expected, actual );
+ }
+
+- static private void failSame( String message )
++ public static void failSame( String message )
+ {
+ String formatted = "";
+
+@@ -297,7 +297,7 @@ public class BatteryAssert extends TestCase
+ fail( formatted + "expected not same" );
+ }
+
+- static private void failNotSame( String message, Object expected, Object actual )
++ public static void failNotSame( String message, Object expected, Object actual )
+ {
+ String formatted = "";
+
+@@ -309,7 +309,7 @@ public class BatteryAssert extends TestCase
+ fail( formatted + "expected same:<" + expected + "> was not:<" + actual + ">" );
+ }
+
+- static private void failNotEquals( String message, Object expected, Object actual )
++ public static void failNotEquals( String message, Object expected, Object actual )
+ {
+ fail( formatMismatch( message, expected, actual ) );
+ }
diff --git a/java/wagon/wagon-api.patch b/java/wagon/wagon-api.patch
new file mode 100644
index 0000000..adcbbfd
--- /dev/null
+++ b/java/wagon/wagon-api.patch
@@ -0,0 +1,385 @@
+diff --git a/project.xml b/project.xml
+index 6da5111..d4ee587 100644
+--- a/project.xml
++++ b/project.xml
+@@ -75,11 +75,6 @@
+ 1.0-SNAPSHOT
+
+
+-
+- maven
+- maven-model
+- 2.0-SNAPSHOT
+-
+
+ junit
+ junit
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
+index 1db31bd..96380a6 100644
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
++++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/AbstractWagon.java
+@@ -17,7 +17,6 @@ package org.apache.maven.wagon;
+ * ====================================================================
+ */
+
+-import org.apache.maven.wagon.artifact.Artifact;
+ import org.apache.maven.wagon.authentication.AuthenticationException;
+ import org.apache.maven.wagon.events.SessionEvent;
+ import org.apache.maven.wagon.events.SessionEventSupport;
+@@ -224,25 +223,6 @@ public abstract class AbstractWagon
+ //
+ // ----------------------------------------------------------------------
+
+- protected String artifactUrl( Artifact artifact )
+- {
+- return source.artifactUrl( artifact );
+- }
+-
+- protected String artifactPath( Artifact artifact )
+- {
+- return source.artifactPath( artifact );
+- }
+-
+- protected String fullArtifactPath( Artifact artifact )
+- {
+- return source.fullArtifactPath( artifact );
+- }
+-
+- // ----------------------------------------------------------------------
+- //
+- // ----------------------------------------------------------------------
+-
+ protected void fireTransferProgress( TransferEvent transferEvent )
+ {
+ transferEventSupport.fireTransferProgress( transferEvent );
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/Conductor.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/Conductor.java
+deleted file mode 100644
+index fa7489b..0000000
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/Conductor.java
++++ /dev/null
+@@ -1,75 +0,0 @@
+-package org.apache.maven.wagon;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.codehaus.plexus.embed.Embedder;
+-import org.apache.maven.wagon.manager.WagonManager;
+-import org.apache.maven.wagon.repository.Repository;
+-
+-
+-/**
+- * @author Jason van Zyl
+- * @version $Id$
+- */
+-public class Conductor
+- implements WagonManager
+-{
+- private Embedder embedder;
+-
+- private WagonManager wagonManager;
+-
+- // ----------------------------------------------------------------------
+- //
+- // ----------------------------------------------------------------------
+-
+- public Conductor()
+- throws Exception
+- {
+- embedder = new Embedder();
+-
+- embedder.start();
+-
+- wagonManager = (WagonManager) embedder.lookup( WagonManager.ROLE );
+- }
+-
+- // ----------------------------------------------------------------------
+- //
+- // ----------------------------------------------------------------------
+-
+- public Wagon getWagon( String protocol )
+- throws UnsupportedProtocolException
+- {
+- return wagonManager.getWagon( protocol );
+- }
+-
+- public void releaseWagon( Wagon wagon ) throws Exception
+- {
+- wagonManager.releaseWagon( wagon );
+- }
+-
+-
+- public void addRepository( Repository repository )
+- {
+- wagonManager.addRepository( repository );
+- }
+-
+- public void removeRepository( Repository repository )
+- {
+- wagonManager.removeRepository( repository );
+- }
+-}
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
+index 4e68996..9469aa1 100644
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
++++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/StreamWagon.java
+@@ -17,7 +17,6 @@ package org.apache.maven.wagon;
+ * ====================================================================
+ */
+
+-import org.apache.maven.wagon.artifact.Artifact;
+ import org.apache.maven.wagon.authentication.AuthenticationException;
+ import org.apache.maven.wagon.authorization.AuthorizationException;
+
+@@ -48,36 +47,6 @@ public abstract class StreamWagon
+ public abstract void closeConnection()
+ throws ConnectionException;
+
+- // ----------------------------------------------------------------------
+- // We take the artifact and create the resource from that so we can
+- // just hand it off to get(String,File) below. So we might get an
+- // Artifact where:
+- //
+- // groupId = maven
+- // artifactId = wagon-api
+- // type = pom
+- // extension = pom
+- // version = 1.0
+- // layout = ${groupId}/{$type}s/${artifactId}-${version}.${extension}
+- //
+- // so the resource ends up looking like:
+- //
+- // maven/poms/wagon-api-1.0.pom
+- //
+- // ----------------------------------------------------------------------
+-
+- public void get( Artifact artifact, File destination )
+- throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
+- {
+- get( artifactPath( artifact ), destination );
+- }
+-
+- public void put( File source, Artifact artifact )
+- throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
+- {
+- put( source, artifactPath( artifact ) );
+- }
+-
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/Wagon.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/Wagon.java
+index 1547bfc..1978cc4 100644
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/Wagon.java
++++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/Wagon.java
+@@ -17,7 +17,6 @@ package org.apache.maven.wagon;
+ * ====================================================================
+ */
+
+-import org.apache.maven.wagon.artifact.Artifact;
+ import org.apache.maven.wagon.authentication.AuthenticationException;
+ import org.apache.maven.wagon.authorization.AuthorizationException;
+ import org.apache.maven.wagon.events.SessionListener;
+@@ -40,17 +39,6 @@ public interface Wagon
+ void put( File source, String destination )
+ throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException;
+
+- // ----------------------------------------------------------------------
+- // Artifact/File handling
+- // ----------------------------------------------------------------------
+-
+- void get( Artifact artifact, File destination )
+- throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException;
+-
+- void put( File source, Artifact artifact )
+- throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException;
+-
+-
+ // ----------------------------------------------------------------------
+ // /Stream handling
+ // ----------------------------------------------------------------------
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/WagonTestCase.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/WagonTestCase.java
+index 520094f..d698afd 100644
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/WagonTestCase.java
++++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/WagonTestCase.java
+@@ -17,8 +17,6 @@ package org.apache.maven.wagon;
+ * ====================================================================
+ */
+
+-import org.apache.maven.wagon.artifact.Artifact;
+-import org.apache.maven.wagon.artifact.DefaultArtifact;
+ import org.apache.maven.wagon.observers.Debug;
+ import org.apache.maven.wagon.observers.ChecksumObserver;
+ import org.apache.maven.wagon.repository.Repository;
+@@ -47,8 +45,6 @@ public abstract class WagonTestCase
+
+ //protected MavenXpp3Reader modelReader;
+
+- protected Artifact artifact;
+-
+ protected File sourceFile;
+
+ protected File destFile;
+@@ -194,8 +190,6 @@ public abstract class WagonTestCase
+
+ fileRoundTripTesting();
+
+- artifactRoundTripTesting();
+-
+ tearDownWagonTestingFixtures();
+ }
+
+@@ -268,62 +262,6 @@ public abstract class WagonTestCase
+ compareContents( sourceFile, destFile );
+ }
+
+- // ----------------------------------------------------------------------
+- // File <--> Artifact/Repository round trip testing
+- // ----------------------------------------------------------------------
+- // 1. Place an artifact in the test repository.
+- // 2. Get the same artifact that was just placed in the test repository.
+- // 3. Compare the contents of the file that was place in the test
+- // repository with the value of the artifact retrieved from the
+- // test repository, they should be the same.
+- // ----------------------------------------------------------------------
+-
+- protected void putArtifact()
+- throws Exception
+- {
+- message( "Putting file into test repository " + testRepository );
+-
+- Wagon wagon = getWagon();
+-
+- wagon.connect( testRepository );
+-
+- artifactSourceFile = new File( basedir, "project.xml" );
+-
+- wagon.put( artifactSourceFile, getTestArtifact() );
+-
+- wagon.disconnect();
+- }
+-
+- protected void getArtifact()
+- throws Exception
+- {
+- message( "Getting test artifact from test repository " + testRepository );
+-
+- Wagon wagon = getWagon();
+-
+- wagon.connect( testRepository );
+-
+- artifactDestFile = FileTestUtils.createUniqueFile( this );
+-
+- artifactDestFile.deleteOnExit();
+-
+- wagon.get( getTestArtifact(), artifactDestFile );
+-
+- wagon.disconnect();
+- }
+-
+- protected void artifactRoundTripTesting()
+- throws Exception
+- {
+- message( "Artifact round trip testing ..." );
+-
+- putArtifact();
+-
+- getArtifact();
+-
+- compareContents( artifactSourceFile, artifactDestFile );
+- }
+-
+ protected void compareContents( File sourceFile, File destFile )
+ throws Exception
+ {
+@@ -350,19 +288,6 @@ public abstract class WagonTestCase
+ System.out.println( "---------------------------------------------------------------------------------------------------------" );
+ }
+
+- protected Artifact getTestArtifact()
+- throws Exception
+- {
+- if ( artifact == null )
+- {
+- //Model model = modelReader.read( new FileReader( new File( basedir, "project.xml" ) ) );
+-
+- artifact = new DefaultArtifact( "groupId", "artifactId", "1.0", "pom" );
+- }
+-
+- return artifact;
+- }
+-
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/repository/Repository.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/repository/Repository.java
+index 41fc3a3..1b0484c 100644
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/repository/Repository.java
++++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/repository/Repository.java
+@@ -21,7 +21,6 @@ import org.apache.maven.wagon.proxy.ProxyInfo;
+ import org.apache.maven.wagon.authentication.AuthenticationInfo;
+ import org.apache.maven.wagon.WagonConstants;
+ import org.apache.maven.wagon.PathUtils;
+-import org.apache.maven.wagon.artifact.Artifact;
+ import org.codehaus.plexus.util.StringUtils;
+
+ import java.io.Serializable;
+@@ -57,11 +56,22 @@ public class Repository
+
+ private AuthenticationInfo authenticationInfo;
+
++ public Repository() {}
++
++ public Repository(String id, String url) {
++ setId(id);
++ setUrl(url);
++ }
++
+ public String getId()
+ {
+ return id;
+ }
+
++ public void setId(String id) {
++ this.id = id;
++ }
++
+ public AuthenticationInfo getAuthenticationInfo()
+ {
+ return authenticationInfo;
+@@ -188,21 +198,6 @@ public class Repository
+ return layout;
+ }
+
+- public String artifactPath( Artifact artifact )
+- {
+- return interpolateLayout( artifact.getGroupId(), artifact.getArtifactId(), artifact.getType(), artifact.getVersion() );
+- }
+-
+- public String fullArtifactPath( Artifact artifact )
+- {
+- return getBasedir() + "/" + artifactPath( artifact );
+- }
+-
+- public String artifactUrl( Artifact artifact )
+- {
+- return getUrl() + "/" + artifactPath( artifact );
+- }
+-
+ private String interpolateLayout( String groupId, String artifactId, String type, String version )
+ {
+ String layout = getLayout();
diff --git a/java/wagon/wagon-api_0_9.nix b/java/wagon/wagon-api_0_9.nix
new file mode 100644
index 0000000..229a691
--- /dev/null
+++ b/java/wagon/wagon-api_0_9.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, xpp3, xstream_1_0, classworlds, plexus_0_14}: stdenv.mkDerivation rec {
+ pname = "wagon-api";
+ version = "0.9-SNAPSHOT";
+ outJar = "wagon-api-0.9-SNAPSHOT.jar";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "9b33853329a743fd5c7c9208f1c2572957718d71";
+ hash = "sha256-/SfR2hkV5fYJ09Vo9qmHvTEQ0wWKRPN23PX99Nn4OV4=";
+ };
+
+ patches = [./wagon-api.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep xpp3 {})
+ (mavenDep xstream_1_0 {})
+ (mavenDep classworlds {})
+ (mavenDep plexus_0_14 {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd wagon-provider-api
+ maven ant
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/wagon/wagon-api_alpha_1.nix b/java/wagon/wagon-api_alpha_1.nix
new file mode 100644
index 0000000..7c93829
--- /dev/null
+++ b/java/wagon/wagon-api_alpha_1.nix
@@ -0,0 +1,42 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, wagon-pom_alpha_1, plexus_0_14}: stdenv.mkDerivation rec {
+ pname = "wagon-api";
+ version = "1.0-alpha-1-SNAPSHOT";
+ outJar = "wagon-api-1.0-alpha-1-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "8bb7da001ad7dc2a6e104dbbabf12ccff585a89c";
+ hash = "sha256-ANuPw7/IqTz13VrJoEvn/+rzilYnvYiVhQwAHZLdV6w=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep wagon-pom_alpha_1 {})
+ (mavenDep plexus_0_14 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ configurePhase = ''
+ rm /build/source/wagon-provider-api/src/test/java/org/apache/maven/wagon/WagonUtilsTest.java
+ rm /build/source/wagon-provider-api/src/test/java/org/apache/maven/wagon/events/SessionEventSupportTest.java
+ rm /build/source/wagon-provider-api/src/test/java/org/apache/maven/wagon/events/TransferEventSupportTest.java
+ rm /build/source/wagon-provider-api/src/test/java/org/apache/maven/wagon/events/TransferEventTest.java
+ rm /build/source/wagon-provider-api/src/test/java/org/apache/maven/wagon/observers/ChecksumObserverTest.java
+ rm /build/source/wagon-provider-api/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java
+ '';
+
+ buildPhase = ''
+ cd wagon-provider-api
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/wagon-api-1.0-alpha-1-SNAPSHOT.jar $out/wagon-api-1.0-alpha-1-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/wagon/wagon-file.nix b/java/wagon/wagon-file.nix
new file mode 100644
index 0000000..eb547cc
--- /dev/null
+++ b/java/wagon/wagon-file.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, wagon-providers-pom, wagon-provider-api, wagon-provider-test,
+plexus-container-default_alpha_1, plexus-utils_alpha_1}: stdenv.mkDerivation rec {
+ pname = "wagon-file";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outJar = "wagon-file-1.0-alpha-2-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "cbfd9846eadd9632fd6adc1c24f7650f9f36466b";
+ hash = "sha256-hQbdIcWYXJKRV6u8BMZk1FMrcld5mXpGOCeCxmE0D2A=";
+ };
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep wagon-providers-pom {})
+ (mavenDep wagon-provider-api {})
+ (mavenDep wagon-provider-test {})
+ (mavenDep plexus-container-default_alpha_1 {})
+ (mavenDep plexus-utils_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ m2 pom:install
+ cd wagon-providers
+ cd wagon-file
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/wagon-file-1.0-alpha-2-SNAPSHOT.jar $out/wagon-file-1.0-alpha-2-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/wagon/wagon-pom_alpha_1.nix b/java/wagon/wagon-pom_alpha_1.nix
new file mode 100644
index 0000000..75e077d
--- /dev/null
+++ b/java/wagon/wagon-pom_alpha_1.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchFromGitHub}: stdenv.mkDerivation rec {
+ pname = "wagon";
+ version = "1.0-alpha-1-SNAPSHOT";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "8bb7da001ad7dc2a6e104dbbabf12ccff585a89c";
+ hash = "sha256-ANuPw7/IqTz13VrJoEvn/+rzilYnvYiVhQwAHZLdV6w=";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/wagon/wagon-pom_alpha_2.nix b/java/wagon/wagon-pom_alpha_2.nix
new file mode 100644
index 0000000..7cbf5d0
--- /dev/null
+++ b/java/wagon/wagon-pom_alpha_2.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchFromGitHub}: stdenv.mkDerivation rec {
+ pname = "wagon";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "cbfd9846eadd9632fd6adc1c24f7650f9f36466b";
+ hash = "sha256-hQbdIcWYXJKRV6u8BMZk1FMrcld5mXpGOCeCxmE0D2A=";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/wagon/wagon-provider-api.nix b/java/wagon/wagon-provider-api.nix
new file mode 100644
index 0000000..ca922cf
--- /dev/null
+++ b/java/wagon/wagon-provider-api.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, wagon-pom_alpha_2}: stdenv.mkDerivation rec {
+ pname = "wagon-provider-api";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outJar = "wagon-provider-api-1.0-alpha-2-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "cbfd9846eadd9632fd6adc1c24f7650f9f36466b";
+ hash = "sha256-hQbdIcWYXJKRV6u8BMZk1FMrcld5mXpGOCeCxmE0D2A=";
+ };
+
+ patches = [./wagon-provider-api.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep wagon-pom_alpha_2 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd wagon-provider-api
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/wagon-provider-api-1.0-alpha-2-SNAPSHOT.jar $out/wagon-provider-api-1.0-alpha-2-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/wagon/wagon-provider-api.patch b/java/wagon/wagon-provider-api.patch
new file mode 100644
index 0000000..5b6ba89
--- /dev/null
+++ b/java/wagon/wagon-provider-api.patch
@@ -0,0 +1,22 @@
+diff --git a/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java b/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
+index 8f525c0..eef91b2 100644
+--- a/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
++++ b/wagon-provider-api/src/main/java/org/apache/maven/wagon/observers/ChecksumObserver.java
+@@ -133,8 +133,6 @@ public class ChecksumObserver implements TransferListener
+
+ digester = null;
+
+- InputStream inputStream = null;
+-
+ transferingMd5 = true;
+
+ try
+@@ -176,8 +174,6 @@ public class ChecksumObserver implements TransferListener
+ }
+ finally
+ {
+- IoUtils.close( inputStream );
+-
+ transferingMd5 = false;
+ }
+
diff --git a/java/wagon/wagon-provider-test.nix b/java/wagon/wagon-provider-test.nix
new file mode 100644
index 0000000..f528f6d
--- /dev/null
+++ b/java/wagon/wagon-provider-test.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchFromGitHub, jdk6, maven_2-boostrap-2, mavenDep, plexus-utils_alpha_1, wagon-provider-api,
+plexus-container-default_alpha_1}: stdenv.mkDerivation rec {
+ pname = "wagon-provider-test";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outJar = "wagon-provider-test-1.0-alpha-2-SNAPSHOT.jar";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "cbfd9846eadd9632fd6adc1c24f7650f9f36466b";
+ hash = "sha256-hQbdIcWYXJKRV6u8BMZk1FMrcld5mXpGOCeCxmE0D2A=";
+ };
+
+ patches = [./wagon-provider-test.patch];
+
+ nativeBuildInputs = [jdk6 maven_2-boostrap-2
+ (mavenDep plexus-utils_alpha_1 {})
+ (mavenDep wagon-provider-api {})
+ (mavenDep plexus-container-default_alpha_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ m2 pom:install
+ cd wagon-provider-test
+ m2 jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp ./target/wagon-provider-test-1.0-alpha-2-SNAPSHOT.jar $out/wagon-provider-test-1.0-alpha-2-SNAPSHOT.jar
+ cp ./pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/wagon/wagon-provider-test.patch b/java/wagon/wagon-provider-test.patch
new file mode 100644
index 0000000..835be54
--- /dev/null
+++ b/java/wagon/wagon-provider-test.patch
@@ -0,0 +1,29 @@
+diff --git a/wagon-provider-test/pom.xml b/wagon-provider-test/pom.xml
+index e5abfef..dc6742a 100644
+--- a/wagon-provider-test/pom.xml
++++ b/wagon-provider-test/pom.xml
+@@ -33,22 +33,16 @@
+ 1.0-alpha-2-SNAPSHOT
+
+
+-
+- plexus
+- plexus-container-api
+- 1.0-alpha-1-SNAPSHOT
+-
+-
+
+ plexus
+ plexus-container-default
+- 1.0-alpha-1-SNAPSHOT
++ 1.0-alpha-1
+
+
+
+ plexus
+ plexus-utils
+- 1.0-alpha-1-SNAPSHOT
++ 1.0-alpha-1
+
+
+
diff --git a/java/wagon/wagon-providers-pom.nix b/java/wagon/wagon-providers-pom.nix
new file mode 100644
index 0000000..d2e022d
--- /dev/null
+++ b/java/wagon/wagon-providers-pom.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchFromGitHub}: stdenv.mkDerivation rec {
+ pname = "wagon-providers";
+ version = "1.0-alpha-2-SNAPSHOT";
+ outPom = "pom.xml";
+ org = "maven";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = "maven-wagon";
+ rev = "cbfd9846eadd9632fd6adc1c24f7650f9f36466b";
+ hash = "sha256-hQbdIcWYXJKRV6u8BMZk1FMrcld5mXpGOCeCxmE0D2A=";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp ./wagon-providers/pom.xml $out/pom.xml
+ '';
+}
diff --git a/java/which.nix b/java/which.nix
index da38f6d..b2b6cfb 100644
--- a/java/which.nix
+++ b/java/which.nix
@@ -1,10 +1,12 @@
-{stdenv, fetchgit, jdk6, ant_1_7}: stdenv.mkDerivation rec {
+{stdenv, fetchFromGitea, jdk6, ant_1_7}: stdenv.mkDerivation rec {
pname = "which";
version = "1.0";
outJar = "which.jar";
- src = fetchgit {
- url = "https://git.befatorinc.de/Bommels05/commons-xml.git";
+ src = fetchFromGitea {
+ domain = "git.befatorinc.de";
+ owner = "Bommels05";
+ repo = "commons-xml";
rev = "1d6cda7c464b289c9672d0698f82e1671e0211df";
hash = "sha256-B7rov3ddAv4EGqKLsu3GepgM2XqOaAVOCNjTcICD+F0=";
};
diff --git a/java/wrapper/ant-optional_1_5_3.nix b/java/wrapper/ant-optional_1_5_3.nix
new file mode 100644
index 0000000..d86d546
--- /dev/null
+++ b/java/wrapper/ant-optional_1_5_3.nix
@@ -0,0 +1,15 @@
+{stdenv, ant_1_5_3}: stdenv.mkDerivation rec {
+ pname = "ant-optional";
+ version = "1.5.3-1";
+ outJar = "lib/optional.jar";
+ org = "ant";
+
+ dontUnpack = true;
+ dontConfigure = true;
+ dontBuild = true;
+
+ installPhase = ''
+ mkdir -p $out/lib
+ ln -s ${ant_1_5_3}/lib/optional.jar $out/lib/optional.jar
+ '';
+}
diff --git a/java/wrapper/maven-artifact.nix b/java/wrapper/maven-artifact.nix
new file mode 100644
index 0000000..ed42a8d
--- /dev/null
+++ b/java/wrapper/maven-artifact.nix
@@ -0,0 +1,15 @@
+{stdenv, maven_2-bootstrap-1}: stdenv.mkDerivation rec {
+ pname = "maven-artifact";
+ version = "2.0-SNAPSHOT";
+ outJar = "maven-artifact-2.0-SNAPSHOT.jar";
+ org = "maven";
+
+ dontUnpack = true;
+ dontConfigure = true;
+ dontBuild = true;
+
+ installPhase = ''
+ mkdir $out
+ ln -s ${maven_2-bootstrap-1}/core/maven-artifact-2.0-SNAPSHOT.jar $out/maven-artifact-2.0-SNAPSHOT.jar
+ '';
+}
diff --git a/java/xpp3.nix b/java/xpp3.nix
new file mode 100644
index 0000000..1c3114a
--- /dev/null
+++ b/java/xpp3.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchzip, jdk6, ant_1_7}: stdenv.mkDerivation rec {
+ pname = "xpp3";
+ version = "1.1.3.3";
+ outJar = "xpp3-1.1.3.4.C.jar";
+
+ src = fetchzip {
+ url = "https://web.archive.org/web/20190614173342/http://www.extreme.indiana.edu/dist/java-repository/xpp3/distributions/xpp3-1.1.3.4.C_src.tgz";
+ hash = "sha256-tN1CQ3nXiXW2U3+gFymq7Qss1GMiShbFH/FC+5tMnbg=";
+ };
+
+ nativeBuildInputs = [jdk6 ant_1_7];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ ant jar
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./build/lib/xpp3-1.1.3.4.C.jar $out/xpp3-1.1.3.4.C.jar
+ '';
+}
diff --git a/java/xstream.patch b/java/xstream.patch
new file mode 100644
index 0000000..8ed99e1
--- /dev/null
+++ b/java/xstream.patch
@@ -0,0 +1,19 @@
+diff --git a/xstream/project.xml b/xstream/project.xml
+index 5e1cea7..61b2a13 100644
+--- a/xstream/project.xml
++++ b/xstream/project.xml
+@@ -133,12 +133,12 @@
+
+
+ dom4j
+- 1.3
++ 1.6.1
+
+
+ xpp3
+ xpp3
+- 1.1.2a
++ 1.1.3.3
+
+
+ commons-lang
diff --git a/java/xstream_0_5.nix b/java/xstream_0_5.nix
new file mode 100644
index 0000000..7842a69
--- /dev/null
+++ b/java/xstream_0_5.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, dom4j, xpp3, commons-lang_2}: stdenv.mkDerivation rec {
+ pname = "xstream";
+ version = "1.0-SNAPSHOT";
+ outJar = "xstream-0.5.jar";
+
+ src = fetchFromGitHub {
+ owner = "x-stream";
+ repo = pname;
+ rev = "daa921116d1a1ac60b54dd8c4f10b3c486bb322c";
+ hash = "sha256-gaWDqvKhhuw5gP1ARwqAq8FGFtIAefg8HIN2mNg+pi8=";
+ };
+
+ patches = [./xstream.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep dom4j {})
+ (mavenDep xpp3 {})
+ (mavenDep commons-lang_2 {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd xstream
+ maven ant
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/xstream_1_0.nix b/java/xstream_1_0.nix
new file mode 100644
index 0000000..eb53841
--- /dev/null
+++ b/java/xstream_1_0.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchFromGitHub, jdk6, ant_1_7, maven_1, mavenDep, dom4j, xpp3, commons-lang_2}: stdenv.mkDerivation rec {
+ pname = "xstream";
+ version = "1.0-SNAPSHOT";
+ outJar = "xstream-0.5.jar";
+
+ src = fetchFromGitHub {
+ owner = "x-stream";
+ repo = pname;
+ rev = "0c430ea7dc8b4e47fc6ee34ba5e4ae4e66c2da90";
+ hash = "sha256-0dGLi5AMvwMYjVr/Ck56CyBepX0jKgayxxap99Nb1SY=";
+ };
+
+ patches = [./xstream.patch];
+
+ nativeBuildInputs = [jdk6 ant_1_7 maven_1
+ (mavenDep dom4j {})
+ (mavenDep xpp3 {})
+ (mavenDep commons-lang_2 {})] ++ maven_1.mavenAntDeps;
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ cd xstream
+ maven ant
+ ant dist
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/java/yacc.nix b/java/yacc.nix
new file mode 100644
index 0000000..ed57ce1
--- /dev/null
+++ b/java/yacc.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchzip}: stdenv.mkDerivation rec {
+ pname = "byacc";
+ version = "1.15";
+ outJar = "commons-digester.jar";
+
+ src = fetchzip {
+ url = "https://master.dl.sourceforge.net/project/byaccj/byaccj/1.13/byaccj1.13_src.tar.gz";
+ hash = "sha256-gOct06sOtDmg60aHtOKIZ+KTEE6x45UYIa57GRCTefY=";
+ };
+
+ env = {
+ NIX_CFLAGS_COMPILE="-Wno-implicit-function-declaration";
+ };
+
+ buildPhase = ''
+ cd src
+ make
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./yacc.irix $out/yacc
+ '';
+}
diff --git a/maven/bootstrap-2-fake-poms/asm/poms/asm-1.3.4.pom b/maven/bootstrap-2-fake-poms/asm/poms/asm-1.3.4.pom
new file mode 100644
index 0000000..aeeae12
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/asm/poms/asm-1.3.4.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ asm
+ asm
+ 1.3.4
+
diff --git a/maven/bootstrap-2-fake-poms/classworlds/poms/classworlds-1.1-SNAPSHOT.pom b/maven/bootstrap-2-fake-poms/classworlds/poms/classworlds-1.1-SNAPSHOT.pom
new file mode 100644
index 0000000..2811e37
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/classworlds/poms/classworlds-1.1-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ classworlds
+ classworlds
+ 1.1-SNAPSHOT
+
diff --git a/maven/bootstrap-2-fake-poms/commons-cli/poms/commons-cli-1.0-beta-2.pom b/maven/bootstrap-2-fake-poms/commons-cli/poms/commons-cli-1.0-beta-2.pom
new file mode 100644
index 0000000..78db1d5
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/commons-cli/poms/commons-cli-1.0-beta-2.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ commons-cli
+ commons-cli
+ 1.0-beta-2
+
diff --git a/maven/bootstrap-2-fake-poms/junit/poms/junit-3.8.1.pom b/maven/bootstrap-2-fake-poms/junit/poms/junit-3.8.1.pom
new file mode 100644
index 0000000..f111d1c
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/junit/poms/junit-3.8.1.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ junit
+ junit
+ 3.8.1
+
diff --git a/maven/bootstrap-2-fake-poms/maven/poms/wagon-api-0.9-SNAPSHOT.pom b/maven/bootstrap-2-fake-poms/maven/poms/wagon-api-0.9-SNAPSHOT.pom
new file mode 100644
index 0000000..2958a2b
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/maven/poms/wagon-api-0.9-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ maven
+ wagon-api
+ 0.9-SNAPSHOT
+
diff --git a/maven/bootstrap-2-fake-poms/modello/poms/modello-1.0-SNAPSHOT.pom b/maven/bootstrap-2-fake-poms/modello/poms/modello-1.0-SNAPSHOT.pom
new file mode 100644
index 0000000..1883446
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/modello/poms/modello-1.0-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ modello
+ modello
+ 1.0-SNAPSHOT
+
diff --git a/maven/bootstrap-2-fake-poms/ognl/poms/ognl-2.5.1.pom b/maven/bootstrap-2-fake-poms/ognl/poms/ognl-2.5.1.pom
new file mode 100644
index 0000000..fc1ff74
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/ognl/poms/ognl-2.5.1.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ ognl
+ ognl
+ 2.5.1
+
diff --git a/maven/bootstrap-2-fake-poms/plexus/poms/plexus-0.14-SNAPSHOT.pom b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-0.14-SNAPSHOT.pom
new file mode 100644
index 0000000..a36878d
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-0.14-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus
+ 0.14-SNAPSHOT
+
diff --git a/maven/bootstrap-2-fake-poms/plexus/poms/plexus-0.16.pom b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-0.16.pom
new file mode 100644
index 0000000..a97cd5c
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-0.16.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus
+ 0.16
+
diff --git a/maven/bootstrap-2-fake-poms/plexus/poms/plexus-compiler-api-1.0.pom b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-compiler-api-1.0.pom
new file mode 100644
index 0000000..f8339e0
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-compiler-api-1.0.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus-compiler-api
+ 1.0
+
diff --git a/maven/bootstrap-2-fake-poms/plexus/poms/plexus-compiler-javac-1.0.pom b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-compiler-javac-1.0.pom
new file mode 100644
index 0000000..99ae70d
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-compiler-javac-1.0.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus-compiler-javac
+ 1.0
+
diff --git a/maven/bootstrap-2-fake-poms/plexus/poms/plexus-i18n-1.0-beta-3.pom b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-i18n-1.0-beta-3.pom
new file mode 100644
index 0000000..547c39e
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/plexus/poms/plexus-i18n-1.0-beta-3.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus-i18n
+ 1.0-beta-3
+
diff --git a/maven/bootstrap-2-fake-poms/qdox/poms/qdox-1.2.pom b/maven/bootstrap-2-fake-poms/qdox/poms/qdox-1.2.pom
new file mode 100644
index 0000000..c211d57
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/qdox/poms/qdox-1.2.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ qdox
+ qdox
+ 1.2
+
diff --git a/maven/bootstrap-2-fake-poms/surefire/poms/surefire-1.1.pom b/maven/bootstrap-2-fake-poms/surefire/poms/surefire-1.1.pom
new file mode 100644
index 0000000..55bd40d
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/surefire/poms/surefire-1.1.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ surefire
+ surefire
+ 1.1
+
diff --git a/maven/bootstrap-2-fake-poms/surefire/poms/surefire-booter-1.1.pom b/maven/bootstrap-2-fake-poms/surefire/poms/surefire-booter-1.1.pom
new file mode 100644
index 0000000..7bdd2ec
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/surefire/poms/surefire-booter-1.1.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ surefire
+ surefire-booter
+ 1.1
+
diff --git a/maven/bootstrap-2-fake-poms/xpp3/poms/xpp3-1.1.3.3.pom b/maven/bootstrap-2-fake-poms/xpp3/poms/xpp3-1.1.3.3.pom
new file mode 100644
index 0000000..527c3e5
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/xpp3/poms/xpp3-1.1.3.3.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ xpp3
+ xpp3
+ 1.1.3.3
+
diff --git a/maven/bootstrap-2-fake-poms/xstream/poms/xstream-1.0-SNAPSHOT.pom b/maven/bootstrap-2-fake-poms/xstream/poms/xstream-1.0-SNAPSHOT.pom
new file mode 100644
index 0000000..af45d2f
--- /dev/null
+++ b/maven/bootstrap-2-fake-poms/xstream/poms/xstream-1.0-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ xstream
+ xstream
+ 1.0-SNAPSHOT
+
diff --git a/maven/bootstrap-3-fake-poms/asm/poms/asm-1.3.4.pom b/maven/bootstrap-3-fake-poms/asm/poms/asm-1.3.4.pom
new file mode 100644
index 0000000..aeeae12
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/asm/poms/asm-1.3.4.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ asm
+ asm
+ 1.3.4
+
diff --git a/maven/bootstrap-3-fake-poms/classworlds/poms/classworlds-1.1-SNAPSHOT.pom b/maven/bootstrap-3-fake-poms/classworlds/poms/classworlds-1.1-SNAPSHOT.pom
new file mode 100644
index 0000000..2811e37
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/classworlds/poms/classworlds-1.1-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ classworlds
+ classworlds
+ 1.1-SNAPSHOT
+
diff --git a/maven/bootstrap-3-fake-poms/commons-cli/poms/commons-cli-1.0-beta-2.pom b/maven/bootstrap-3-fake-poms/commons-cli/poms/commons-cli-1.0-beta-2.pom
new file mode 100644
index 0000000..78db1d5
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/commons-cli/poms/commons-cli-1.0-beta-2.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ commons-cli
+ commons-cli
+ 1.0-beta-2
+
diff --git a/maven/bootstrap-3-fake-poms/junit/poms/junit-3.8.1.pom b/maven/bootstrap-3-fake-poms/junit/poms/junit-3.8.1.pom
new file mode 100644
index 0000000..f111d1c
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/junit/poms/junit-3.8.1.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ junit
+ junit
+ 3.8.1
+
diff --git a/maven/bootstrap-3-fake-poms/plexus/poms/plexus-compiler-api-1.0.pom b/maven/bootstrap-3-fake-poms/plexus/poms/plexus-compiler-api-1.0.pom
new file mode 100644
index 0000000..f8339e0
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/plexus/poms/plexus-compiler-api-1.0.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus-compiler-api
+ 1.0
+
diff --git a/maven/bootstrap-3-fake-poms/plexus/poms/plexus-compiler-javac-1.0.pom b/maven/bootstrap-3-fake-poms/plexus/poms/plexus-compiler-javac-1.0.pom
new file mode 100644
index 0000000..99ae70d
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/plexus/poms/plexus-compiler-javac-1.0.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus-compiler-javac
+ 1.0
+
diff --git a/maven/bootstrap-3-fake-poms/plexus/poms/plexus-i18n-1.0-beta-3.pom b/maven/bootstrap-3-fake-poms/plexus/poms/plexus-i18n-1.0-beta-3.pom
new file mode 100644
index 0000000..547c39e
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/plexus/poms/plexus-i18n-1.0-beta-3.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ plexus
+ plexus-i18n
+ 1.0-beta-3
+
diff --git a/maven/bootstrap-3-fake-poms/qdox/poms/qdox-1.2.pom b/maven/bootstrap-3-fake-poms/qdox/poms/qdox-1.2.pom
new file mode 100644
index 0000000..c211d57
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/qdox/poms/qdox-1.2.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ qdox
+ qdox
+ 1.2
+
diff --git a/maven/bootstrap-3-fake-poms/surefire/poms/surefire-1.2-SNAPSHOT.pom b/maven/bootstrap-3-fake-poms/surefire/poms/surefire-1.2-SNAPSHOT.pom
new file mode 100644
index 0000000..8e72bd5
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/surefire/poms/surefire-1.2-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ surefire
+ surefire
+ 1.2-SNAPSHOT
+
diff --git a/maven/bootstrap-3-fake-poms/surefire/poms/surefire-booter-1.2-SNAPSHOT.pom b/maven/bootstrap-3-fake-poms/surefire/poms/surefire-booter-1.2-SNAPSHOT.pom
new file mode 100644
index 0000000..4b50598
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/surefire/poms/surefire-booter-1.2-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ surefire
+ surefire-booter
+ 1.2-SNAPSHOT
+
diff --git a/maven/bootstrap-3-fake-poms/xpp3/poms/xpp3-1.1.3.3.pom b/maven/bootstrap-3-fake-poms/xpp3/poms/xpp3-1.1.3.3.pom
new file mode 100644
index 0000000..527c3e5
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/xpp3/poms/xpp3-1.1.3.3.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ xpp3
+ xpp3
+ 1.1.3.3
+
diff --git a/maven/bootstrap-3-fake-poms/xstream/poms/xstream-1.0-SNAPSHOT.pom b/maven/bootstrap-3-fake-poms/xstream/poms/xstream-1.0-SNAPSHOT.pom
new file mode 100644
index 0000000..af45d2f
--- /dev/null
+++ b/maven/bootstrap-3-fake-poms/xstream/poms/xstream-1.0-SNAPSHOT.pom
@@ -0,0 +1,8 @@
+
+
+
+ 4.0.0
+ xstream
+ xstream
+ 1.0-SNAPSHOT
+
diff --git a/maven/fake/build.xml b/maven/fake/build.xml
index 3072344..92a6b48 100644
--- a/maven/fake/build.xml
+++ b/maven/fake/build.xml
@@ -17,14 +17,7 @@
-
-
-
-
-
-
-
diff --git a/maven/maven-bootstrap-1.nix b/maven/maven-bootstrap-1.nix
new file mode 100644
index 0000000..880ce02
--- /dev/null
+++ b/maven/maven-bootstrap-1.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchFromGitHub, jdk6, mavenDep, modello, xpp3, xstream_0_5, surefire_1_1, junit_3_8_1, qdox, plexus_0_16-bootstrap,
+wagon-api_0_9, classworlds, commons-cli_beta_2, plexus-i18n, ognl, plexus-compiler-api, plexus-compiler-javac,
+surefire-booter_1_1}: stdenv.mkDerivation rec {
+ pname = "maven";
+ version = "2.0.0-SNAPSHOT";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = pname;
+ rev = "d303a99fa58e2de2bfe8dff47c319f5f18b2feee";
+ hash = "sha256-TSCrOrbLrPxnWa3ojPFnINqwBNCL/yOSeFM8H+dAGi8=";
+ };
+
+ patches = [./maven_2-bootstrap.patch];
+
+ settings = ./maven.properties;
+
+ nativeBuildInputs = [jdk6
+ (mavenDep modello {})
+ (mavenDep xpp3 {})
+ (mavenDep xstream_0_5 {})
+ (mavenDep surefire_1_1 {})
+ (mavenDep junit_3_8_1 {})
+ (mavenDep qdox {})
+ (mavenDep plexus_0_16-bootstrap {})
+ (mavenDep wagon-api_0_9 {})
+ (mavenDep classworlds {})
+ (mavenDep commons-cli_beta_2 {})
+ (mavenDep plexus-i18n {})
+ (mavenDep ognl {})
+ (mavenDep plexus-compiler-api {})
+ (mavenDep plexus-compiler-javac {})
+ (mavenDep surefire-booter_1_1 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ configurePhase = ''
+ ln -s ${settings} /build/maven.properties
+ '';
+
+ buildPhase = ''
+ chmod +x m2-bootstrap-all.sh
+ ./m2-bootstrap-all.sh
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r /build/m2/* $out/
+ '';
+}
diff --git a/maven/maven-bootstrap-2.nix b/maven/maven-bootstrap-2.nix
index 4e78515..320fc90 100644
--- a/maven/maven-bootstrap-2.nix
+++ b/maven/maven-bootstrap-2.nix
@@ -1,29 +1,45 @@
-{stdenv, fetchFromGitHub, jdk6}: stdenv.mkDerivation rec {
+{stdenv, fetchFromGitHub, jdk6, mavenDep, modello, xpp3, xstream_0_5, surefire_1_1, junit_3_8_1, qdox, plexus_0_16,
+wagon-api_0_9, classworlds, commons-cli_beta_2, plexus-i18n, ognl, plexus-compiler-api, plexus-compiler-javac,
+surefire-booter_1_1}: stdenv.mkDerivation rec {
pname = "maven";
version = "2.0.0-SNAPSHOT";
src = fetchFromGitHub {
owner = "apache";
repo = pname;
- rev = "441108375c3d2bb41da59c0cbacabb831165204b";
- hash = "sha256-+M6Yo6Au11VvwRyu79Q/eA2sQFSY5+ZGz6+M49bLYJ8=";
+ rev = "d303a99fa58e2de2bfe8dff47c319f5f18b2feee";
+ hash = "sha256-TSCrOrbLrPxnWa3ojPFnINqwBNCL/yOSeFM8H+dAGi8=";
};
- #patches = [./maven_2.patch];
+ fake-poms = ./bootstrap-2-fake-poms;
- settings = ./settings.xml;
+ patches = [./maven_2-bootstrap-2.patch];
- nativeBuildInputs = [jdk6];
+ settings = ./maven.properties;
+
+ nativeBuildInputs = [jdk6
+ (mavenDep modello {})
+ (mavenDep xpp3 {})
+ (mavenDep xstream_0_5 {})
+ (mavenDep surefire_1_1 {})
+ (mavenDep junit_3_8_1 {})
+ (mavenDep qdox {})
+ (mavenDep plexus_0_16 {})
+ (mavenDep wagon-api_0_9 {})
+ (mavenDep classworlds {})
+ (mavenDep commons-cli_beta_2 {})
+ (mavenDep plexus-i18n {})
+ (mavenDep ognl {})
+ (mavenDep plexus-compiler-api {})
+ (mavenDep plexus-compiler-javac {})
+ (mavenDep surefire-booter_1_1 {})];
env = {
JAVA_HOME="${jdk6}";
- #M2_HOME="/build/mvn-bootstrap";
- MAVEN_OPTS="-Dmaven.online=false";
};
configurePhase = ''
- #mkdir /build/.m2
- #ln -s ${settings} /build/.m2/settings.xml
+ ln -s ${settings} /build/maven.properties
'';
buildPhase = ''
@@ -33,6 +49,21 @@
installPhase = ''
mkdir $out
- cp -r ./dist/* $out/
+ cp -r /build/m2/* $out/
+
+ mkdir $out/nix-support
+ echo "ln -s ${settings} /build/maven.properties" >> $out/nix-support/setup-hook
+
+ mkdir $out/repository
+ cp -r /build/.maven/repository/* $out/repository/
+ cp -r ${fake-poms}/* $out/repository/
+
+ echo "mkdir -p /build/.maven/repository" >> $out/nix-support/setup-hook
+ echo "cp -r $out/repository/* /build/.maven/repository/" >> $out/nix-support/setup-hook
+ echo "chmod -R 777 /build/.maven/repository/" >> $out/nix-support/setup-hook
'';
+
+ meta = {
+ mainProgram = "m2";
+ };
}
diff --git a/maven/maven-bootstrap-2.nix.old b/maven/maven-bootstrap-2.nix.old
new file mode 100644
index 0000000..4e78515
--- /dev/null
+++ b/maven/maven-bootstrap-2.nix.old
@@ -0,0 +1,38 @@
+{stdenv, fetchFromGitHub, jdk6}: stdenv.mkDerivation rec {
+ pname = "maven";
+ version = "2.0.0-SNAPSHOT";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = pname;
+ rev = "441108375c3d2bb41da59c0cbacabb831165204b";
+ hash = "sha256-+M6Yo6Au11VvwRyu79Q/eA2sQFSY5+ZGz6+M49bLYJ8=";
+ };
+
+ #patches = [./maven_2.patch];
+
+ settings = ./settings.xml;
+
+ nativeBuildInputs = [jdk6];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ #M2_HOME="/build/mvn-bootstrap";
+ MAVEN_OPTS="-Dmaven.online=false";
+ };
+
+ configurePhase = ''
+ #mkdir /build/.m2
+ #ln -s ${settings} /build/.m2/settings.xml
+ '';
+
+ buildPhase = ''
+ chmod +x m2-bootstrap-all.sh
+ ./m2-bootstrap-all.sh
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/maven/maven-bootstrap.nix b/maven/maven-bootstrap.nix.old
similarity index 100%
rename from maven/maven-bootstrap.nix
rename to maven/maven-bootstrap.nix.old
diff --git a/maven/maven.nix b/maven/maven.nix
index 32851cb..92d5495 100644
--- a/maven/maven.nix
+++ b/maven/maven.nix
@@ -1,30 +1,34 @@
-{stdenv, fetchFromGitHub, jdk6, maven_2}: stdenv.mkDerivation rec {
+{stdenv, fetchFromGitHub, jdk6, mavenDep, plexus-container-default}: stdenv.mkDerivation rec {
pname = "maven";
- version = "2.0.8";
+ version = "2.0.0";
src = fetchFromGitHub {
owner = "apache";
repo = pname;
- rev = "14a3ddb228af67b7ae1dbcfd871a43f972fbc85d";
- hash = "sha256-IraSjdx5MFy+aOxeVP4wKb63a1jzK4nbsGuJEwtdJHU=";
+ rev = "d783c5fc419c365d8c8799148db122122727212a";
+ hash = "sha256-9hFBvjn7DqDik3IhIi43Ryf5+TkCtoYTDl+2I6SGjeQ=";
};
+ patches = [./maven_2.patch];
+
settings = ./settings.xml;
- nativeBuildInputs = [jdk6 maven_2];
+ nativeBuildInputs = [jdk6
+ (mavenDep plexus-container-default {})];
env = {
JAVA_HOME="${jdk6}";
- MAVEN_OPTS="-Dmaven.online=false";
+ M2_HOME="/build/m2";
+ #MAVEN_OPTS="-Dmaven.online=false";
};
configurePhase = ''
- mkdir /build/.m2
- ln -s ${settings} /build/.m2/settings.xml
+ #mkdir /build/.m2
+ #ln -s ${settings} /build/.m2/settings.xml
'';
buildPhase = ''
- ./bootstrap.sh
+ ./m2-bootstrap-all.sh
'';
installPhase = ''
diff --git a/maven/maven.properties b/maven/maven.properties
index e5c7b98..271bd97 100644
--- a/maven/maven.properties
+++ b/maven/maven.properties
@@ -1 +1,2 @@
maven.repo.local = /build/.maven/repository
+maven.online=false
diff --git a/maven/mavenDep.nix b/maven/mavenDep.nix
index a4803d7..8d4ae5a 100644
--- a/maven/mavenDep.nix
+++ b/maven/mavenDep.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
echo "export MAVEN_NAME_${pname}=${dep.pname}" >> $out/nix-support/setup-hook
echo "export MAVEN_ORG_${pname}=${dep.org or dep.pname}" >> $out/nix-support/setup-hook
echo "export MAVEN_VERSION_${pname}=${dep.version}" >> $out/nix-support/setup-hook
- echo "export MAVEN_SOURCE_${pname}=${dep}/${dep.outJar}" >> $out/nix-support/setup-hook
+ ${if dep ? outJar then "echo \"export MAVEN_SOURCE_${pname}=${dep}/${dep.outJar}\" >> $out/nix-support/setup-hook" else ""}
+ ${if dep ? outPom then "echo \"export MAVEN_POM_${pname}=${dep}/${dep.outPom}\" >> $out/nix-support/setup-hook" else ""}
echo 'bash ${mavenDepHook.src}' >> $out/nix-support/setup-hook
echo "export MAVEN_DEPS=" >> $out/nix-support/setup-hook
diff --git a/maven/mavenDepHook.sh b/maven/mavenDepHook.sh
index 70a7f97..d1554be 100644
--- a/maven/mavenDepHook.sh
+++ b/maven/mavenDepHook.sh
@@ -1,23 +1,33 @@
-#echo "IVY DEP HOOK!!!"
-#/build/.maven/repository/commons-logging/jars/commons-logging-1.0.4.jar
-
: "${MAVEN_DEPS:=}"
for dep in $MAVEN_DEPS; do
nameVar="MAVEN_NAME_${dep}"
orgVar="MAVEN_ORG_${dep}"
versionVar="MAVEN_VERSION_${dep}"
sourceVar="MAVEN_SOURCE_${dep}"
+ pomVar="MAVEN_POM_${dep}"
name="${!nameVar}"
org="${!orgVar}"
version="${!versionVar}"
source="${!sourceVar}"
+ pom="${!pomVar}"
- path="/build/.maven/repository/$org/jars"
- file="$path/$name-$version.jar"
+ if [ -n "$source" ]; then
+ path="/build/.maven/repository/$org/jars"
+ file="$path/$name-$version.jar"
- echo "Registering Maven Dependency: $file -> $source"
- mkdir -p $path
- #ln -s "$source" "$file"
- cp "$source" "$file"
- chmod 777 "$file"
+ echo "Registering Maven Dependency: $file -> $source"
+ mkdir -p $path
+ #ln -s "$source" "$file"
+ cp "$source" "$file"
+ chmod 777 "$file"
+ fi
+
+ if [ -n "$pom" ]; then
+ path="/build/.maven/repository/$org/poms"
+ file="$path/$name-$version.pom"
+
+ echo "Registering Maven Dependency POM: $file -> $pom"
+ mkdir -p $path
+ ln -s "$pom" "$file"
+ fi
done
diff --git a/maven/maven_1_0_2.nix b/maven/maven_1_0_2.nix
index ab2f95b..1f12f18 100644
--- a/maven/maven_1_0_2.nix
+++ b/maven/maven_1_0_2.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchsvn, fetchgit, jdk6, ant_1_7, mavenDep, commons-lang, commons-logging_1_0_3, commons-httpclient_2, dom4j, ant_1_5_3,
+{stdenv, fetchsvn, fetchFromGitea, jdk6, ant_1_7, mavenDep, commons-lang_2, commons-logging_1_0_3, commons-httpclient_2, dom4j, ant_1_5_3,
ant-optional_1_5_3, commons-betwixt, commons-digester_1_4_1, commons-jelly, commons-jelly-tags-ant, commons-jelly-tags-define,
commons-jelly-tags-util, commons-jelly-tags-xml, commons-jexl, werkz, commons-beanutils_1_6_1, commons-cli_beta_2, commons-collections_2_1,
commons-grant, commons-io, forehead, log4j_1_2_8, which, jaxen, saxpath, xerces_2_4_0, plexus, commons-jelly-tags-maven,
@@ -12,8 +12,10 @@ commons-jelly-tags-interaction, jdom, junit_3_8_1, commons-jelly-tags-velocity,
hash = "sha256-fueknKeqmPn0ouJrEU6PNA97JvJMuB4P013c5eyjUK8=";
};
- src2 = fetchgit {
- url = "https://git.befatorinc.de/Bommels05/maven-plugins.git";
+ src2 = fetchFromGitea {
+ domain = "git.befatorinc.de";
+ owner = "Bommels05";
+ repo = "maven-plugins";
rev = "a7e46d68144194fcb2e7eea6e9f909c2316f22f2";
hash = "sha256-f4t2d7+Hh0TSsCRh0FVtHsvQ9xAMUHrTZBYIexdRv+Y=";
};
@@ -21,7 +23,7 @@ commons-jelly-tags-interaction, jdom, junit_3_8_1, commons-jelly-tags-velocity,
patches = [./maven.patch];
nativeBuildInputs = [jdk6 ant_1_7
- (mavenDep commons-lang {})
+ (mavenDep commons-lang_2 {})
(mavenDep commons-logging_1_0_3 {})
(mavenDep commons-httpclient_2 {})
(mavenDep dom4j {})
@@ -55,13 +57,24 @@ commons-jelly-tags-interaction, jdom, junit_3_8_1, commons-jelly-tags-velocity,
(mavenDep commons-jelly-tags-velocity {})
(mavenDep velocity_1_4 {})];
+ #Propagation
+ mavenAntDeps = [
+ (mavenDep junit_3_8_1 {})
+ (mavenDep xerces_2_4_0 {})
+ (mavenDep commons-jelly-tags-xml {})];
+ mavenJarDeps = [
+ (mavenDep junit_3_8_1 {})
+ (mavenDep xerces_2_4_0 {})
+ (mavenDep velocity_1_4 {})
+ (mavenDep commons-jelly-tags-velocity {})];
+
env = {
JAVA_HOME="${jdk6}";
MAVEN_HOME="/build/mvn";
};
configurePhase = ''
- ln -s /build/.maven/repository/commons-jelly/jars/commons-jelly-tags-xml-20040613.030723.jar /build/.maven/repository/commons-jelly/jars/commons-jelly-tags-xml-1.0.jar
+ ln -s /build/.maven/repository/commons-jelly/jars/commons-jelly-tags-xml-1.0.jar /build/.maven/repository/commons-jelly/jars/commons-jelly-tags-xml-20040613.030723.jar
ln -s /build/.maven/repository/jaxen/jars/jaxen-1.0-FCS.jar /build/.maven/repository/jaxen/jars/jaxen-1.0-FCS-full.jar
mkdir /build/maven-plugins
diff --git a/maven/maven_2-bootstrap-2.patch b/maven/maven_2-bootstrap-2.patch
new file mode 100644
index 0000000..38ce8c2
--- /dev/null
+++ b/maven/maven_2-bootstrap-2.patch
@@ -0,0 +1,803 @@
+diff --git a/m2-bootstrap-all.sh b/m2-bootstrap-all.sh
+index 6b68328..20b6be1 100644
+--- a/m2-bootstrap-all.sh
++++ b/m2-bootstrap-all.sh
+@@ -26,13 +26,3 @@ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+ )
+ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+-
+-(
+- cd ./maven-core-it
+- echo
+- echo "Running maven-core integration tests ..."
+- echo
+- ./maven-core-it.sh $ARGS
+- ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+-)
+-ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml
+index fe56608..b1382cd 100644
+--- a/maven-artifact/pom.xml
++++ b/maven-artifact/pom.xml
+@@ -15,11 +15,6 @@
+ wagon-api
+ 0.9-SNAPSHOT
+
+-
+- maven
+- wagon-http-lightweight
+- 0.9-SNAPSHOT
+-
+
+ plexus
+ plexus
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
+deleted file mode 100644
+index 3be443b..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
++++ /dev/null
+@@ -1,57 +0,0 @@
+-package org.apache.maven.artifact.deployer;
+-
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-
+-import org.apache.maven.artifact.Artifact;
+-import org.apache.maven.artifact.ArtifactComponentTestCase;
+-
+-import java.io.File;
+-
+-/**
+- * @author Jason van Zyl
+- * @version $Id$
+- */
+-public class ArtifactDeployerTest
+- extends ArtifactComponentTestCase
+-{
+- private ArtifactDeployer artifactDeployer;
+-
+- protected void setUp()
+- throws Exception
+- {
+- super.setUp();
+-
+- artifactDeployer = (ArtifactDeployer) lookup( ArtifactDeployer.ROLE );
+- }
+-
+- protected String component()
+- {
+- return "deployer";
+- }
+-
+- public void testArtifactInstallation()
+- throws Exception
+- {
+- String artifactBasedir = new File( basedir, "src/test/resources/artifact-install" ).getAbsolutePath();
+-
+- Artifact artifact = createArtifact( "artifact", "1.0" );
+-
+- artifactDeployer.deploy( artifactBasedir, artifact, remoteRepository() );
+-
+- assertRemoteArtifactPresent( artifact );
+- }
+-}
+\ No newline at end of file
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
+deleted file mode 100644
+index 59c601f..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
++++ /dev/null
+@@ -1,74 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.UnsupportedProtocolException;
+-import org.apache.maven.wagon.Wagon;
+-import org.codehaus.plexus.PlexusTestCase;
+-
+-/**
+- * @author Michal Maczka
+- * @version $Id$
+- */
+-public class DefaultWagonManagerTest
+- extends PlexusTestCase
+-{
+- public void testDefaultWagonManager()
+- throws Exception
+- {
+- WagonManager wagonManager = (WagonManager) lookup( WagonManager.ROLE );
+-
+- Wagon wagon = null;
+-
+- try
+- {
+- wagon = (Wagon) wagonManager.getWagon( "a" );
+-
+- assertNotNull( wagon );
+-
+- wagon = (Wagon) wagonManager.getWagon( "b1" );
+-
+- assertNotNull( wagon );
+-
+- wagon = (Wagon) wagonManager.getWagon( "b2" );
+-
+- assertNotNull( wagon );
+-
+- wagon = (Wagon) wagonManager.getWagon( "c" );
+-
+- assertNotNull( wagon );
+- }
+- catch ( Exception e )
+- {
+- e.printStackTrace();
+-
+- fail( e.getMessage() );
+- }
+-
+- try
+- {
+- wagon = (Wagon) wagonManager.getWagon( "d" );
+-
+- fail( "Expected :" + UnsupportedProtocolException.class.getName() );
+- }
+- catch ( UnsupportedProtocolException e )
+- {
+- //ok
+- }
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonA.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonA.java
+deleted file mode 100644
+index dcc6daf..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonA.java
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.providers.file.FileWagon;
+-
+-/**
+- *
+- *
+- * @author Jason van Zyl
+- *
+- * @version $Id$
+- */
+-public class WagonA
+- extends FileWagon
+-{
+- public String[] getSupportedProtocols()
+- {
+- return new String[]{ "a" };
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonB.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonB.java
+deleted file mode 100644
+index 4a41545..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonB.java
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.providers.file.FileWagon;
+-
+-/**
+- *
+- *
+- * @author Jason van Zyl
+- *
+- * @version $Id$
+- */
+-public class WagonB
+- extends FileWagon
+-{
+- public String[] getSupportedProtocols()
+- {
+- return new String[]{ "b1", "b2" };
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonC.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonC.java
+deleted file mode 100644
+index d19378e..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonC.java
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.providers.file.FileWagon;
+-
+-/**
+- *
+- *
+- * @author Jason van Zyl
+- *
+- * @version $Id$
+- */
+-public class WagonC
+- extends FileWagon
+-{
+- public String[] getSupportedProtocols()
+- {
+- return new String[]{ "c" };
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
+deleted file mode 100644
+index e746bb4..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
++++ /dev/null
+@@ -1,224 +0,0 @@
+-package org.apache.maven.artifact.resolver;
+-
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-
+-import org.apache.maven.artifact.ArtifactComponentTestCase;
+-import org.apache.maven.artifact.DefaultArtifact;
+-import org.apache.maven.artifact.Artifact;
+-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+-import org.apache.maven.artifact.repository.ArtifactRepository;
+-import org.codehaus.plexus.util.FileUtils;
+-
+-import java.io.File;
+-import java.io.Writer;
+-import java.io.FileWriter;
+-import java.util.Set;
+-import java.util.HashSet;
+-
+-/**
+- * @author Jason van Zyl
+- * @version $Id$
+- */
+-
+-// It would be cool if there was a hook that i could use to setup a test environment.
+-// I want to setup a local/remote repositories for testing but i don't want to have
+-// to change them when i change the layout of the repositories. So i want to generate
+-// the structure i want to test by using the artifact handler manager which dictates
+-// the layout used for a particular artifact type.
+-
+-public class ArtifactResolverTest
+- extends ArtifactComponentTestCase
+-{
+- private ArtifactResolver artifactResolver;
+-
+- protected void setUp()
+- throws Exception
+- {
+- super.setUp();
+-
+- artifactResolver = (ArtifactResolver) lookup( ArtifactResolver.ROLE );
+- }
+-
+- protected String component()
+- {
+- return "resolver";
+- }
+-
+- public void testResolutionOfASingleArtifactWhereTheArtifactIsPresentInTheLocalRepository()
+- throws Exception
+- {
+- Artifact a = createLocalArtifact( "a", "1.0" );
+-
+- artifactResolver.resolve( a, remoteRepositories(), localRepository() );
+-
+- assertLocalArtifactPresent( a );
+- }
+-
+- public void testResolutionOfASingleArtifactWhereTheArtifactIsNotPresentLocallyAndMustBeRetrievedFromTheRemoteRepository()
+- throws Exception
+- {
+- Artifact b = createLocalArtifact( "b", "1.0" );
+-
+- artifactResolver.resolve( b, remoteRepositories(), localRepository() );
+-
+- assertLocalArtifactPresent( b );
+- }
+-
+- public void testResolutionOfASetOfArtifactsWhereTheArtifactsArePresentInTheLocalRepository()
+- throws Exception
+- {
+- Set artifacts = new HashSet();
+-
+- Artifact c = createLocalArtifact( "c", "1.0" );
+-
+- Artifact d = createLocalArtifact( "d", "1.0" );
+-
+- artifacts.add( c );
+-
+- artifacts.add( d );
+-
+- Set resolvedArtifacts = artifactResolver.resolve( artifacts, remoteRepositories(), localRepository() );
+-
+- assertEquals( 2, resolvedArtifacts.size() );
+-
+- // The artifacts have undergone no transformations and they are present so the original
+- // artifacts sent into the resolver should be returned as they were sent in.
+-
+- assertTrue( resolvedArtifacts.contains( c ) );
+-
+- assertTrue( resolvedArtifacts.contains( d ) );
+- }
+-
+- public void testResolutionOfASetOfArtifactsWhereTheArtifactsAreNotPresentInTheLocalRepositoryAndMustBeRetrievedFromTheRemoteRepository()
+- throws Exception
+- {
+- Set artifacts = new HashSet();
+-
+- Artifact e = createRemoteArtifact( "e", "1.0" );
+-
+- Artifact f = createRemoteArtifact( "f", "1.0" );
+-
+- artifacts.add( e );
+-
+- artifacts.add( f );
+-
+- Set resolvedArtifacts = artifactResolver.resolve( artifacts, remoteRepositories(), localRepository() );
+-
+- assertEquals( 2, resolvedArtifacts.size() );
+-
+- // The artifacts have undergone no transformations and they are present so the original
+- // artifacts sent into the resolver should be returned as they were sent in.
+-
+- assertTrue( resolvedArtifacts.contains( e ) );
+-
+- assertTrue( resolvedArtifacts.contains( f ) );
+- }
+-
+-
+- public void testTransitiveResolutionWhereAllArtifactsArePresentInTheLocalRepository()
+- throws Exception
+- {
+- Artifact g = createLocalArtifact( "g", "1.0" );
+-
+- Artifact h = createLocalArtifact( "h", "1.0" );
+-
+- ArtifactMetadataSource mds = new ArtifactMetadataSource()
+- {
+- public Set retrieve( Artifact artifact )
+- throws ArtifactMetadataRetrievalException
+- {
+- Set dependencies = new HashSet();
+-
+- if ( artifact.getArtifactId().equals( "g" ) )
+- {
+- try
+- {
+- dependencies.add( new DefaultArtifact( "maven", "h", "1.0", "jar" ) );
+- }
+- catch ( Exception e )
+- {
+- throw new ArtifactMetadataRetrievalException( "Cannot retrieve metadata." );
+- }
+- }
+-
+- return dependencies;
+- }
+- };
+-
+- ArtifactResolutionResult result = artifactResolver.resolveTransitively( g,
+- remoteRepositories(),
+- localRepository(),
+- mds );
+-
+- assertEquals( 2, result.getArtifacts().size() );
+-
+- assertTrue( result.getArtifacts().containsKey( g.getId() ) );
+-
+- assertTrue( result.getArtifacts().containsKey( h.getId() ) );
+-
+- assertLocalArtifactPresent( g );
+-
+- assertLocalArtifactPresent( h );
+- }
+-
+- public void testTransitiveResolutionWhereAllArtifactsAreNotPresentInTheLocalRepositoryAndMustBeRetrievedFromTheRemoteRepository()
+- throws Exception
+- {
+- Artifact i = createRemoteArtifact( "i", "1.0" );
+-
+- Artifact j = createRemoteArtifact( "j", "1.0" );
+-
+- ArtifactMetadataSource mds = new ArtifactMetadataSource()
+- {
+- public Set retrieve( Artifact artifact )
+- throws ArtifactMetadataRetrievalException
+- {
+- Set dependencies = new HashSet();
+-
+- if ( artifact.getArtifactId().equals( "i" ) )
+- {
+- try
+- {
+- dependencies.add( new DefaultArtifact( "maven", "j", "1.0", "jar" ) );
+- }
+- catch ( Exception e )
+- {
+- throw new ArtifactMetadataRetrievalException( "Cannot retrieve metadata." );
+- }
+- }
+-
+- return dependencies;
+- }
+- };
+-
+- ArtifactResolutionResult result = artifactResolver.resolveTransitively( i,
+- remoteRepositories(),
+- localRepository(),
+- mds );
+-
+- assertEquals( 2, result.getArtifacts().size() );
+-
+- assertTrue( result.getArtifacts().containsKey( i.getId() ) );
+-
+- assertTrue( result.getArtifacts().containsKey( j.getId() ) );
+-
+- assertLocalArtifactPresent( i );
+-
+- assertLocalArtifactPresent( j );
+- }
+-}
+\ No newline at end of file
+diff --git a/maven-core/pom.xml b/maven-core/pom.xml
+index 80a11a1..3705b96 100644
+--- a/maven-core/pom.xml
++++ b/maven-core/pom.xml
+@@ -47,22 +47,11 @@
+ ognl
+ 2.5.1
+
+-
+-
+- marmalade
+- marmalade-core
+- 0.1
+-
+-
+- marmalade
+- marmalade-el-ognl
+- 0.1
+-
+
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-core/src/bin/classworlds.conf b/maven-core/src/bin/classworlds.conf
+index 0acc64a..cf81fd6 100644
+--- a/maven-core/src/bin/classworlds.conf
++++ b/maven-core/src/bin/classworlds.conf
+@@ -7,8 +7,8 @@ load ${maven.home}/core/plexus-0.16.jar
+ load ${maven.home}/core/xstream-1.0-SNAPSHOT.jar
+ load ${maven.home}/core/xpp3-1.1.3.3.jar
+ load ${maven.home}/core/maven-artifact-2.0-SNAPSHOT.jar
+-load ${maven.home}/core/wagon-api-1.0-alpha-1-SNAPSHOT.jar
+-load ${maven.home}/core/wagon-http-lightweight-1.0-alpha-1-SNAPSHOT.jar
++load ${maven.home}/core/wagon-api-0.9-SNAPSHOT.jar
+
+ [plexus.core.maven]
+ load ${maven.home}/lib/*.jar
++load ${maven.home}/core/xstream-1.0-SNAPSHOT.jar
+diff --git a/maven-core/src/bin/m2 b/maven-core/src/bin/m2
+index 0381a43..421c209 100755
+--- a/maven-core/src/bin/m2
++++ b/maven-core/src/bin/m2
+@@ -53,6 +53,10 @@ if [ -z "$JAVA_HOME" ] ; then
+ echo " to the installation directory of java."
+ fi
+
++if [ -z "$M2_HOME" ] ; then
++ M2_HOME="$(dirname "$(realpath "${BASH_SOURCE[0]}")")/.."
++fi
++
+ if [ "$cygwin" = "true" ]
+ then
+ M2_HOME=`cygpath -pu "$M2_HOME"`
+@@ -75,4 +79,5 @@ $JAVACMD \
+ $MAVEN_OPTS \
+ -classpath "$CP" \
+ "-Dclassworlds.conf=$CLASSWORLDS_CONF" \
++ "-Dmaven.home=$M2_HOME" \
+ $MAIN_CLASS $@
+diff --git a/maven-mboot2/src/main/java/MBoot.java b/maven-mboot2/src/main/java/MBoot.java
+index 3c63379..bfd09d5 100644
+--- a/maven-mboot2/src/main/java/MBoot.java
++++ b/maven-mboot2/src/main/java/MBoot.java
+@@ -61,8 +61,7 @@ public class MBoot
+ "xpp3/jars/xpp3-1.1.3.3.jar",
+ "xstream/jars/xstream-1.0-SNAPSHOT.jar",
+ "maven/jars/maven-artifact-2.0-SNAPSHOT.jar",
+- "maven/jars/wagon-api-1.0-alpha-1-SNAPSHOT.jar",
+- "maven/jars/wagon-http-lightweight-1.0-alpha-1-SNAPSHOT.jar"
++ "maven/jars/wagon-api-0.9-SNAPSHOT.jar",
+ };
+
+ String[] builds = new String[]
+diff --git a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java
+index 0ed1497..e821d8d 100644
+--- a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java
++++ b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java
+@@ -95,19 +95,7 @@ public class CompilerMojo
+ }
+ }
+
+- boolean compilationError = false;
+-
+- for ( Iterator i = messages.iterator(); i.hasNext(); )
+- {
+- CompilerError message = (CompilerError) i.next();
+-
+- if ( message.isError() )
+- {
+- compilationError = true;
+- }
+- }
+-
+- if ( compilationError )
++ if (!messages.isEmpty())
+ {
+ response.setExecutionFailure( true, new CompilationFailureResponse( messages ) );
+ }
+diff --git a/maven-plugins/maven-install-plugin/pom.xml b/maven-plugins/maven-install-plugin/pom.xml
+index b885b66..aab54e3 100644
+--- a/maven-plugins/maven-install-plugin/pom.xml
++++ b/maven-plugins/maven-install-plugin/pom.xml
+@@ -33,7 +33,7 @@
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-plugins/maven-jar-plugin/pom.xml b/maven-plugins/maven-jar-plugin/pom.xml
+index f54e2a1..103a6e6 100644
+--- a/maven-plugins/maven-jar-plugin/pom.xml
++++ b/maven-plugins/maven-jar-plugin/pom.xml
+@@ -37,7 +37,7 @@
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-plugins/maven-pom-plugin/pom.xml b/maven-plugins/maven-pom-plugin/pom.xml
+index 82a34c3..3fa3855 100644
+--- a/maven-plugins/maven-pom-plugin/pom.xml
++++ b/maven-plugins/maven-pom-plugin/pom.xml
+@@ -31,7 +31,7 @@
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-plugins/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java b/maven-plugins/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java
+deleted file mode 100644
+index c52827a..0000000
+--- a/maven-plugins/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java
++++ /dev/null
+@@ -1,120 +0,0 @@
+-package org.apache.maven.plugin.resources;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.model.Resource;
+-import org.apache.maven.plugin.PluginTestCase;
+-import org.apache.maven.project.MavenProjectBuilder;
+-import org.apache.maven.project.MavenProject;
+-import org.codehaus.plexus.embed.Embedder;
+-
+-import java.io.File;
+-import java.io.FileWriter;
+-import java.io.PrintWriter;
+-import java.util.Collections;
+-import java.util.Map;
+-import java.util.HashMap;
+-
+-/**
+- * @author Brett Porter
+- * @version $Id$
+- */
+-public class ResourcesMojoTest
+- extends PluginTestCase
+-{
+- private static final String TEST_DIRECTORY = "target/tests/test-data";
+- private static final String OUTPUT_DIRECTORY = "target/tests/output";
+-
+- public ResourcesMojoTest( String s )
+- {
+- super( s );
+- }
+-
+- protected void setupPlugin()
+- throws Exception
+- {
+- plugin = new ResourcesMojo();
+-
+- // have to mkdir CVS as it can't be in CVS!
+- File f = new File( basedir, TEST_DIRECTORY + "/CVS" );
+- f.mkdirs();
+- f = new File( f, "Root" );
+- PrintWriter w = new PrintWriter( new FileWriter( f ) );
+- w.println( ":local:/cvs/root" );
+- w.close();
+-
+- w = new PrintWriter( new FileWriter( new File( basedir, TEST_DIRECTORY + "/test.txt" ) ) );
+- w.println( "test data" );
+- w.close();
+-
+- // make sure the things in the output directory we test aren't there
+- f = new File( basedir, OUTPUT_DIRECTORY + "/CVS/Root" );
+- f.delete();
+- f.getParentFile().delete();
+- f = new File( basedir, OUTPUT_DIRECTORY + "/test.txt" );
+- f.delete();
+- f.getParentFile().delete();
+- }
+-
+- protected Map getTestParameters()
+- throws Exception
+- {
+- Embedder embedder = new Embedder();
+-
+- //embedder.setClassLoader( Thread.currentThread().getContextClassLoader() );
+-
+- embedder.start();
+-
+- MavenProjectBuilder builder = (MavenProjectBuilder) embedder.lookup( MavenProjectBuilder.ROLE );
+-
+- // TODO: here it would be much nicer to just use resources from some test project.xml file for
+- // testing the standard resources elements
+- // MavenProject project = builder.build( new File( basedir, "project.xml" ) );
+-
+- Map parameters = new HashMap();
+-
+- File directory = new File( basedir, TEST_DIRECTORY );
+- assertEquals( "sanity check name of directory " + directory, "test-data", directory.getName() );
+-
+- File f = new File( directory, "CVS/Root" );
+- assertTrue( "sanity check creation of CVS file " + f, f.exists() );
+- f = new File( directory, "test.txt" );
+- assertTrue( "sanity check creation of file " + f, f.exists() );
+-
+- Resource r = new Resource();
+- r.setDirectory( TEST_DIRECTORY );
+- parameters.put( "resources", Collections.singletonList( r ) );
+-
+- f = new File( basedir, OUTPUT_DIRECTORY );
+- assertFalse( "sanity check no output directory" + f, f.exists() );
+-
+- parameters.put( "outputDirectory", OUTPUT_DIRECTORY );
+-
+- return parameters;
+- }
+-
+- protected void validatePluginExecution()
+- throws Exception
+- {
+- File f = new File( basedir + "/" + OUTPUT_DIRECTORY, "CVS/Root" );
+- assertFalse( "check no creation of CVS file " + f, f.exists() );
+- assertFalse( "check no creation of CVS directory " + f, f.getParentFile().exists() );
+- f = new File( basedir + "/" + OUTPUT_DIRECTORY, "test.txt" );
+- assertTrue( "check creation of resource " + f, f.exists() );
+- }
+-}
diff --git a/maven/maven_2-bootstrap-3.nix b/maven/maven_2-bootstrap-3.nix
new file mode 100644
index 0000000..85b6bac
--- /dev/null
+++ b/maven/maven_2-bootstrap-3.nix
@@ -0,0 +1,80 @@
+{stdenv, fetchFromGitHub, jdk6, mavenDep, junit_3_8_1, modello-core, modello-xdoc-plugin, modello-xml-plugin,
+modello-xpp3-plugin, plexus-utils_alpha_1, surefire-booter_1_2, surefire_1_2, qdox, classworlds,
+plexus-container-default_alpha_1, wagon-provider-api, wagon-file, commons-cli_beta_2, plexus-i18n,
+plexus-container-artifact_alpha_1, plexus-compiler-api, plexus-compiler-javac, plexus_0_17, wagon-api_alpha_1,
+wagon-pom_alpha_1, plexus-pom_1_0, wagon-providers-pom, plexus-containers-pom, modello-pom, wagon-provider-test,
+xpp3, xstream_1_0, asm, plexus_0_14, wagon-pom_alpha_2}: stdenv.mkDerivation rec {
+ pname = "maven";
+ version = "2.0.0-SNAPSHOT";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = pname;
+ rev = "74c9b91b5ac7e5ccd7a6cd5fb8c6a583e6fea073";
+ hash = "sha256-LLZsi+lJps779CRHjbsmdOeAsVSS3bRCs99hHdQSF1M=";
+ };
+
+ fake-poms = ./bootstrap-3-fake-poms;
+
+ patches = [./maven_2-bootstrap-3.patch];
+
+ nativeBuildInputs = [jdk6
+ (mavenDep junit_3_8_1 {})
+ (mavenDep modello-core {})
+ (mavenDep modello-xdoc-plugin {})
+ (mavenDep modello-xml-plugin {})
+ (mavenDep modello-xpp3-plugin {})
+ (mavenDep plexus-utils_alpha_1 {})
+ (mavenDep surefire-booter_1_2 {})
+ (mavenDep surefire_1_2 {})
+ (mavenDep qdox {})
+ (mavenDep classworlds {})
+ (mavenDep plexus-container-default_alpha_1 {})
+ (mavenDep wagon-provider-api {})
+ (mavenDep wagon-file {})
+ (mavenDep commons-cli_beta_2 {})
+ (mavenDep plexus-i18n {})
+ (mavenDep plexus-container-artifact_alpha_1 {})
+ (mavenDep plexus-compiler-api {})
+ (mavenDep plexus-compiler-javac {})
+ (mavenDep plexus_0_17 {})
+ (mavenDep wagon-api_alpha_1 {})
+ (mavenDep wagon-pom_alpha_1 {})
+ (mavenDep plexus-pom_1_0 {})
+ (mavenDep wagon-providers-pom {})
+ (mavenDep plexus-containers-pom {})
+ (mavenDep modello-pom {})
+ (mavenDep wagon-provider-test {})
+ (mavenDep xpp3 {})
+ (mavenDep xstream_1_0 {})
+ (mavenDep asm {})
+ (mavenDep plexus_0_14 {})
+ (mavenDep wagon-pom_alpha_2 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ };
+
+ buildPhase = ''
+ chmod +x m2-bootstrap-all.sh
+ ./m2-bootstrap-all.sh -Dmaven.repo.local=/build/.maven/repository -Dmaven.online=false
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r /build/m2/* $out/
+
+ mkdir $out/repository
+ cp -r /build/.maven/repository/* $out/repository/
+ cp -r ${fake-poms}/* $out/repository/
+
+ mkdir $out/nix-support
+ echo "mkdir -p /build/.maven/repository" >> $out/nix-support/setup-hook
+ echo "cp -r $out/repository/* /build/.maven/repository/" >> $out/nix-support/setup-hook
+ echo "chmod -R 777 /build/.maven/repository/" >> $out/nix-support/setup-hook
+ '';
+
+ meta = {
+ mainProgram = "m2";
+ };
+}
diff --git a/maven/maven_2-bootstrap-3.patch b/maven/maven_2-bootstrap-3.patch
new file mode 100644
index 0000000..54c0880
--- /dev/null
+++ b/maven/maven_2-bootstrap-3.patch
@@ -0,0 +1,305 @@
+diff --git a/m2-bootstrap-all.sh b/m2-bootstrap-all.sh
+index 3ab354b..2c63f57 100644
+--- a/m2-bootstrap-all.sh
++++ b/m2-bootstrap-all.sh
+@@ -30,13 +30,3 @@ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+ )
+ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+-
+-(
+- cd ./maven-core-it
+- echo
+- echo "Running maven-core integration tests ..."
+- echo
+- ./maven-core-it.sh $ARGS
+- ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+-)
+-ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+diff --git a/maven-artifact/pom.xml b/maven-artifact/pom.xml
+index 2596608..1c1b5e7 100644
+--- a/maven-artifact/pom.xml
++++ b/maven-artifact/pom.xml
+@@ -25,10 +25,5 @@
+ wagon-file
+ 1.0-alpha-2-SNAPSHOT
+
+-
+- maven
+- wagon-http-lightweight
+- 1.0-alpha-2-SNAPSHOT
+-
+
+
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java b/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java
+index ea18f9c..c3ea328 100644
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java
++++ b/maven-artifact/src/test/java/org/apache/maven/artifact/ArtifactComponentTestCase.java
+@@ -85,6 +85,7 @@ public abstract class ArtifactComponentTestCase
+ File f = new File( getBasedir(), path );
+
+ repository.setUrl( "file://" + f.getPath() );
++ repository.setId("unnamed");
+
+ return repository;
+ }
+@@ -94,6 +95,7 @@ public abstract class ArtifactComponentTestCase
+ ArtifactRepository repository = new ArtifactRepository();
+
+ repository.setUrl( "http://foo.bar/repository" );
++ repository.setId("unnamed2");
+
+ return repository;
+ }
+diff --git a/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java b/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java
+index 2c7e4d8..6bec532 100644
+--- a/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java
++++ b/maven-core-it-verifier/src/main/java/org/apache/maven/it/Verifier.java
+@@ -1,6 +1,5 @@
+ package org.apache.maven.it;
+
+-import org.apache.xpath.XPathAPI;
+ import org.apache.maven.it.cli.Commandline;
+ import org.apache.maven.it.cli.CommandLineUtils;
+ import org.apache.maven.it.cli.StreamConsumer;
+diff --git a/maven-core/pom.xml b/maven-core/pom.xml
+index e57b321..5abf9e3 100644
+--- a/maven-core/pom.xml
++++ b/maven-core/pom.xml
+@@ -51,12 +51,7 @@
+ maven
+ wagon-provider-api
+ 1.0-alpha-2-SNAPSHOT
+-
+-
+- maven
+- wagon-http-lightweight
+- 1.0-alpha-2-SNAPSHOT
+-
++
+
+
+
+diff --git a/maven-core/src/bin/m2 b/maven-core/src/bin/m2
+index 6e90d67..7f2c88a 100755
+--- a/maven-core/src/bin/m2
++++ b/maven-core/src/bin/m2
+@@ -5,6 +5,14 @@
+ # All rights reserved.
+ # -----------------------------------------------------------------------------
+
++if [ -z "$M2_HOME" ]; then
++ #find the path of the bin directory
++ BIN_DIR=`dirname $0`
++
++ #use dirname once again to trim the /bin from the m2_home path
++ M2_HOME=`dirname $BIN_DIR`
++fi
++
+ #@#
+ CLASSWORLDS_JAR=${M2_HOME}/core/boot/classworlds-*.jar
+ CLASSWORLDS_CONF=${M2_HOME}/bin/m2.conf
+@@ -63,14 +71,6 @@ if $cygwin; then
+ [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --unix "$M2_HOME"`
+ fi
+
+-if [ -z "$M2_HOME" ]; then
+- #find the path of the bin directory
+- BIN_DIR=`dirname $0`
+-
+- #use dirname once again to trim the /bin from the m2_home path
+- M2_HOME=`dirname $BIN_DIR`
+-fi
+-
+ # For Cygwin, switch paths to Windows format before running java
+ if $cygwin; then
+ [ -n "$CP" ] && CP=`cygpath --path --windows "$CP"`
+@@ -84,5 +84,6 @@ $JAVACMD \
+ -classpath ${CLASSWORLDS_JAR} \
+ "-Dclassworlds.conf=${CLASSWORLDS_CONF}" \
+ "-Dmaven.home=${M2_HOME}" \
++ "-Dmaven.repo.local=/build/.maven/repository" \
+ ${CLASSWORLDS_LAUNCHER} $@
+
+diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
+index fc1d0da..67e6f8f 100644
+--- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
++++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
+@@ -212,7 +212,7 @@ public class DefaultPluginManager
+ remotePluginRepositories,
+ localRepository,
+ metadataSource,
+- artifactFilter );
++ new String[]{"maven-core", "maven-artifact", "maven-model", "maven-plugin", "plexus-container-api", "plexus-container-default", "plexus-artifact-container", "plexus-utils", "classworlds"} );
+ }
+
+ public void contextualize( Context context )
+diff --git a/maven-core/src/main/java/org/apache/maven/repository/RepositoryUtils.java b/maven-core/src/main/java/org/apache/maven/repository/RepositoryUtils.java
+index ccd7b2d..a1edb94 100644
+--- a/maven-core/src/main/java/org/apache/maven/repository/RepositoryUtils.java
++++ b/maven-core/src/main/java/org/apache/maven/repository/RepositoryUtils.java
+@@ -32,6 +32,7 @@ public class RepositoryUtils
+ ArtifactRepository retValue = new ArtifactRepository();
+
+ retValue.setUrl( mavenRepository.getUrl() );
++ retValue.setId(mavenRepository.getId());
+
+ return retValue;
+ }
+diff --git a/maven-mboot2/src/main/java/MBoot.java b/maven-mboot2/src/main/java/MBoot.java
+index 059469a..b4d91d9 100644
+--- a/maven-mboot2/src/main/java/MBoot.java
++++ b/maven-mboot2/src/main/java/MBoot.java
+@@ -39,7 +39,7 @@ public class MBoot
+ "modello/jars/modello-xdoc-plugin-1.0-SNAPSHOT.jar",
+ "modello/jars/modello-xml-plugin-1.0-SNAPSHOT.jar",
+ "modello/jars/modello-xpp3-plugin-1.0-SNAPSHOT.jar",
+- "plexus/jars/plexus-utils-1.0-alpha-1-SNAPSHOT.jar",
++ "plexus/jars/plexus-utils-1.0-alpha-1.jar",
+ "surefire/jars/surefire-booter-1.2-SNAPSHOT.jar",
+ "surefire/jars/surefire-1.2-SNAPSHOT.jar",
+ "qdox/jars/qdox-1.2.jar"
+@@ -52,9 +52,8 @@ public class MBoot
+ String[] plexusDeps = new String[]
+ {
+ "classworlds/jars/classworlds-1.1-SNAPSHOT.jar",
+- "plexus/jars/plexus-container-api-1.0-alpha-1-SNAPSHOT.jar",
+- "plexus/jars/plexus-container-default-1.0-alpha-1-SNAPSHOT.jar",
+- "plexus/jars/plexus-utils-1.0-alpha-1-SNAPSHOT.jar"
++ "plexus/jars/plexus-container-default-1.0-alpha-1.jar",
++ "plexus/jars/plexus-utils-1.0-alpha-1.jar"
+ };
+
+ // ----------------------------------------------------------------------
+@@ -64,9 +63,8 @@ public class MBoot
+ String[] modelloDeps = new String[]
+ {
+ "classworlds/jars/classworlds-1.1-SNAPSHOT.jar",
+- "plexus/jars/plexus-container-api-1.0-alpha-1-SNAPSHOT.jar",
+- "plexus/jars/plexus-container-default-1.0-alpha-1-SNAPSHOT.jar",
+- "plexus/jars/plexus-utils-1.0-alpha-1-SNAPSHOT.jar",
++ "plexus/jars/plexus-container-default-1.0-alpha-1.jar",
++ "plexus/jars/plexus-utils-1.0-alpha-1.jar",
+ "modello/jars/modello-core-1.0-SNAPSHOT.jar",
+ "modello/jars/modello-xdoc-plugin-1.0-SNAPSHOT.jar",
+ "modello/jars/modello-xml-plugin-1.0-SNAPSHOT.jar",
+diff --git a/maven-plugin-tools/pom.xml b/maven-plugin-tools/pom.xml
+index 61c3b37..08c16be 100644
+--- a/maven-plugin-tools/pom.xml
++++ b/maven-plugin-tools/pom.xml
+@@ -24,7 +24,7 @@
+
+
+ modello
+- modello
++ modello-core
+ 1.0-SNAPSHOT
+
+
+diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml
+index 0dec2c9..890b23b 100644
+--- a/maven-plugin/pom.xml
++++ b/maven-plugin/pom.xml
+@@ -19,7 +19,7 @@
+
+
+ modello
+- modello
++ modello-core
+ 1.0-SNAPSHOT
+
+
+diff --git a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java
+index 0ed1497..e821d8d 100644
+--- a/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java
++++ b/maven-plugins/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/CompilerMojo.java
+@@ -95,19 +95,7 @@ public class CompilerMojo
+ }
+ }
+
+- boolean compilationError = false;
+-
+- for ( Iterator i = messages.iterator(); i.hasNext(); )
+- {
+- CompilerError message = (CompilerError) i.next();
+-
+- if ( message.isError() )
+- {
+- compilationError = true;
+- }
+- }
+-
+- if ( compilationError )
++ if (!messages.isEmpty())
+ {
+ response.setExecutionFailure( true, new CompilationFailureResponse( messages ) );
+ }
+diff --git a/maven-plugins/maven-compiler-plugin/pom.xml b/maven-plugins/maven-compiler-plugin/pom.xml
+index 839af27..131e61a 100644
+--- a/maven-plugins/maven-compiler-plugin/pom.xml
++++ b/maven-plugins/maven-compiler-plugin/pom.xml
+@@ -18,7 +18,7 @@
+
+ plexus
+ plexus
+- 0.17
++ 0.17-SNAPSHOT
+
+
+ plexus
+diff --git a/maven-plugins/maven-jar-plugin/pom.xml b/maven-plugins/maven-jar-plugin/pom.xml
+index bc24dd6..c7a8d7a 100644
+--- a/maven-plugins/maven-jar-plugin/pom.xml
++++ b/maven-plugins/maven-jar-plugin/pom.xml
+@@ -17,7 +17,7 @@
+
+ plexus
+ plexus
+- 0.17
++ 0.17-SNAPSHOT
+
+
+ maven
+diff --git a/maven-plugins/maven-resources-plugin/pom.xml b/maven-plugins/maven-resources-plugin/pom.xml
+index 2702022..1d03127 100644
+--- a/maven-plugins/maven-resources-plugin/pom.xml
++++ b/maven-plugins/maven-resources-plugin/pom.xml
+@@ -27,7 +27,7 @@
+
+ plexus
+ plexus
+- 0.17
++ 0.17-SNAPSHOT
+
+
+
+diff --git a/pom.xml b/pom.xml
+index 9ca423b..f8f1d42 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -81,15 +81,10 @@
+
+
+
+-
+- plexus
+- plexus-container-api
+- 1.0-alpha-1-SNAPSHOT
+-
+
+ plexus
+ plexus-container-default
+- 1.0-alpha-1-SNAPSHOT
++ 1.0-alpha-1
+
+
+ plexus
+@@ -99,7 +94,7 @@
+
+ plexus
+ plexus-utils
+- 1.0-alpha-1-SNAPSHOT
++ 1.0-alpha-1
+
+
+ classworlds
diff --git a/maven/maven_2-bootstrap-4.nix b/maven/maven_2-bootstrap-4.nix
new file mode 100644
index 0000000..5ae0d7d
--- /dev/null
+++ b/maven/maven_2-bootstrap-4.nix
@@ -0,0 +1,56 @@
+{stdenv, fetchFromGitHub, jdk6, mavenDep, junit_3_8_1, modello-core, modello-xdoc-plugin, modello-xml-plugin,
+modello-xpp3-plugin, plexus-utils_alpha_2, surefire-booter_1_2, surefire_1_2, qdox, classworlds,
+plexus-container-default_alpha_2, wagon-provider-api, wagon-file, commons-cli_beta_2, plexus-i18n,
+plexus-container-artifact_alpha_2, breakpointHook}: stdenv.mkDerivation rec {
+ pname = "maven";
+ version = "2.0.0-SNAPSHOT";
+
+ src = fetchFromGitHub {
+ owner = "apache";
+ repo = pname;
+ rev = "56708f798380ad9bd667106eafa276e04e0c11d2";
+ hash = "sha256-pIOVSISjSJees/P8HCnapfDJgilHL9fNpZkGjCHMSx0=";
+ };
+
+ patches = [./maven_2-bootstrap-4.patch];
+
+ settings = ./settings.xml;
+
+ nativeBuildInputs = [jdk6 breakpointHook
+ (mavenDep junit_3_8_1 {})
+ (mavenDep modello-core {})
+ (mavenDep modello-xdoc-plugin {})
+ (mavenDep modello-xml-plugin {})
+ (mavenDep modello-xpp3-plugin {})
+ (mavenDep plexus-utils_alpha_2 {})
+ (mavenDep surefire-booter_1_2 {})
+ (mavenDep surefire_1_2 {})
+ (mavenDep qdox {})
+ (mavenDep classworlds {})
+ (mavenDep plexus-container-default_alpha_2 {})
+ (mavenDep wagon-provider-api {})
+ (mavenDep wagon-file {})
+ (mavenDep commons-cli_beta_2 {})
+ (mavenDep plexus-i18n {})
+ (mavenDep plexus-container-artifact_alpha_2 {})];
+
+ env = {
+ JAVA_HOME="${jdk6}";
+ M2_HOME="/build/m2";
+ };
+
+ configurePhase = ''
+ #mkdir /build/.m2
+ #ln -s ${settings} /build/.m2/settings.xml
+ '';
+
+ buildPhase = ''
+ chmod +x m2-bootstrap-all.sh
+ ./m2-bootstrap-all.sh -Dmaven.repo.local=/build/.maven/repository -Dmaven.online=false
+ '';
+
+ installPhase = ''
+ mkdir $out
+ cp -r ./dist/* $out/
+ '';
+}
diff --git a/maven/maven_2-bootstrap-4.patch b/maven/maven_2-bootstrap-4.patch
new file mode 100644
index 0000000..5946294
--- /dev/null
+++ b/maven/maven_2-bootstrap-4.patch
@@ -0,0 +1,89 @@
+diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
+index 896701c..a58ca05 100644
+--- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
++++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
+@@ -282,7 +282,7 @@ public class DefaultPluginManager
+ MavenMetadataSource metadataSource = new MavenMetadataSource( artifactResolver, mavenProjectBuilder );
+
+ ( (ArtifactEnabledContainer) container ).addComponent( pluginArtifact, artifactResolver,
+- remotePluginRepositories,
++ new HashSet(remotePluginRepositories),
+ session.getLocalRepository(), metadataSource,
+ artifactFilter );
+ }
+diff --git a/maven-core/src/main/resources/META-INF/plexus/plexus.xml b/maven-core/src/main/resources/META-INF/plexus/plexus.xml
+index 3a4c4b4..9045132 100644
+--- a/maven-core/src/main/resources/META-INF/plexus/plexus.xml
++++ b/maven-core/src/main/resources/META-INF/plexus/plexus.xml
+@@ -9,13 +9,6 @@
+
+
+
+-
+-
+-
+- marmalade
+-
+-
+-
+
+
+ org.apache.maven.plugin.PluginManager
+diff --git a/maven-mboot2/src/main/java/MBoot.java b/maven-mboot2/src/main/java/MBoot.java
+index 4839007..2eb49ca 100644
+--- a/maven-mboot2/src/main/java/MBoot.java
++++ b/maven-mboot2/src/main/java/MBoot.java
+@@ -49,7 +49,7 @@ public class MBoot
+ // These are plexus' runtime dependencies
+ // ----------------------------------------------------------------------
+
+- String[] plexusDeps = new String[]{"classworlds/jars/classworlds-1.1-alpha-1.jar",
++ String[] plexusDeps = new String[]{"classworlds/jars/classworlds-1.1-SNAPSHOT.jar",
+ "plexus/jars/plexus-container-default-1.0-alpha-2-SNAPSHOT.jar"};
+
+ String[] pluginGeneratorDeps = new String[]{"plexus/jars/plexus-container-default-1.0-alpha-2-SNAPSHOT.jar",
+@@ -64,7 +64,7 @@ public class MBoot
+ // These are modello's runtime dependencies
+ // ----------------------------------------------------------------------
+
+- String[] modelloDeps = new String[]{"classworlds/jars/classworlds-1.1-alpha-1.jar",
++ String[] modelloDeps = new String[]{"classworlds/jars/classworlds-1.1-SNAPSHOT.jar",
+ //"plexus/jars/plexus-container-api-1.0-alpha-1-SNAPSHOT.jar",
+ "plexus/jars/plexus-container-default-1.0-alpha-2-SNAPSHOT.jar",
+ //"plexus/jars/plexus-utils-1.0-alpha-1-SNAPSHOT.jar",
+@@ -74,7 +74,7 @@ public class MBoot
+ "modello/jars/modello-xpp3-plugin-1.0-SNAPSHOT.jar"};
+
+ String[] builds = new String[]{"maven-model", "maven-user-model", "maven-monitor", "maven-plugin",
+- "maven-artifact", "maven-script/maven-script-marmalade", "maven-core",
++ "maven-artifact", "maven-core",
+ "maven-archiver", "maven-plugin-tools/maven-plugin-tools-api",
+ "maven-plugin-tools/maven-plugin-tools-java",
+ "maven-plugin-tools/maven-plugin-tools-pluggy",
+@@ -1646,4 +1646,4 @@ public class MBoot
+ return this.directory;
+ }
+ }
+-}
+\ No newline at end of file
++}
+diff --git a/pom.xml b/pom.xml
+index 824eec8..879dbad 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -75,7 +75,7 @@
+
+ classworlds
+ classworlds
+- 1.1-alpha-1
++ 1.1-SNAPSHOT
+ jar
+ compile
+
+@@ -103,4 +103,4 @@
+ scp://repo1.maven.org/home/projects/maven/repository/ibiblio-v2
+
+
+-
+\ No newline at end of file
++
diff --git a/maven/maven_2-bootstrap.patch b/maven/maven_2-bootstrap.patch
new file mode 100644
index 0000000..c079655
--- /dev/null
+++ b/maven/maven_2-bootstrap.patch
@@ -0,0 +1,757 @@
+diff --git a/m2-bootstrap-all.sh b/m2-bootstrap-all.sh
+index 6b68328..20b6be1 100644
+--- a/m2-bootstrap-all.sh
++++ b/m2-bootstrap-all.sh
+@@ -26,13 +26,3 @@ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+ )
+ ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+-
+-(
+- cd ./maven-core-it
+- echo
+- echo "Running maven-core integration tests ..."
+- echo
+- ./maven-core-it.sh $ARGS
+- ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+-)
+-ret=$?; if [ $ret != 0 ]; then exit $ret; fi
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
+deleted file mode 100644
+index 3be443b..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
++++ /dev/null
+@@ -1,57 +0,0 @@
+-package org.apache.maven.artifact.deployer;
+-
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-
+-import org.apache.maven.artifact.Artifact;
+-import org.apache.maven.artifact.ArtifactComponentTestCase;
+-
+-import java.io.File;
+-
+-/**
+- * @author Jason van Zyl
+- * @version $Id$
+- */
+-public class ArtifactDeployerTest
+- extends ArtifactComponentTestCase
+-{
+- private ArtifactDeployer artifactDeployer;
+-
+- protected void setUp()
+- throws Exception
+- {
+- super.setUp();
+-
+- artifactDeployer = (ArtifactDeployer) lookup( ArtifactDeployer.ROLE );
+- }
+-
+- protected String component()
+- {
+- return "deployer";
+- }
+-
+- public void testArtifactInstallation()
+- throws Exception
+- {
+- String artifactBasedir = new File( basedir, "src/test/resources/artifact-install" ).getAbsolutePath();
+-
+- Artifact artifact = createArtifact( "artifact", "1.0" );
+-
+- artifactDeployer.deploy( artifactBasedir, artifact, remoteRepository() );
+-
+- assertRemoteArtifactPresent( artifact );
+- }
+-}
+\ No newline at end of file
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
+deleted file mode 100644
+index 59c601f..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/DefaultWagonManagerTest.java
++++ /dev/null
+@@ -1,74 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.UnsupportedProtocolException;
+-import org.apache.maven.wagon.Wagon;
+-import org.codehaus.plexus.PlexusTestCase;
+-
+-/**
+- * @author Michal Maczka
+- * @version $Id$
+- */
+-public class DefaultWagonManagerTest
+- extends PlexusTestCase
+-{
+- public void testDefaultWagonManager()
+- throws Exception
+- {
+- WagonManager wagonManager = (WagonManager) lookup( WagonManager.ROLE );
+-
+- Wagon wagon = null;
+-
+- try
+- {
+- wagon = (Wagon) wagonManager.getWagon( "a" );
+-
+- assertNotNull( wagon );
+-
+- wagon = (Wagon) wagonManager.getWagon( "b1" );
+-
+- assertNotNull( wagon );
+-
+- wagon = (Wagon) wagonManager.getWagon( "b2" );
+-
+- assertNotNull( wagon );
+-
+- wagon = (Wagon) wagonManager.getWagon( "c" );
+-
+- assertNotNull( wagon );
+- }
+- catch ( Exception e )
+- {
+- e.printStackTrace();
+-
+- fail( e.getMessage() );
+- }
+-
+- try
+- {
+- wagon = (Wagon) wagonManager.getWagon( "d" );
+-
+- fail( "Expected :" + UnsupportedProtocolException.class.getName() );
+- }
+- catch ( UnsupportedProtocolException e )
+- {
+- //ok
+- }
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonA.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonA.java
+deleted file mode 100644
+index dcc6daf..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonA.java
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.providers.file.FileWagon;
+-
+-/**
+- *
+- *
+- * @author Jason van Zyl
+- *
+- * @version $Id$
+- */
+-public class WagonA
+- extends FileWagon
+-{
+- public String[] getSupportedProtocols()
+- {
+- return new String[]{ "a" };
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonB.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonB.java
+deleted file mode 100644
+index 4a41545..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonB.java
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.providers.file.FileWagon;
+-
+-/**
+- *
+- *
+- * @author Jason van Zyl
+- *
+- * @version $Id$
+- */
+-public class WagonB
+- extends FileWagon
+-{
+- public String[] getSupportedProtocols()
+- {
+- return new String[]{ "b1", "b2" };
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonC.java b/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonC.java
+deleted file mode 100644
+index d19378e..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/manager/WagonC.java
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package org.apache.maven.artifact.manager;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.wagon.providers.file.FileWagon;
+-
+-/**
+- *
+- *
+- * @author Jason van Zyl
+- *
+- * @version $Id$
+- */
+-public class WagonC
+- extends FileWagon
+-{
+- public String[] getSupportedProtocols()
+- {
+- return new String[]{ "c" };
+- }
+-}
+diff --git a/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
+deleted file mode 100644
+index e746bb4..0000000
+--- a/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
++++ /dev/null
+@@ -1,224 +0,0 @@
+-package org.apache.maven.artifact.resolver;
+-
+-/*
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-
+-import org.apache.maven.artifact.ArtifactComponentTestCase;
+-import org.apache.maven.artifact.DefaultArtifact;
+-import org.apache.maven.artifact.Artifact;
+-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
+-import org.apache.maven.artifact.repository.ArtifactRepository;
+-import org.codehaus.plexus.util.FileUtils;
+-
+-import java.io.File;
+-import java.io.Writer;
+-import java.io.FileWriter;
+-import java.util.Set;
+-import java.util.HashSet;
+-
+-/**
+- * @author Jason van Zyl
+- * @version $Id$
+- */
+-
+-// It would be cool if there was a hook that i could use to setup a test environment.
+-// I want to setup a local/remote repositories for testing but i don't want to have
+-// to change them when i change the layout of the repositories. So i want to generate
+-// the structure i want to test by using the artifact handler manager which dictates
+-// the layout used for a particular artifact type.
+-
+-public class ArtifactResolverTest
+- extends ArtifactComponentTestCase
+-{
+- private ArtifactResolver artifactResolver;
+-
+- protected void setUp()
+- throws Exception
+- {
+- super.setUp();
+-
+- artifactResolver = (ArtifactResolver) lookup( ArtifactResolver.ROLE );
+- }
+-
+- protected String component()
+- {
+- return "resolver";
+- }
+-
+- public void testResolutionOfASingleArtifactWhereTheArtifactIsPresentInTheLocalRepository()
+- throws Exception
+- {
+- Artifact a = createLocalArtifact( "a", "1.0" );
+-
+- artifactResolver.resolve( a, remoteRepositories(), localRepository() );
+-
+- assertLocalArtifactPresent( a );
+- }
+-
+- public void testResolutionOfASingleArtifactWhereTheArtifactIsNotPresentLocallyAndMustBeRetrievedFromTheRemoteRepository()
+- throws Exception
+- {
+- Artifact b = createLocalArtifact( "b", "1.0" );
+-
+- artifactResolver.resolve( b, remoteRepositories(), localRepository() );
+-
+- assertLocalArtifactPresent( b );
+- }
+-
+- public void testResolutionOfASetOfArtifactsWhereTheArtifactsArePresentInTheLocalRepository()
+- throws Exception
+- {
+- Set artifacts = new HashSet();
+-
+- Artifact c = createLocalArtifact( "c", "1.0" );
+-
+- Artifact d = createLocalArtifact( "d", "1.0" );
+-
+- artifacts.add( c );
+-
+- artifacts.add( d );
+-
+- Set resolvedArtifacts = artifactResolver.resolve( artifacts, remoteRepositories(), localRepository() );
+-
+- assertEquals( 2, resolvedArtifacts.size() );
+-
+- // The artifacts have undergone no transformations and they are present so the original
+- // artifacts sent into the resolver should be returned as they were sent in.
+-
+- assertTrue( resolvedArtifacts.contains( c ) );
+-
+- assertTrue( resolvedArtifacts.contains( d ) );
+- }
+-
+- public void testResolutionOfASetOfArtifactsWhereTheArtifactsAreNotPresentInTheLocalRepositoryAndMustBeRetrievedFromTheRemoteRepository()
+- throws Exception
+- {
+- Set artifacts = new HashSet();
+-
+- Artifact e = createRemoteArtifact( "e", "1.0" );
+-
+- Artifact f = createRemoteArtifact( "f", "1.0" );
+-
+- artifacts.add( e );
+-
+- artifacts.add( f );
+-
+- Set resolvedArtifacts = artifactResolver.resolve( artifacts, remoteRepositories(), localRepository() );
+-
+- assertEquals( 2, resolvedArtifacts.size() );
+-
+- // The artifacts have undergone no transformations and they are present so the original
+- // artifacts sent into the resolver should be returned as they were sent in.
+-
+- assertTrue( resolvedArtifacts.contains( e ) );
+-
+- assertTrue( resolvedArtifacts.contains( f ) );
+- }
+-
+-
+- public void testTransitiveResolutionWhereAllArtifactsArePresentInTheLocalRepository()
+- throws Exception
+- {
+- Artifact g = createLocalArtifact( "g", "1.0" );
+-
+- Artifact h = createLocalArtifact( "h", "1.0" );
+-
+- ArtifactMetadataSource mds = new ArtifactMetadataSource()
+- {
+- public Set retrieve( Artifact artifact )
+- throws ArtifactMetadataRetrievalException
+- {
+- Set dependencies = new HashSet();
+-
+- if ( artifact.getArtifactId().equals( "g" ) )
+- {
+- try
+- {
+- dependencies.add( new DefaultArtifact( "maven", "h", "1.0", "jar" ) );
+- }
+- catch ( Exception e )
+- {
+- throw new ArtifactMetadataRetrievalException( "Cannot retrieve metadata." );
+- }
+- }
+-
+- return dependencies;
+- }
+- };
+-
+- ArtifactResolutionResult result = artifactResolver.resolveTransitively( g,
+- remoteRepositories(),
+- localRepository(),
+- mds );
+-
+- assertEquals( 2, result.getArtifacts().size() );
+-
+- assertTrue( result.getArtifacts().containsKey( g.getId() ) );
+-
+- assertTrue( result.getArtifacts().containsKey( h.getId() ) );
+-
+- assertLocalArtifactPresent( g );
+-
+- assertLocalArtifactPresent( h );
+- }
+-
+- public void testTransitiveResolutionWhereAllArtifactsAreNotPresentInTheLocalRepositoryAndMustBeRetrievedFromTheRemoteRepository()
+- throws Exception
+- {
+- Artifact i = createRemoteArtifact( "i", "1.0" );
+-
+- Artifact j = createRemoteArtifact( "j", "1.0" );
+-
+- ArtifactMetadataSource mds = new ArtifactMetadataSource()
+- {
+- public Set retrieve( Artifact artifact )
+- throws ArtifactMetadataRetrievalException
+- {
+- Set dependencies = new HashSet();
+-
+- if ( artifact.getArtifactId().equals( "i" ) )
+- {
+- try
+- {
+- dependencies.add( new DefaultArtifact( "maven", "j", "1.0", "jar" ) );
+- }
+- catch ( Exception e )
+- {
+- throw new ArtifactMetadataRetrievalException( "Cannot retrieve metadata." );
+- }
+- }
+-
+- return dependencies;
+- }
+- };
+-
+- ArtifactResolutionResult result = artifactResolver.resolveTransitively( i,
+- remoteRepositories(),
+- localRepository(),
+- mds );
+-
+- assertEquals( 2, result.getArtifacts().size() );
+-
+- assertTrue( result.getArtifacts().containsKey( i.getId() ) );
+-
+- assertTrue( result.getArtifacts().containsKey( j.getId() ) );
+-
+- assertLocalArtifactPresent( i );
+-
+- assertLocalArtifactPresent( j );
+- }
+-}
+\ No newline at end of file
+diff --git a/maven-core/pom.xml b/maven-core/pom.xml
+index 80a11a1..3705b96 100644
+--- a/maven-core/pom.xml
++++ b/maven-core/pom.xml
+@@ -47,22 +47,11 @@
+ ognl
+ 2.5.1
+
+-
+-
+- marmalade
+- marmalade-core
+- 0.1
+-
+-
+- marmalade
+- marmalade-el-ognl
+- 0.1
+-
+
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
+index b8cb9a5..6b7555c 100644
+--- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
++++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
+@@ -267,12 +267,7 @@ public class DefaultPluginManager
+ "maven-plugin",
+ };
+
+- container.addComponent( pluginArtifact,
+- artifactResolver,
+- remotePluginRepositories,
+- localRepository,
+- sr,
+- excludes );
++ throw new UnsupportedOperationException();
+ }
+
+ public void contextualize( Context context )
+diff --git a/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java b/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java
+index 16a0a66..90db09f 100644
+--- a/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java
++++ b/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java
+@@ -75,8 +75,6 @@ public class MavenPluginDiscoverer
+
+ ComponentSetDescriptor componentSet = new MavenPluginDescriptor( pluginDescriptor );
+
+- componentSet.setId( pluginDescriptor.getId() );
+-
+ // ----------------------------------------------------------------------
+ // If the ComponentSet states any dependencies then we want to collect
+ // them and store them for later use.
+diff --git a/maven-mboot2/src/main/java/MBoot.java b/maven-mboot2/src/main/java/MBoot.java
+index 3c63379..bfd09d5 100644
+--- a/maven-mboot2/src/main/java/MBoot.java
++++ b/maven-mboot2/src/main/java/MBoot.java
+@@ -61,8 +61,7 @@ public class MBoot
+ "xpp3/jars/xpp3-1.1.3.3.jar",
+ "xstream/jars/xstream-1.0-SNAPSHOT.jar",
+ "maven/jars/maven-artifact-2.0-SNAPSHOT.jar",
+- "maven/jars/wagon-api-1.0-alpha-1-SNAPSHOT.jar",
+- "maven/jars/wagon-http-lightweight-1.0-alpha-1-SNAPSHOT.jar"
++ "maven/jars/wagon-api-0.9-SNAPSHOT.jar",
+ };
+
+ String[] builds = new String[]
+diff --git a/maven-plugins/maven-install-plugin/pom.xml b/maven-plugins/maven-install-plugin/pom.xml
+index b885b66..aab54e3 100644
+--- a/maven-plugins/maven-install-plugin/pom.xml
++++ b/maven-plugins/maven-install-plugin/pom.xml
+@@ -33,7 +33,7 @@
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-plugins/maven-jar-plugin/pom.xml b/maven-plugins/maven-jar-plugin/pom.xml
+index f54e2a1..103a6e6 100644
+--- a/maven-plugins/maven-jar-plugin/pom.xml
++++ b/maven-plugins/maven-jar-plugin/pom.xml
+@@ -37,7 +37,7 @@
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-plugins/maven-pom-plugin/pom.xml b/maven-plugins/maven-pom-plugin/pom.xml
+index 82a34c3..3fa3855 100644
+--- a/maven-plugins/maven-pom-plugin/pom.xml
++++ b/maven-plugins/maven-pom-plugin/pom.xml
+@@ -31,7 +31,7 @@
+
+ maven
+ wagon-api
+- 1.0-alpha-1-SNAPSHOT
++ 0.9-SNAPSHOT
+
+
+
+diff --git a/maven-plugins/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java b/maven-plugins/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java
+deleted file mode 100644
+index c52827a..0000000
+--- a/maven-plugins/maven-resources-plugin/src/test/java/org/apache/maven/plugin/resources/ResourcesMojoTest.java
++++ /dev/null
+@@ -1,120 +0,0 @@
+-package org.apache.maven.plugin.resources;
+-
+-/* ====================================================================
+- * Copyright 2001-2004 The Apache Software Foundation.
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- * ====================================================================
+- */
+-
+-import org.apache.maven.model.Resource;
+-import org.apache.maven.plugin.PluginTestCase;
+-import org.apache.maven.project.MavenProjectBuilder;
+-import org.apache.maven.project.MavenProject;
+-import org.codehaus.plexus.embed.Embedder;
+-
+-import java.io.File;
+-import java.io.FileWriter;
+-import java.io.PrintWriter;
+-import java.util.Collections;
+-import java.util.Map;
+-import java.util.HashMap;
+-
+-/**
+- * @author Brett Porter
+- * @version $Id$
+- */
+-public class ResourcesMojoTest
+- extends PluginTestCase
+-{
+- private static final String TEST_DIRECTORY = "target/tests/test-data";
+- private static final String OUTPUT_DIRECTORY = "target/tests/output";
+-
+- public ResourcesMojoTest( String s )
+- {
+- super( s );
+- }
+-
+- protected void setupPlugin()
+- throws Exception
+- {
+- plugin = new ResourcesMojo();
+-
+- // have to mkdir CVS as it can't be in CVS!
+- File f = new File( basedir, TEST_DIRECTORY + "/CVS" );
+- f.mkdirs();
+- f = new File( f, "Root" );
+- PrintWriter w = new PrintWriter( new FileWriter( f ) );
+- w.println( ":local:/cvs/root" );
+- w.close();
+-
+- w = new PrintWriter( new FileWriter( new File( basedir, TEST_DIRECTORY + "/test.txt" ) ) );
+- w.println( "test data" );
+- w.close();
+-
+- // make sure the things in the output directory we test aren't there
+- f = new File( basedir, OUTPUT_DIRECTORY + "/CVS/Root" );
+- f.delete();
+- f.getParentFile().delete();
+- f = new File( basedir, OUTPUT_DIRECTORY + "/test.txt" );
+- f.delete();
+- f.getParentFile().delete();
+- }
+-
+- protected Map getTestParameters()
+- throws Exception
+- {
+- Embedder embedder = new Embedder();
+-
+- //embedder.setClassLoader( Thread.currentThread().getContextClassLoader() );
+-
+- embedder.start();
+-
+- MavenProjectBuilder builder = (MavenProjectBuilder) embedder.lookup( MavenProjectBuilder.ROLE );
+-
+- // TODO: here it would be much nicer to just use resources from some test project.xml file for
+- // testing the standard resources elements
+- // MavenProject project = builder.build( new File( basedir, "project.xml" ) );
+-
+- Map parameters = new HashMap();
+-
+- File directory = new File( basedir, TEST_DIRECTORY );
+- assertEquals( "sanity check name of directory " + directory, "test-data", directory.getName() );
+-
+- File f = new File( directory, "CVS/Root" );
+- assertTrue( "sanity check creation of CVS file " + f, f.exists() );
+- f = new File( directory, "test.txt" );
+- assertTrue( "sanity check creation of file " + f, f.exists() );
+-
+- Resource r = new Resource();
+- r.setDirectory( TEST_DIRECTORY );
+- parameters.put( "resources", Collections.singletonList( r ) );
+-
+- f = new File( basedir, OUTPUT_DIRECTORY );
+- assertFalse( "sanity check no output directory" + f, f.exists() );
+-
+- parameters.put( "outputDirectory", OUTPUT_DIRECTORY );
+-
+- return parameters;
+- }
+-
+- protected void validatePluginExecution()
+- throws Exception
+- {
+- File f = new File( basedir + "/" + OUTPUT_DIRECTORY, "CVS/Root" );
+- assertFalse( "check no creation of CVS file " + f, f.exists() );
+- assertFalse( "check no creation of CVS directory " + f, f.getParentFile().exists() );
+- f = new File( basedir + "/" + OUTPUT_DIRECTORY, "test.txt" );
+- assertTrue( "check creation of resource " + f, f.exists() );
+- }
+-}
diff --git a/maven/maven_2.nix b/maven/maven_2.nix.old
similarity index 100%
rename from maven/maven_2.nix
rename to maven/maven_2.nix.old
diff --git a/overlay.nix b/overlay.nix
index 4c9d49b..aa5a434 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -158,6 +158,7 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
werkz = self.callPackage ./java/download/werkz.nix { };
forehead = self.callPackage ./java/download/forehead.nix { };
plexus = self.callPackage ./java/download/plexus.nix { };
+ mmmockobjects = self.callPackage ./java/download/mmmockobjects.nix { };
ivyDepHook = self.callPackage ./ant/ivyDepHook.nix { };
ivyDep = dep: args: (import ./ant/ivyDep.nix { inherit ivyDepHook; stdenv = pkgs.stdenv; }) dep args;
@@ -166,7 +167,7 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
junit_3_8_1 = self.callPackage ./java/junit_3_8_1.nix { inherit jdk6 ant_1_7; };
- commons-lang = self.callPackage ./java/commons-lang.nix { inherit jdk6 ant_1_7; };
+ commons-lang_2 = self.callPackage ./java/commons-lang.nix { inherit jdk6 ant_1_7; };
commons-lang_1 = self.callPackage ./java/commons-lang_1.nix { inherit jdk6 ant_1_7; };
commons-lang_1_1 = self.callPackage ./java/commons-lang_1_1.nix { inherit jdk6 ant_1_7; };
commons-logging_1_0 = self.callPackage ./java/commons-logging_1_0.nix { inherit jdk6 ant_1_7; };
@@ -180,11 +181,10 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
jdom = self.callPackage ./java/jdom.nix { inherit jdk6 ant_1_7; };
jaxen = self.callPackage ./java/jaxen.nix { inherit jdk6 ant_1_7 saxpath dom4j jdom; };
- #maven_2 = self.callPackage ./maven/maven_2.nix { inherit jdk6; };
commons-logging_1_0_3 = self.callPackage ./java/commons-logging_1_0_3.nix { inherit jdk6 ant_1_7; };
commons-httpclient_2 = self.callPackage ./java/commons-httpclient_2.nix { inherit jdk6 ant_1_7 commons-logging_1_0_3; };
ant_1_5_3 = self.callPackage ./ant/ant_1_5_3.nix { inherit jdk6 ant_1_7; };
- ant-optional_1_5_3 = self.callPackage ./ant/ant-optional_1_5_3.nix { inherit ant_1_5_3; };
+ ant-optional_1_5_3 = self.callPackage ./java/wrapper/ant-optional_1_5_3.nix { inherit ant_1_5_3; };
commons-logging_1_0_2 = self.callPackage ./java/commons-logging_1_0_2.nix { inherit jdk6 ant_1_7; };
commons-beanutils_1_5 = self.callPackage ./java/commons-beanutils_1_5.nix { inherit jdk6 ant_1_7 commons-logging_1_0
@@ -245,13 +245,96 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
commons-jelly-tags-maven = self.callPackage ./java/jelly/commons-jelly-tags-maven.nix { inherit jdk6 ant_1_7 commons-jelly
commons-logging_1_0_3 werkz fake-maven commons-jelly-tags-ant commons-grant; };
- maven_1 = self.callPackage ./maven/maven_1_0_2.nix { inherit jdk6 ant_1_7 commons-lang commons-logging_1_0_3 commons-httpclient_2 dom4j
+ maven_1 = self.callPackage ./maven/maven_1_0_2.nix { inherit jdk6 ant_1_7 commons-lang_2 commons-logging_1_0_3 commons-httpclient_2 dom4j
ant_1_5_3 ant-optional_1_5_3 commons-betwixt commons-digester_1_4_1 commons-jelly commons-jelly-tags-ant commons-jelly-tags-define
commons-jelly-tags-util commons-jelly-tags-xml commons-jexl werkz commons-beanutils_1_6_1 commons-cli_beta_2 commons-collections_2_1
commons-grant commons-io forehead log4j_1_2_8 which jaxen saxpath xerces_2_4_0 plexus commons-jelly-tags-maven
commons-jelly-tags-interaction jdom junit_3_8_1 commons-jelly-tags-velocity velocity_1_4; };
- maven_2 = self.callPackage ./maven/maven-bootstrap.nix { inherit jdk6 junit_3_8_1 maven_1; };
- maven = self.callPackage ./maven/maven.nix { inherit jdk6 maven_2; };
+
+ xpp3 = self.callPackage ./java/xpp3.nix { inherit jdk6 ant_1_7; };
+ xstream_1_0 = self.callPackage ./java/xstream_1_0.nix { inherit jdk6 ant_1_7 dom4j xpp3 commons-lang_2; };
+ modello = self.callPackage ./java/modello/modello.nix { inherit jdk6 ant_1_7 maven_1 xpp3 xstream_1_0; };
+ surefire_1_1 = self.callPackage ./java/surefire_1_1.nix { inherit jdk6 ant_1_7 maven_1; };
+ ant_1_5_1 = self.callPackage ./ant/ant_1_5_1.nix { inherit jdk6 ant_1_7; };
+ byacc = self.callPackage ./java/yacc.nix { };
+ qdox = self.callPackage ./java/qdox.nix { inherit jdk6 maven_1 ant_1_5_1 mmmockobjects byacc; };
+ classworlds = self.callPackage ./java/classworlds.nix { inherit jdk6 ant_1_7; };
+ asm = self.callPackage ./java/asm.nix { inherit jdk6 ant_1_5_3; };
+ xstream_0_5 = self.callPackage ./java/xstream_0_5.nix { inherit jdk6 ant_1_7 dom4j xpp3 commons-lang_2; };
+ plexus_0_16-bootstrap = self.callPackage ./java/plexus/plexus_0_16-bootstrap.nix { inherit jdk6 ant_1_7 maven_1 xpp3 xstream_0_5
+ classworlds asm; };
+ plexus_0_14 = self.callPackage ./java/plexus/plexus_0_14.nix { inherit jdk6 ant_1_7 maven_1 xpp3 xstream_0_5 classworlds asm; };
+ wagon-api_0_9 = self.callPackage ./java/wagon/wagon-api_0_9.nix { inherit jdk6 ant_1_7 maven_1 xpp3 xstream_1_0 classworlds plexus_0_14; };
+ plexus-i18n = self.callPackage ./java/plexus/plexus-i18n.nix { inherit jdk6 ant_1_7 maven_1 plexus_0_16-bootstrap; };
+ javacc = self.callPackage ./java/javacc.nix { inherit jdk6 ant_1_7; };
+ ognl = self.callPackage ./java/ognl.nix { inherit jdk6 ant_1_7 javacc; };
+ plexus-compiler-api = self.callPackage ./java/plexus/plexus-compiler-api.nix { inherit jdk6 ant_1_7 plexus_0_16-bootstrap junit_3_8_1; };
+ plexus-compiler-javac = self.callPackage ./java/plexus/plexus-compiler-javac.nix { inherit jdk6 ant_1_7 plexus-compiler-api
+ plexus_0_16-bootstrap; };
+ surefire-booter_1_1 = self.callPackage ./java/surefire-booter_1_1.nix { inherit jdk6 ant_1_7 maven_1 surefire_1_1 plexus_0_14; };
+
+ maven_2-bootstrap-1 = self.callPackage ./maven/maven-bootstrap-1.nix { inherit jdk6 modello xpp3 xstream_0_5 surefire_1_1 junit_3_8_1 qdox
+ plexus_0_16-bootstrap wagon-api_0_9 classworlds commons-cli_beta_2 plexus-i18n ognl plexus-compiler-api plexus-compiler-javac
+ surefire-booter_1_1; };
+
+ maven-artifact = self.callPackage ./java/wrapper/maven-artifact.nix { inherit maven_2-bootstrap-1; };
+ plexus_0_16 = self.callPackage ./java/plexus/plexus_0_16.nix { inherit jdk6 ant_1_7 maven_1 xpp3 xstream_0_5 classworlds asm
+ maven-artifact; };
+
+ maven_2-boostrap-2 = self.callPackage ./maven/maven-bootstrap-2.nix { inherit jdk6 modello xpp3 xstream_0_5 surefire_1_1 junit_3_8_1 qdox
+ plexus_0_16 wagon-api_0_9 classworlds commons-cli_beta_2 plexus-i18n ognl plexus-compiler-api plexus-compiler-javac surefire-booter_1_1; };
+
+ plexus-pom_1_0 = self.callPackage ./java/plexus/plexus-pom_1_0.nix { };
+ plexus-containers-pom = self.callPackage ./java/plexus/plexus-containers-pom.nix { };
+ plexus-utils_alpha_1 = self.callPackage ./java/plexus/plexus-utils_alpha_1.nix { inherit jdk6 maven_2-boostrap-2 plexus-pom_1_0; };
+ plexus-container-default_alpha_1 = self.callPackage ./java/plexus/plexus-container-default_alpha_1.nix { inherit jdk6 maven_2-boostrap-2
+ plexus-containers-pom plexus-pom_1_0 plexus-utils_alpha_1; };
+
+ modello-pom = self.callPackage ./java/modello/modello-pom.nix { };
+ modello-core = self.callPackage ./java/modello/modello-core.nix { inherit jdk6 maven_2-boostrap-2 modello-pom plexus-utils_alpha_1
+ plexus-container-default_alpha_1; };
+ modello-xml-plugin = self.callPackage ./java/modello/modello-xml-plugin.nix { inherit jdk6 maven_2-boostrap-2 modello-pom
+ plexus-utils_alpha_1 modello-core plexus-container-default_alpha_1; };
+ modello-xdoc-plugin = self.callPackage ./java/modello/modello-xdoc-plugin.nix { inherit jdk6 maven_2-boostrap-2 modello-pom
+ plexus-utils_alpha_1 modello-xml-plugin modello-core plexus-container-default_alpha_1; };
+ modello-xpp3-plugin = self.callPackage ./java/modello/modello-xpp3-plugin.nix { inherit jdk6 maven_2-boostrap-2 modello-pom
+ plexus-utils_alpha_1 modello-xml-plugin modello-core plexus-container-default_alpha_1; };
+
+ plexus-utils_alpha_2 = self.callPackage ./java/plexus/plexus-utils_alpha_2.nix { inherit jdk6 maven_2-boostrap-2 plexus-pom_1_0; };
+ surefire_1_2 = self.callPackage ./java/surefire_1_2.nix { inherit jdk6 ant_1_7 maven_1; };
+ surefire-booter_1_2 = self.callPackage ./java/surefire-booter_1_2.nix { inherit jdk6 ant_1_7 maven_1 surefire_1_2; };
+ plexus_0_17 = self.callPackage ./java/plexus/plexus_0_17.nix { inherit jdk6 maven_2-boostrap-2 asm; };
+ wagon-pom_alpha_1 = self.callPackage ./java/wagon/wagon-pom_alpha_1.nix { };
+ wagon-api_alpha_1 = self.callPackage ./java/wagon/wagon-api_alpha_1.nix { inherit jdk6 maven_2-boostrap-2 wagon-pom_alpha_1 plexus_0_14; };
+ plexus-container-artifact_alpha_1 = self.callPackage ./java/plexus/plexus-container-artifact_alpha_1.nix { inherit jdk6 maven_2-boostrap-2
+ plexus_0_17 wagon-api_alpha_1 asm; };
+
+ wagon-pom_alpha_2 = self.callPackage ./java/wagon/wagon-pom_alpha_2.nix { };
+ wagon-provider-api = self.callPackage ./java/wagon/wagon-provider-api.nix { inherit jdk6 maven_2-boostrap-2 wagon-pom_alpha_2; };
+ wagon-provider-test = self.callPackage ./java/wagon/wagon-provider-test.nix { inherit jdk6 maven_2-boostrap-2 plexus-utils_alpha_1
+ wagon-provider-api plexus-container-default_alpha_1; };
+ wagon-providers-pom = self.callPackage ./java/wagon/wagon-providers-pom.nix { };
+ wagon-file = self.callPackage ./java/wagon/wagon-file.nix { inherit jdk6 maven_2-boostrap-2 wagon-providers-pom wagon-provider-api
+ wagon-provider-test plexus-container-default_alpha_1 plexus-utils_alpha_1; };
+
+ maven_2-boostrap-3 = self.callPackage ./maven/maven_2-bootstrap-3.nix { inherit jdk6 junit_3_8_1 modello-core modello-xdoc-plugin
+ modello-xml-plugin modello-xpp3-plugin plexus-utils_alpha_1 surefire-booter_1_2 surefire_1_2 qdox classworlds
+ plexus-container-default_alpha_1 wagon-provider-api wagon-file commons-cli_beta_2 plexus-i18n plexus-container-artifact_alpha_1
+ plexus-compiler-api plexus-compiler-javac plexus_0_17 wagon-api_alpha_1 wagon-pom_alpha_1 plexus-pom_1_0 wagon-providers-pom
+ plexus-containers-pom modello-pom wagon-provider-test xpp3 xstream_1_0 asm plexus_0_14 wagon-pom_alpha_2; };
+
+ plexus-container-default_alpha_2 = self.callPackage ./java/plexus/plexus-container-default_alpha_2.nix { inherit jdk6 maven_2-boostrap-3; };
+ plexus-container-artifact_alpha_2 = self.callPackage ./java/plexus/plexus-container-artifact_alpha_2.nix { inherit jdk6 maven_2-boostrap-3
+ plexus-container-default_alpha_2 wagon-provider-api; };
+
+ maven_2-boostrap-4 = self.callPackage ./maven/maven_2-bootstrap-4.nix { inherit jdk6 junit_3_8_1 modello-core modello-xdoc-plugin
+ modello-xml-plugin modello-xpp3-plugin plexus-utils_alpha_2 surefire-booter_1_2 surefire_1_2 qdox plexus-container-default_alpha_2
+ wagon-provider-api wagon-file commons-cli_beta_2 plexus-i18n plexus-container-artifact_alpha_2; };
+
+ plexus-pom = self.callPackage ./java/plexus/plexus-pom.nix { inherit jdk6 maven_2-boostrap-4; };
+ plexus-container-default = self.callPackage ./java/plexus/plexus-container-default.nix { inherit jdk6 plexus-pom; };
+
+ maven = self.callPackage ./maven/maven.nix { inherit jdk6 plexus-container-default; };
ant_1_6 = self.callPackage ./ant/ant_1_6.nix { inherit jdk6 ant_1_7; };
commons-cli = self.callPackage ./java/commons-cli.nix { inherit jdk6 ant_1_7 maven commons-lang_1; };
@@ -269,7 +352,7 @@ bommels = pkgs.lib.makeScope pkgs.newScope (self: rec {
xerces_2_6_2 = self.callPackage ./java/xerces_2_6_2.nix { inherit jdk6 ant_1_7; };
xerces-api = self.callPackage ./java/xerces-api.nix { inherit jdk6 ant_1_7; };
ivy = self.callPackage ./ant/ivy.nix { inherit jdk6 ant_1_7 ant_1_6 commons-cli commons-httpclient_3 oro commons-vfs jsch_0_1_25
- junit_3_8_2 commons-lang xerces_2_6_2 xerces-api; };
+ junit_3_8_2 commons-lang_2 xerces_2_6_2 xerces-api; };
groovy = self.callPackage ./java/groovy.nix { inherit jdk6 ant_1_7; };