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; };