Repository: maven-integration-testing
Updated Branches:
refs/heads/MNG-5958 1e4c7c36b -> 2fd74ac6d (forced update)
[MNG-3599] The upgrade of Wagon to 2.10 breaks the test using older versions of
wagon
- Need to use `--legacy-local-repository` on newer maven versions
(noting workaround as MNG-6155)
Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo
Commit:
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/ad98af7e
Tree:
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/ad98af7e
Diff:
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/ad98af7e
Branch: refs/heads/MNG-5958
Commit: ad98af7e77d4d392f9c3f96656959f1957923082
Parents: f31241a
Author: Stephen Connolly
Authored: Wed Jan 11 09:50:08 2017 +
Committer: Stephen Connolly
Committed: Wed Jan 11 20:10:26 2017 +
--
.../apache/maven/it/IntegrationTestSuite.java | 1 +
...enITmng3599useHttpProxyForWebDAVMk2Test.java | 214 +++
...MavenITmng3599useHttpProxyForWebDAVTest.java | 4 +-
.../test/resources/bootstrap/group-7/pom.xml| 50 +
.../src/test/resources/bootstrap/pom.xml| 1 +
.../src/test/resources/mng-3599-mk2/pom.xml | 23 ++
.../mng-3599-mk2/settings-template.xml | 18 ++
7 files changed, 309 insertions(+), 2 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/ad98af7e/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
--
diff --git
a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index 48051c9..5536620 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -461,6 +461,7 @@ public class IntegrationTestSuite
suite.addTestSuite( MavenITmng3607ClassLoadersUseValidUrlsTest.class );
suite.addTestSuite( MavenITmng3600DeploymentModeDefaultsTest.class );
suite.addTestSuite( MavenITmng3599useHttpProxyForWebDAVTest.class );
+suite.addTestSuite( MavenITmng3599useHttpProxyForWebDAVMk2Test.class );
suite.addTestSuite(
MavenITmng3586SystemScopePluginDependencyTest.class );
suite.addTestSuite( MavenITmng3581PluginUsesWagonDependencyTest.class
);
suite.addTestSuite(
MavenITmng3575HexadecimalOctalPluginParameterConfigTest.class );
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/ad98af7e/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
--
diff --git
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
new file mode 100644
index 000..0377348
--- /dev/null
+++
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3599useHttpProxyForWebDAVMk2Test.java
@@ -0,0 +1,214 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.io.File;
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.shared.utils.StringUtils;
+import org.apache.maven.shared.utils.io.FileUtils;
+import org.mortbay.jetty.Handler;
+import org.mortbay.jetty.Request;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.handler.AbstractHandler;
+
+/**
+ * This is a test set for https://issues.apache.org/jira/browse/MNG-3599;>MNG-3599.
+ *
+ * @author Brett Porter
+ * @author John Casey
+ * @version $Id$
+ */
+public class MavenITmng3599useHttpProxyForWebDAVMk2Test
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 8bd8c539d -> 61af1948b
Add Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/5779a357
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/5779a357
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/5779a357
Branch: refs/heads/MNG-6007
Commit: 5779a35721bc982053086bb44acec267d1887935
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:41:01 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 21:05:50 2017 +
--
Jenkinsfile | 50 ++
1 file changed, 50 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/5779a357/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..95d2967
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+node('ubuntu') {
+try {
+stage('Checkout')
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type:
'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+deleteDir()
+}
+dir('build') {
+checkout scm
+}
+stage('Build/Test')
+def WORK_DIR=pwd()
+dir('build') {
+try {
+
withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+} finally {
+junit allowEmptyResults: true,
testResults:'**/target/*-reports/*.xml'
+archiveArtifacts allowEmptyArchive: true, artifacts:
'**/target/rat.txt'
+}
+}
+} finally {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
Repository: maven-resolver
Updated Branches:
refs/heads/jenkinsfile f721684a5 -> 5779a3572 (forced update)
Add Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/5779a357
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/5779a357
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/5779a357
Branch: refs/heads/jenkinsfile
Commit: 5779a35721bc982053086bb44acec267d1887935
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:41:01 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 21:05:50 2017 +
--
Jenkinsfile | 50 ++
1 file changed, 50 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/5779a357/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..95d2967
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+node('ubuntu') {
+try {
+stage('Checkout')
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type:
'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+deleteDir()
+}
+dir('build') {
+checkout scm
+}
+stage('Build/Test')
+def WORK_DIR=pwd()
+dir('build') {
+try {
+
withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+} finally {
+junit allowEmptyResults: true,
testResults:'**/target/*-reports/*.xml'
+archiveArtifacts allowEmptyArchive: true, artifacts:
'**/target/rat.txt'
+}
+}
+} finally {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
Repository: maven-resolver
Updated Branches:
refs/heads/jenkinsfile dafc4bcaf -> f721684a5 (forced update)
Add Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/f721684a
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/f721684a
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/f721684a
Branch: refs/heads/jenkinsfile
Commit: f721684a51baf2dba9f2e3adadf3fb6802c0ae95
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:41:01 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 21:02:26 2017 +
--
Jenkinsfile | 47 +++
1 file changed, 47 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/f721684a/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..acaba9b
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+node('ubuntu') {
+try {
+stage('Checkout')
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type:
'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+deleteDir()
+}
+dir('build') {
+checkout scm
+}
+stage('Build/Test')
+def WORK_DIR=pwd()
+dir('build') {
+
withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true,
testResults:'**/target/*-reports/*.xml'
+archiveArtifacts allowEmptyArchive: true, artifacts:
'target/rat.txt'
+}
+} finally {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
Repository: maven-resolver
Updated Branches:
refs/heads/jenkinsfile 25d1e9663 -> dafc4bcaf (forced update)
Add Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/dafc4bca
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/dafc4bca
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/dafc4bca
Branch: refs/heads/jenkinsfile
Commit: dafc4bcaf69376b1001d558887cc5dad3d8299bb
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:41:01 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:48:21 2017 +
--
Jenkinsfile | 43 +++
1 file changed, 43 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/dafc4bca/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..e843069
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+node('ubuntu') {
+try {
+stage('Checkout')
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type:
'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+}
+stage('Build/Test')
+dir('build') {
+def WORK_DIR=pwd()
+
withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true,
testResults:'**/target/*-reports/*.xml'
+}
+} finally {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
Repository: maven-resolver
Updated Branches:
refs/heads/jenkinsfile [created] 25d1e9663
Add Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/25d1e966
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/25d1e966
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/25d1e966
Branch: refs/heads/jenkinsfile
Commit: 25d1e9663e1e005772cb83e9b55328e66fd988b1
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:41:01 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:41:01 2017 +
--
Jenkinsfile | 23 +++
1 file changed, 23 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/25d1e966/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50cba44
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+node('ubuntu') {
+}
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 1d6e0549a -> c190f7b16 (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/c190f7b1
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/c190f7b1
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/c190f7b1
Branch: refs/heads/MNG-6007
Commit: c190f7b1603f39691c7c09a3169180bf0120454d
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:37:51 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/c190f7b1/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 3dd571219 -> 1d6e0549a (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/1d6e0549
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/1d6e0549
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/1d6e0549
Branch: refs/heads/MNG-6007
Commit: 1d6e0549a3fdf2a9129e539e3b5b97ac5285f4a3
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:36:05 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/1d6e0549/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 5b0befa07 -> 3dd571219 (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/3dd57121
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/3dd57121
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/3dd57121
Branch: refs/heads/MNG-6007
Commit: 3dd571219d8e1d49de0c8555309db63f447787a2
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:34:19 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3dd57121/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 81ce0c1f3 -> 5b0befa07 (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/5b0befa0
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/5b0befa0
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/5b0befa0
Branch: refs/heads/MNG-6007
Commit: 5b0befa07da5552f43255dbeb5742479bf300b14
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:33:21 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/5b0befa0/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 1e9e2c86a -> 81ce0c1f3 (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/81ce0c1f
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/81ce0c1f
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/81ce0c1f
Branch: refs/heads/MNG-6007
Commit: 81ce0c1f32238d1ac654aad32e70eada645987b5
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:32:23 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/81ce0c1f/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 eda9fc018 -> 1e9e2c86a (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/1e9e2c86
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/1e9e2c86
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/1e9e2c86
Branch: refs/heads/MNG-6007
Commit: 1e9e2c86a1331797e8f905a6f8cfdbb38d7e49f0
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:30:49 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/1e9e2c86/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 d37aade9d -> eda9fc018 (forced update)
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/eda9fc01
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/eda9fc01
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/eda9fc01
Branch: refs/heads/MNG-6007
Commit: eda9fc018015b2e8da40318033ac3ccc7652ceb2
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:25:47 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/eda9fc01/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 8bd8c539d -> d37aade9d
Add a Jenkinsfile
Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/d37aade9
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/d37aade9
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/d37aade9
Branch: refs/heads/MNG-6007
Commit: d37aade9d72ffc570d39d15c33c5db3173a08928
Parents: 8bd8c53
Author: Stephen Connolly
Authored: Sun Jan 15 20:23:22 2017 +
Committer: Stephen Connolly
Committed: Sun Jan 15 20:23:22 2017 +
--
Jenkinsfile | 45 +
1 file changed, 45 insertions(+)
--
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/d37aade9/Jenkinsfile
--
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 000..50121ac
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr:
env.BRANCH_NAME=='master'?'10':'5'))])
+
+try {
+node('ubuntu') {
+stage 'Checkout'
+def MAVEN_BUILD=tool name: 'Maven 3.3.9', type:
'hudson.tasks.Maven$MavenInstallation'
+echo "Driving build and unit tests using Maven $MAVEN_BUILD"
+def JAVA7_HOME=tool name: 'JDK 1.7 (latest)', type: 'hudson.model.JDK'
+echo "Running build and unit tests with Java $JAVA7_HOME"
+dir('build') {
+checkout scm
+def WORK_DIR=pwd()
+stage 'Build / Unit Test'
+withEnv(["PATH+MAVEN=$MAVEN_BUILD/bin","PATH+JDK=$JAVA7_HOME/bin"]) {
+sh "mvn clean verify -B -U -e -fae -V
-Dmaven.test.failure.ignore=true -Dmaven.repo.local=$WORK_DIR/.repository"
+}
+junit allowEmptyResults: true, testResults:'**/target/*-reports/*.xml'
+}
+}
+
+} finally {}
+node('ubuntu') {
+emailext body: "See ${env.BUILD_URL}", recipientProviders: [[$class:
'CulpritsRecipientProvider'], [$class: 'FailingTestSuspectsRecipientProvider'],
[$class: 'FirstFailingBuildSuspectsRecipientProvider']], replyTo:
'd...@maven.apache.org', subject: "Maven Resolver Jenkinsfile finished with
${currentBuild.result}", to: 'notificati...@maven.apache.org'
+}
+}
+
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/repository/LocalRepositoryManager.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/repository/LocalRepositoryManager.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/repository/LocalRepositoryManager.java
new file mode 100644
index 000..649707c
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/repository/LocalRepositoryManager.java
@@ -0,0 +1,127 @@
+package org.eclipse.aether.repository;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.metadata.Metadata;
+
+/**
+ * Manages access to a local repository.
+ *
+ * @see RepositorySystemSession#getLocalRepositoryManager()
+ * @see
org.eclipse.aether.RepositorySystem#newLocalRepositoryManager(RepositorySystemSession,
LocalRepository)
+ */
+public interface LocalRepositoryManager
+{
+
+/**
+ * Gets the description of the local repository being managed.
+ *
+ * @return The description of the local repository, never {@code null}.
+ */
+LocalRepository getRepository();
+
+/**
+ * Gets the relative path for a locally installed artifact. Note that the
artifact need not actually exist yet at
+ * the returned location, the path merely indicates where the artifact
would eventually be stored. The path uses the
+ * forward slash as directory separator regardless of the underlying file
system.
+ *
+ * @param artifact The artifact for which to determine the path, must not
be {@code null}.
+ * @return The path, relative to the local repository's base directory.
+ */
+String getPathForLocalArtifact( Artifact artifact );
+
+/**
+ * Gets the relative path for an artifact cached from a remote repository.
Note that the artifact need not actually
+ * exist yet at the returned location, the path merely indicates where the
artifact would eventually be stored. The
+ * path uses the forward slash as directory separator regardless of the
underlying file system.
+ *
+ * @param artifact The artifact for which to determine the path, must not
be {@code null}.
+ * @param repository The source repository of the artifact, must not be
{@code null}.
+ * @param context The resolution context in which the artifact is being
requested, may be {@code null}.
+ * @return The path, relative to the local repository's base directory.
+ */
+String getPathForRemoteArtifact( Artifact artifact, RemoteRepository
repository, String context );
+
+/**
+ * Gets the relative path for locally installed metadata. Note that the
metadata need not actually exist yet at the
+ * returned location, the path merely indicates where the metadata would
eventually be stored. The path uses the
+ * forward slash as directory separator regardless of the underlying file
system.
+ *
+ * @param metadata The metadata for which to determine the path, must not
be {@code null}.
+ * @return The path, relative to the local repository's base directory.
+ */
+String getPathForLocalMetadata( Metadata metadata );
+
+/**
+ * Gets the relative path for metadata cached from a remote repository.
Note that the metadata need not actually
+ * exist yet at the returned location, the path merely indicates where the
metadata would eventually be stored. The
+ * path uses the forward slash as directory separator regardless of the
underlying file system.
+ *
+ * @param metadata The metadata for which to determine the path, must not
be {@code null}.
+ * @param repository The source repository of the metadata, must not be
{@code null}.
+ * @param context The resolution context in which the metadata is being
requested, may be {@code null}.
+ * @return The path, relative to the local repository's base directory.
+ */
+String getPathForRemoteMetadata( Metadata metadata, RemoteRepository
repository, String context
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
new file mode 100644
index 000..a220207
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/ArtifactRequest.java
@@ -0,0 +1,232 @@
+package org.eclipse.aether.resolution;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.RequestTrace;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.graph.DependencyNode;
+import org.eclipse.aether.repository.RemoteRepository;
+
+/**
+ * A request to resolve an artifact.
+ *
+ * @see RepositorySystem#resolveArtifacts(RepositorySystemSession,
java.util.Collection)
+ * @see Artifact#getFile()
+ */
+public final class ArtifactRequest
+{
+
+private Artifact artifact;
+
+private DependencyNode node;
+
+private List repositories = Collections.emptyList();
+
+private String context = "";
+
+private RequestTrace trace;
+
+/**
+ * Creates an uninitialized request.
+ */
+public ArtifactRequest()
+{
+// enables default constructor
+}
+
+/**
+ * Creates a request with the specified properties.
+ *
+ * @param artifact The artifact to resolve, may be {@code null}.
+ * @param repositories The repositories to resolve the artifact from, may
be {@code null}.
+ * @param context The context in which this request is made, may be {@code
null}.
+ */
+public ArtifactRequest( Artifact artifact, List
repositories, String context )
+{
+setArtifact( artifact );
+setRepositories( repositories );
+setRequestContext( context );
+}
+
+/**
+ * Creates a request from the specified dependency node.
+ *
+ * @param node The dependency node to resolve, may be {@code null}.
+ */
+public ArtifactRequest( DependencyNode node )
+{
+setDependencyNode( node );
+setRepositories( node.getRepositories() );
+setRequestContext( node.getRequestContext() );
+}
+
+/**
+ * Gets the artifact to resolve.
+ *
+ * @return The artifact to resolve or {@code null}.
+ */
+public Artifact getArtifact()
+{
+return artifact;
+}
+
+/**
+ * Sets the artifact to resolve.
+ *
+ * @param artifact The artifact to resolve, may be {@code null}.
+ * @return This request for chaining, never {@code null}.
+ */
+public ArtifactRequest setArtifact( Artifact artifact )
+{
+this.artifact = artifact;
+return this;
+}
+
+/**
+ * Gets the dependency node (if any) for which to resolve the artifact.
+ *
+ * @return The dependency node to resolve or {@code null} if unknown.
+ */
+public DependencyNode getDependencyNode()
+{
+return node;
+}
+
+/**
+ * Sets the dependency node to resolve.
+ *
+ * @param node The dependency node to resolve, may be {@code null}.
+ * @return This request for chaining, never {@code null}.
+ */
+public ArtifactRequest setDependencyNode( DependencyNode node )
+{
+this.node = node;
+if ( node != null )
+{
+setArtifact( node.getDependency().getArtifact() );
+}
+return this;
+}
+
+/**
+ * Gets the repositories to resolve the artifact from.
+ *
+ * @return The repositories, never {@code null}.
+ */
+public List getRepositories()
+{
+return repositories;
+}
+
+/**
+ * Sets the repositories to resolve the artifact from.
+ *
+ * @param repositories The repositories, may be {@code null}.
+ * @return This request for chaining, never {@code null}.
+
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
--
diff --git
a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
b/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
deleted file mode 100644
index fb08b3b..000
---
a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package org.eclipse.aether.util.graph.traverser;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.graph.Dependency;
-
-/**
- * A dependency traverser that combines zero or more other traversers using a
logical {@code AND}. The resulting
- * traverser enables processing of child dependencies if and only if all
constituent traversers request traversal.
- */
-public final class AndDependencyTraverser
-implements DependencyTraverser
-{
-
-private final Set traversers;
-
-private int hashCode;
-
-/**
- * Creates a new traverser from the specified traversers. Prefer
- * {@link #newInstance(DependencyTraverser, DependencyTraverser)} if any
of the input traversers might be
- * {@code null}.
- *
- * @param traversers The traversers to combine, may be {@code null} but
must not contain {@code null} elements.
- */
-public AndDependencyTraverser( DependencyTraverser... traversers )
-{
-if ( traversers != null && traversers.length > 0 )
-{
-this.traversers = new LinkedHashSet(
Arrays.asList( traversers ) );
-}
-else
-{
-this.traversers = Collections.emptySet();
-}
-}
-
-/**
- * Creates a new traverser from the specified traversers.
- *
- * @param traversers The traversers to combine, may be {@code null} but
must not contain {@code null} elements.
- */
-public AndDependencyTraverser( Collection
traversers )
-{
-if ( traversers != null && !traversers.isEmpty() )
-{
-this.traversers = new LinkedHashSet(
traversers );
-}
-else
-{
-this.traversers = Collections.emptySet();
-}
-}
-
-private AndDependencyTraverser( Set traversers )
-{
-if ( traversers != null && !traversers.isEmpty() )
-{
-this.traversers = traversers;
-}
-else
-{
-this.traversers = Collections.emptySet();
-}
-}
-
-/**
- * Creates a new traverser from the specified traversers.
- *
- * @param traverser1 The first traverser to combine, may be {@code null}.
- * @param traverser2 The second traverser to combine, may be {@code null}.
- * @return The combined traverser or {@code null} if both traversers were
{@code null}.
- */
-public static DependencyTraverser newInstance( DependencyTraverser
traverser1, DependencyTraverser traverser2 )
-{
-if ( traverser1 == null )
-{
-return traverser2;
-}
-else if ( traverser2 == null || traverser2.equals( traverser1 ) )
-{
-return traverser1;
-}
-return new AndDependencyTraverser( traverser1, traverser2 );
-}
-
-public boolean traverseDependency( Dependency dependency )
-{
-for ( DependencyTraverser traverser : traversers )
-{
-if ( !traverser.traverseDependency( dependency ) )
-{
-return false;
-}
-}
-return true;
-}
-
-public DependencyTraverser deriveChildTraverser(
DependencyCollectionContext context )
-{
-int seen = 0;
-Set childTraversers = null;
-
-for ( DependencyTraverser traverser :
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
--
diff --git
a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
b/aether-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
deleted file mode 100644
index 3f5a093..000
---
a/aether-impl/src/test/java/org/eclipse/aether/internal/impl/PrioritizedComponentsTest.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.aether.internal.impl;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ThreadFactory;
-
-import org.eclipse.aether.ConfigurationProperties;
-import org.junit.Test;
-
-public class PrioritizedComponentsTest
-{
-
-@Test
-public void testGetConfigKeys()
-{
-String[] keys =
-{ ConfigurationProperties.PREFIX_PRIORITY + "java.lang.String",
-ConfigurationProperties.PREFIX_PRIORITY + "String" };
-assertArrayEquals( keys, PrioritizedComponents.getConfigKeys(
String.class ) );
-
-keys =
-new String[] { ConfigurationProperties.PREFIX_PRIORITY +
"java.util.concurrent.ThreadFactory",
-ConfigurationProperties.PREFIX_PRIORITY + "ThreadFactory",
-ConfigurationProperties.PREFIX_PRIORITY + "Thread" };
-assertArrayEquals( keys, PrioritizedComponents.getConfigKeys(
ThreadFactory.class ) );
-}
-
-@Test
-public void testAdd_PriorityOverride()
-{
-Exception comp1 = new IllegalArgumentException();
-Exception comp2 = new NullPointerException();
-Map
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/AbstractVersionFilterTest.java
--
diff --git
a/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/AbstractVersionFilterTest.java
b/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/AbstractVersionFilterTest.java
deleted file mode 100644
index 13fd4b0..000
---
a/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/AbstractVersionFilterTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.eclipse.aether.util.graph.versions;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 static org.junit.Assert.*;
-
-import java.util.Iterator;
-
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.internal.test.util.TestUtils;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResult;
-import org.eclipse.aether.util.version.GenericVersionScheme;
-import org.eclipse.aether.version.InvalidVersionSpecificationException;
-import org.eclipse.aether.version.Version;
-import org.eclipse.aether.version.VersionScheme;
-import org.junit.After;
-import org.junit.Before;
-
-public abstract class AbstractVersionFilterTest
-{
-
-protected DefaultRepositorySystemSession session;
-
-@Before
-public void setUp()
-{
-session = TestUtils.newSession();
-}
-
-@After
-public void tearDown()
-{
-session = null;
-}
-
-protected VersionFilter.VersionFilterContext newContext( String gav,
String... versions )
-{
-VersionRangeRequest request = new VersionRangeRequest();
-request.setArtifact( new DefaultArtifact( gav ) );
-VersionRangeResult result = new VersionRangeResult( request );
-VersionScheme scheme = new GenericVersionScheme();
-try
-{
-result.setVersionConstraint( scheme.parseVersionConstraint(
request.getArtifact().getVersion() ) );
-for ( String version : versions )
-{
-result.addVersion( scheme.parseVersion( version ) );
-}
-}
-catch ( InvalidVersionSpecificationException e )
-{
-throw new IllegalArgumentException( e );
-}
-return TestUtils.newVersionFilterContext( session, result );
-}
-
-protected VersionFilter derive( VersionFilter filter, String gav )
-{
-return filter.deriveChildFilter( TestUtils.newCollectionContext(
session,
- new
Dependency( new DefaultArtifact( gav ), "" ),
- null
) );
-}
-
-protected void assertVersions( VersionFilter.VersionFilterContext context,
String... versions )
-{
-assertEquals( versions.length, context.getCount() );
-Iterator it = context.iterator();
-for ( String version : versions )
-{
-assertTrue( it.hasNext() );
-assertEquals( version, it.next().toString() );
-}
-}
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/ChainedVersionFilterTest.java
--
diff --git
a/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/ChainedVersionFilterTest.java
b/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/ChainedVersionFilterTest.java
deleted file mode 100644
index 1e8a5bd..000
---
a/aether-util/src/test/java/org/eclipse/aether/util/graph/versions/ChainedVersionFilterTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.aether.util.graph.versions;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
new file mode 100644
index 000..e78df3a
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/DefaultSessionData.java
@@ -0,0 +1,91 @@
+package org.eclipse.aether;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ * A simple session data storage backed by a thread-safe map.
+ */
+public final class DefaultSessionData
+implements SessionData
+{
+
+private final ConcurrentMap data;
+
+public DefaultSessionData()
+{
+data = new ConcurrentHashMap();
+}
+
+public void set( Object key, Object value )
+{
+if ( key == null )
+{
+throw new IllegalArgumentException( "key must not be null" );
+}
+
+if ( value != null )
+{
+data.put( key, value );
+}
+else
+{
+data.remove( key );
+}
+}
+
+public boolean set( Object key, Object oldValue, Object newValue )
+{
+if ( key == null )
+{
+throw new IllegalArgumentException( "key must not be null" );
+}
+
+if ( newValue != null )
+{
+if ( oldValue == null )
+{
+return data.putIfAbsent( key, newValue ) == null;
+}
+return data.replace( key, oldValue, newValue );
+}
+else
+{
+if ( oldValue == null )
+{
+return !data.containsKey( key );
+}
+return data.remove( key, oldValue );
+}
+}
+
+public Object get( Object key )
+{
+if ( key == null )
+{
+throw new IllegalArgumentException( "key must not be null" );
+}
+
+return data.get( key );
+}
+
+}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/RepositoryCache.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/RepositoryCache.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/RepositoryCache.java
new file mode 100644
index 000..6f9f114
--- /dev/null
+++ b/maven-resolver-api/src/main/java/org/eclipse/aether/RepositoryCache.java
@@ -0,0 +1,59 @@
+package org.eclipse.aether;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * Caches auxiliary data used during repository access like already processed
metadata. The data in the cache is meant
+ * for exclusive consumption by the repository system and is opaque to the
cache implementation. Note:
+ * Actual cache implementations must be thread-safe.
+ *
+ * @see RepositorySystemSession#getCache()
+ */
+public interface RepositoryCache
+{
+
+/**
+ * Puts the specified data into the cache. It is entirely up to the cache
implementation how long this data will be
+ * kept before being purged, i.e. callers must not make
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
--
diff --git
a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
deleted file mode 100644
index 5f9d8e0..000
---
a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/ConflictResolver.java
+++ /dev/null
@@ -1,1327 +0,0 @@
-package org.eclipse.aether.util.graph.transformer;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.IdentityHashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.DependencyGraphTransformationContext;
-import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.graph.DefaultDependencyNode;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.util.ConfigUtils;
-
-/**
- * A dependency graph transformer that resolves version and scope conflicts
among dependencies. For a given set of
- * conflicting nodes, one node will be chosen as the winner and the other
nodes are removed from the dependency graph.
- * The exact rules by which a winning node and its effective scope are
determined are controlled by user-supplied
- * implementations of {@link VersionSelector}, {@link ScopeSelector}, {@link
OptionalitySelector} and
- * {@link ScopeDeriver}.
- *
- * By default, this graph transformer will turn the dependency graph into a
tree without duplicate artifacts. Using the
- * configuration property {@link #CONFIG_PROP_VERBOSE}, a verbose mode can be
enabled where the graph is still turned
- * into a tree but all nodes participating in a conflict are retained. The
nodes that were rejected during conflict
- * resolution have no children and link back to the winner node via the {@link
#NODE_DATA_WINNER} key in their custom
- * data. Additionally, the keys {@link #NODE_DATA_ORIGINAL_SCOPE} and {@link
#NODE_DATA_ORIGINAL_OPTIONALITY} are used
- * to store the original scope and optionality of each node. Obviously, the
resulting dependency tree is not suitable
- * for artifact resolution unless a filter is employed to exclude the
duplicate dependencies.
- *
- * This transformer will query the keys {@link
TransformationContextKeys#CONFLICT_IDS},
- * {@link TransformationContextKeys#SORTED_CONFLICT_IDS}, {@link
TransformationContextKeys#CYCLIC_CONFLICT_IDS} for
- * existing information about conflict ids. In absence of this information, it
will automatically invoke the
- * {@link ConflictIdSorter} to calculate it.
- */
-public final class ConflictResolver
-implements DependencyGraphTransformer
-{
-
-/**
- * The key in the repository session's {@link
RepositorySystemSession#getConfigProperties() configuration
- * properties} used to store a {@link Boolean} flag controlling the
transformer's verbose mode.
- */
-public static final String CONFIG_PROP_VERBOSE =
"aether.conflictResolver.verbose";
-
-/**
- * The key in the dependency node's {@link DependencyNode#getData() custom
data} under which a reference to the
- * {@link DependencyNode} which has won the conflict is stored.
- */
-public static final String NODE_DATA_WINNER = "conflict.winner";
-
-/**
- * The key in the dependency node's {@link DependencyNode#getData() custom
data} under which the scope of the
- * dependency before scope derivation and conflict resolution is stored.
- */
-public static final String NODE_DATA_ORIGINAL_SCOPE =
"conflict.originalScope";
-
-/**
- * The key in the
Repository: maven-resolver
Updated Branches:
refs/heads/MNG-6007 [created] 8bd8c539d
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResolutionException.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResolutionException.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResolutionException.java
new file mode 100644
index 000..1aca861
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/resolution/VersionResolutionException.java
@@ -0,0 +1,105 @@
+package org.eclipse.aether.resolution;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.eclipse.aether.RepositoryException;
+
+/**
+ * Thrown in case of an unresolvable metaversion.
+ */
+public class VersionResolutionException
+extends RepositoryException
+{
+
+private final transient VersionResult result;
+
+/**
+ * Creates a new exception with the specified result.
+ *
+ * @param result The version result at the point the exception occurred,
may be {@code null}.
+ */
+public VersionResolutionException( VersionResult result )
+{
+super( getMessage( result ), getCause( result ) );
+this.result = result;
+}
+
+private static String getMessage( VersionResult result )
+{
+StringBuilder buffer = new StringBuilder( 256 );
+buffer.append( "Failed to resolve version" );
+if ( result != null )
+{
+buffer.append( " for " ).append( result.getRequest().getArtifact()
);
+if ( !result.getExceptions().isEmpty() )
+{
+buffer.append( ": " ).append(
result.getExceptions().iterator().next().getMessage() );
+}
+}
+return buffer.toString();
+}
+
+private static Throwable getCause( VersionResult result )
+{
+Throwable cause = null;
+if ( result != null && !result.getExceptions().isEmpty() )
+{
+cause = result.getExceptions().get( 0 );
+}
+return cause;
+}
+
+/**
+ * Creates a new exception with the specified result and detail message.
+ *
+ * @param result The version result at the point the exception occurred,
may be {@code null}.
+ * @param message The detail message, may be {@code null}.
+ */
+public VersionResolutionException( VersionResult result, String message )
+{
+super( message, getCause( result ) );
+this.result = result;
+}
+
+/**
+ * Creates a new exception with the specified result, detail message and
cause.
+ *
+ * @param result The version result at the point the exception occurred,
may be {@code null}.
+ * @param message The detail message, may be {@code null}.
+ * @param cause The exception that caused this one, may be {@code null}.
+ */
+public VersionResolutionException( VersionResult result, String message,
Throwable cause )
+{
+super( message, cause );
+this.result = result;
+}
+
+/**
+ * Gets the version result at the point the exception occurred. Despite
being incomplete, callers might want to use
+ * this result to fail gracefully and continue their operation with
whatever interim data has been gathered.
+ *
+ * @return The version result or {@code null} if unknown.
+ */
+public VersionResult getResult()
+{
+return result;
+}
+
+}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataTransfer.java
--
diff --git
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataTransfer.java
b/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataTransfer.java
deleted file mode 100644
index 94eb46e..000
---
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataTransfer.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package org.eclipse.aether.spi.connector;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.io.File;
-
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.transfer.MetadataTransferException;
-
-/**
- * A download/upload of metadata.
- *
- * @noextend This class is not intended to be extended by clients.
- */
-public abstract class MetadataTransfer
-extends Transfer
-{
-
-private Metadata metadata;
-
-private File file;
-
-private MetadataTransferException exception;
-
-MetadataTransfer()
-{
-// hide
-}
-
-/**
- * Gets the metadata being transferred.
- *
- * @return The metadata being transferred or {@code null} if not set.
- */
-public Metadata getMetadata()
-{
-return metadata;
-}
-
-/**
- * Sets the metadata to transfer.
- *
- * @param metadata The metadata, may be {@code null}.
- * @return This transfer for chaining, never {@code null}.
- */
-public MetadataTransfer setMetadata( Metadata metadata )
-{
-this.metadata = metadata;
-return this;
-}
-
-/**
- * Gets the local file the metadata is downloaded to or uploaded from. In
case of a download, a connector should
- * first transfer the bytes to a temporary file and only overwrite the
target file once the entire download is
- * completed such that an interrupted/failed download does not corrupt the
current file contents.
- *
- * @return The local file or {@code null} if not set.
- */
-public File getFile()
-{
-return file;
-}
-
-/**
- * Sets the local file the metadata is downloaded to or uploaded from.
- *
- * @param file The local file, may be {@code null}.
- * @return This transfer for chaining, never {@code null}.
- */
-public MetadataTransfer setFile( File file )
-{
-this.file = file;
-return this;
-}
-
-/**
- * Gets the exception that occurred during the transfer (if any).
- *
- * @return The exception or {@code null} if the transfer was successful.
- */
-public MetadataTransferException getException()
-{
-return exception;
-}
-
-/**
- * Sets the exception that occurred during the transfer.
- *
- * @param exception The exception, may be {@code null} to denote a
successful transfer.
- * @return This transfer for chaining, never {@code null}.
- */
-public MetadataTransfer setException( MetadataTransferException exception )
-{
-this.exception = exception;
-return this;
-}
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataUpload.java
--
diff --git
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataUpload.java
b/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataUpload.java
deleted file mode 100644
index d992757..000
---
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/MetadataUpload.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.aether.spi.connector;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/collection/package-info.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/collection/package-info.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/package-info.java
new file mode 100644
index 000..414629f
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/collection/package-info.java
@@ -0,0 +1,25 @@
+// CHECKSTYLE_OFF: RegexpHeader
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+/**
+ * The types and extension points for collecting the transitive dependencies
of an artifact and building a dependency
+ * graph.
+ */
+package org.eclipse.aether.collection;
+
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
new file mode 100644
index 000..637f47d
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/deployment/DeployRequest.java
@@ -0,0 +1,202 @@
+package org.eclipse.aether.deployment;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.RequestTrace;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.metadata.Metadata;
+import org.eclipse.aether.repository.RemoteRepository;
+
+/**
+ * A request to deploy artifacts and their accompanying metadata into the a
remote repository.
+ *
+ * @see RepositorySystem#deploy(RepositorySystemSession, DeployRequest)
+ */
+public final class DeployRequest
+{
+
+private Collection artifacts = Collections.emptyList();
+
+private Collection metadata = Collections.emptyList();
+
+private RemoteRepository repository;
+
+private RequestTrace trace;
+
+/**
+ * Creates an uninitialized request.
+ */
+public DeployRequest()
+{
+}
+
+/**
+ * Gets the artifact to deploy.
+ *
+ * @return The artifacts to deploy, never {@code null}.
+ */
+public Collection getArtifacts()
+{
+return artifacts;
+}
+
+/**
+ * Sets the artifacts to deploy.
+ *
+ * @param artifacts The artifacts to deploy, may be {@code null}.
+ * @return This request for chaining, never {@code null}.
+ */
+public DeployRequest setArtifacts( Collection artifacts )
+{
+if ( artifacts == null )
+{
+this.artifacts = Collections.emptyList();
+}
+else
+{
+this.artifacts = artifacts;
+}
+return this;
+}
+
+/**
+ * Adds the specified artifacts for deployment.
+ *
+ * @param artifact The artifact to add, may be {@code null}.
+ * @return This request for chaining, never {@code null}.
+ */
+public DeployRequest addArtifact( Artifact artifact )
+{
+if ( artifact != null )
+{
+if (
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/resolution/DependencyRequest.java
--
diff --git
a/aether-api/src/main/java/org/eclipse/aether/resolution/DependencyRequest.java
b/aether-api/src/main/java/org/eclipse/aether/resolution/DependencyRequest.java
deleted file mode 100644
index 138304a..000
---
a/aether-api/src/main/java/org/eclipse/aether/resolution/DependencyRequest.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.eclipse.aether.resolution;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-
-/**
- * A request to resolve transitive dependencies. This request can either be
supplied with a {@link CollectRequest} to
- * calculate the transitive dependencies or with an already resolved
dependency graph.
- *
- * @see RepositorySystem#resolveDependencies(RepositorySystemSession,
DependencyRequest)
- * @see Artifact#getFile()
- */
-public final class DependencyRequest
-{
-
-private DependencyNode root;
-
-private CollectRequest collectRequest;
-
-private DependencyFilter filter;
-
-private RequestTrace trace;
-
-/**
- * Creates an uninitialized request. Note that either {@link
#setRoot(DependencyNode)} or
- * {@link #setCollectRequest(CollectRequest)} must eventually be called to
create a valid request.
- */
-public DependencyRequest()
-{
-// enables default constructor
-}
-
-/**
- * Creates a request for the specified dependency graph and with the given
resolution filter.
- *
- * @param node The root node of the dependency graph whose artifacts
should be resolved, may be {@code null}.
- * @param filter The resolution filter to use, may be {@code null}.
- */
-public DependencyRequest( DependencyNode node, DependencyFilter filter )
-{
-setRoot( node );
-setFilter( filter );
-}
-
-/**
- * Creates a request for the specified collect request and with the given
resolution filter.
- *
- * @param request The collect request used to calculate the dependency
graph whose artifacts should be resolved, may
- *be {@code null}.
- * @param filter The resolution filter to use, may be {@code null}.
- */
-public DependencyRequest( CollectRequest request, DependencyFilter filter )
-{
-setCollectRequest( request );
-setFilter( filter );
-}
-
-/**
- * Gets the root node of the dependency graph whose artifacts should be
resolved.
- *
- * @return The root node of the dependency graph or {@code null} if none.
- */
-public DependencyNode getRoot()
-{
-return root;
-}
-
-/**
- * Sets the root node of the dependency graph whose artifacts should be
resolved. When this request is processed,
- * the nodes of the given dependency graph will be updated to refer to the
resolved artifacts. Eventually, either
- * {@link #setRoot(DependencyNode)} or {@link
#setCollectRequest(CollectRequest)} must be called to create a valid
- * request.
- *
- * @param root The root node of the dependency graph, may be {@code null}.
- * @return This request for chaining, never {@code null}.
- */
-public DependencyRequest setRoot( DependencyNode root )
-{
-this.root = root;
-return this;
-}
-
-/**
- * Gets the collect request used to calculate the dependency graph whose
artifacts should be resolved.
- *
- * @return The collect request or {@code null} if none.
- */
-public CollectRequest getCollectRequest()
-{
-return collectRequest;
-}
-
-/**
- * Sets the collect request used to calculate the dependency graph whose
artifacts should be resolved. Eventually,
- * either {@link
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
--
diff --git
a/aether-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
b/aether-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
deleted file mode 100644
index d9c2527..000
--- a/aether-api/src/main/java/org/eclipse/aether/collection/CollectRequest.java
+++ /dev/null
@@ -1,356 +0,0 @@
-package org.eclipse.aether.collection;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * A request to collect the transitive dependencies and to build a dependency
graph from them. There are three ways to
- * create a dependency graph. First, only the root dependency can be given.
Second, a root dependency and direct
- * dependencies can be specified in which case the specified direct
dependencies are merged with the direct dependencies
- * retrieved from the artifact descriptor of the root dependency. And last,
only direct dependencies can be specified in
- * which case the root node of the resulting graph has no associated
dependency.
- *
- * @see RepositorySystem#collectDependencies(RepositorySystemSession,
CollectRequest)
- */
-public final class CollectRequest
-{
-
-private Artifact rootArtifact;
-
-private Dependency root;
-
-private List dependencies = Collections.emptyList();
-
-private List managedDependencies = Collections.emptyList();
-
-private List repositories = Collections.emptyList();
-
-private String context = "";
-
-private RequestTrace trace;
-
-/**
- * Creates an uninitialized request.
- */
-public CollectRequest()
-{
-// enables default constructor
-}
-
-/**
- * Creates a request with the specified properties.
- *
- * @param root The root dependency whose transitive dependencies should be
collected, may be {@code null}.
- * @param repositories The repositories to use for the collection, may be
{@code null}.
- */
-public CollectRequest( Dependency root, List
repositories )
-{
-setRoot( root );
-setRepositories( repositories );
-}
-
-/**
- * Creates a new request with the specified properties.
- *
- * @param root The root dependency whose transitive dependencies should be
collected, may be {@code null}.
- * @param dependencies The direct dependencies to merge with the direct
dependencies from the root dependency's
- *artifact descriptor.
- * @param repositories The repositories to use for the collection, may be
{@code null}.
- */
-public CollectRequest( Dependency root, List dependencies,
List repositories )
-{
-setRoot( root );
-setDependencies( dependencies );
-setRepositories( repositories );
-}
-
-/**
- * Creates a new request with the specified properties.
- *
- * @param dependencies The direct dependencies of some imaginary root, may
be {@code null}.
- * @param managedDependencies The dependency management information to
apply to the transitive dependencies, may be
- *{@code null}.
- * @param repositories The repositories to use for the collection, may be
{@code null}.
- */
-public CollectRequest( List dependencies, List
managedDependencies,
- List repositories )
-{
-setDependencies( dependencies );
-setManagedDependencies( managedDependencies );
-setRepositories( repositories );
-}
-
-/**
- * Gets the root artifact for the dependency graph.
- *
- * @return The root artifact for the dependency graph or {@code null} if
none.
- */
-public Artifact getRootArtifact()
-
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/main/java/org/eclipse/aether/util/artifact/SubArtifact.java
--
diff --git
a/aether-util/src/main/java/org/eclipse/aether/util/artifact/SubArtifact.java
b/aether-util/src/main/java/org/eclipse/aether/util/artifact/SubArtifact.java
deleted file mode 100644
index ed4d55b..000
---
a/aether-util/src/main/java/org/eclipse/aether/util/artifact/SubArtifact.java
+++ /dev/null
@@ -1,233 +0,0 @@
-package org.eclipse.aether.util.artifact;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.io.File;
-import java.util.Map;
-
-import org.eclipse.aether.artifact.AbstractArtifact;
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * An artifact whose identity is derived from another artifact. Note:
Instances of this class are immutable and
- * the exposed mutators return new objects rather than changing the current
instance.
- */
-public final class SubArtifact
-extends AbstractArtifact
-{
-
-private final Artifact mainArtifact;
-
-private final String classifier;
-
-private final String extension;
-
-private final File file;
-
-private final Map properties;
-
-/**
- * Creates a new sub artifact. The classifier and extension specified for
this artifact may use the asterisk
- * character "*" to refer to the corresponding property of the main
artifact. For instance, the classifier
- * "*-sources" can be used to refer to the source attachment of an
artifact. Likewise, the extension "*.asc" can be
- * used to refer to the GPG signature of an artifact.
- *
- * @param mainArtifact The artifact from which to derive the identity,
must not be {@code null}.
- * @param classifier The classifier for this artifact, may be {@code null}
if none.
- * @param extension The extension for this artifact, may be {@code null}
if none.
- */
-public SubArtifact( Artifact mainArtifact, String classifier, String
extension )
-{
-this( mainArtifact, classifier, extension, (File) null );
-}
-
-/**
- * Creates a new sub artifact. The classifier and extension specified for
this artifact may use the asterisk
- * character "*" to refer to the corresponding property of the main
artifact. For instance, the classifier
- * "*-sources" can be used to refer to the source attachment of an
artifact. Likewise, the extension "*.asc" can be
- * used to refer to the GPG signature of an artifact.
- *
- * @param mainArtifact The artifact from which to derive the identity,
must not be {@code null}.
- * @param classifier The classifier for this artifact, may be {@code null}
if none.
- * @param extension The extension for this artifact, may be {@code null}
if none.
- * @param file The file for this artifact, may be {@code null} if
unresolved.
- */
-public SubArtifact( Artifact mainArtifact, String classifier, String
extension, File file )
-{
-this( mainArtifact, classifier, extension, null, file );
-}
-
-/**
- * Creates a new sub artifact. The classifier and extension specified for
this artifact may use the asterisk
- * character "*" to refer to the corresponding property of the main
artifact. For instance, the classifier
- * "*-sources" can be used to refer to the source attachment of an
artifact. Likewise, the extension "*.asc" can be
- * used to refer to the GPG signature of an artifact.
- *
- * @param mainArtifact The artifact from which to derive the identity,
must not be {@code null}.
- * @param classifier The classifier for this artifact, may be {@code null}
if none.
- * @param extension The extension for this artifact, may be {@code null}
if none.
- * @param properties The properties of the artifact, may be {@code null}.
- */
-public SubArtifact( Artifact mainArtifact, String classifier, String
extension, Map properties )
-{
-this( mainArtifact, classifier, extension, properties, null );
-}
-
-/**
- * Creates a new sub artifact. The classifier and
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
--
diff --git
a/aether-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
b/aether-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
deleted file mode 100644
index bc69e85..000
---
a/aether-util/src/main/java/org/eclipse/aether/util/repository/AuthenticationBuilder.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.aether.util.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.ArrayList;
-import java.util.List;
-
-import javax.net.ssl.HostnameVerifier;
-
-import org.eclipse.aether.repository.Authentication;
-import org.eclipse.aether.repository.AuthenticationContext;
-
-/**
- * A utility class to build authentication info for repositories and proxies.
- */
-public final class AuthenticationBuilder
-{
-
-private final List authentications;
-
-/**
- * Creates a new authentication builder.
- */
-public AuthenticationBuilder()
-{
-authentications = new ArrayList();
-}
-
-/**
- * Builds a new authentication object from the current data of this
builder. The state of the builder itself remains
- * unchanged.
- *
- * @return The authentication or {@code null} if no authentication data
was supplied to the builder.
- */
-public Authentication build()
-{
-if ( authentications.isEmpty() )
-{
-return null;
-}
-if ( authentications.size() == 1 )
-{
-return authentications.get( 0 );
-}
-return new ChainedAuthentication( authentications );
-}
-
-/**
- * Adds username data to the authentication.
- *
- * @param username The username, may be {@code null}.
- * @return This builder for chaining, never {@code null}.
- */
-public AuthenticationBuilder addUsername( String username )
-{
-return addString( AuthenticationContext.USERNAME, username );
-}
-
-/**
- * Adds password data to the authentication.
- *
- * @param password The password, may be {@code null}.
- * @return This builder for chaining, never {@code null}.
- */
-public AuthenticationBuilder addPassword( String password )
-{
-return addSecret( AuthenticationContext.PASSWORD, password );
-}
-
-/**
- * Adds password data to the authentication. The resulting authentication
object uses an encrypted copy of the
- * supplied character data and callers are advised to clear the input
array soon after this method returns.
- *
- * @param password The password, may be {@code null}.
- * @return This builder for chaining, never {@code null}.
- */
-public AuthenticationBuilder addPassword( char[] password )
-{
-return addSecret( AuthenticationContext.PASSWORD, password );
-}
-
-/**
- * Adds NTLM data to the authentication.
- *
- * @param workstation The NTLM workstation name, may be {@code null}.
- * @param domain The NTLM domain name, may be {@code null}.
- * @return This builder for chaining, never {@code null}.
- */
-public AuthenticationBuilder addNtlm( String workstation, String domain )
-{
-addString( AuthenticationContext.NTLM_WORKSTATION, workstation );
-return addString( AuthenticationContext.NTLM_DOMAIN, domain );
-}
-
-/**
- * Adds private key data to the authentication.
- *
- * @param pathname The (absolute) path to the private key file, may be
{@code null}.
- * @param passphrase The passphrase protecting the private key, may be
{@code null}.
- * @return This builder for chaining, never {@code null}.
- */
-public AuthenticationBuilder addPrivateKey( String pathname, String
passphrase )
-{
-if ( pathname != null )
-{
-addString( AuthenticationContext.PRIVATE_KEY_PATH, pathname );
-addSecret( AuthenticationContext.PRIVATE_KEY_PASSPHRASE,
passphrase );
-
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/transfer/ChecksumFailureException.java
--
diff --git
a/aether-api/src/main/java/org/eclipse/aether/transfer/ChecksumFailureException.java
b/aether-api/src/main/java/org/eclipse/aether/transfer/ChecksumFailureException.java
deleted file mode 100644
index 1dbc6b0..000
---
a/aether-api/src/main/java/org/eclipse/aether/transfer/ChecksumFailureException.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package org.eclipse.aether.transfer;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.eclipse.aether.RepositoryException;
-
-/**
- * Thrown in case of a checksum failure during an artifact/metadata download.
- */
-public class ChecksumFailureException
-extends RepositoryException
-{
-
-private final String expected;
-
-private final String actual;
-
-private final boolean retryWorthy;
-
-/**
- * Creates a new exception with the specified expected and actual
checksum. The resulting exception is
- * {@link #isRetryWorthy() retry-worthy}.
- *
- * @param expected The expected checksum as declared by the hosting
repository, may be {@code null}.
- * @param actual The actual checksum as computed from the local bytes, may
be {@code null}.
- */
-public ChecksumFailureException( String expected, String actual )
-{
-super( "Checksum validation failed, expected " + expected + " but is "
+ actual );
-this.expected = expected;
-this.actual = actual;
-retryWorthy = true;
-}
-
-/**
- * Creates a new exception with the specified detail message. The
resulting exception is not
- * {@link #isRetryWorthy() retry-worthy}.
- *
- * @param message The detail message, may be {@code null}.
- */
-public ChecksumFailureException( String message )
-{
-this( false, message, null );
-}
-
-/**
- * Creates a new exception with the specified cause. The resulting
exception is not {@link #isRetryWorthy()
- * retry-worthy}.
- *
- * @param cause The exception that caused this one, may be {@code null}.
- */
-public ChecksumFailureException( Throwable cause )
-{
-this( "Checksum validation failed" + getMessage( ": ", cause ), cause
);
-}
-
-/**
- * Creates a new exception with the specified detail message and cause.
The resulting exception is not
- * {@link #isRetryWorthy() retry-worthy}.
- *
- * @param message The detail message, may be {@code null}.
- * @param cause The exception that caused this one, may be {@code null}.
- */
-public ChecksumFailureException( String message, Throwable cause )
-{
-this( false, message, cause );
-}
-
-/**
- * Creates a new exception with the specified retry flag, detail message
and cause.
- *
- * @param retryWorthy {@code true} if the exception is retry-worthy,
{@code false} otherwise.
- * @param message The detail message, may be {@code null}.
- * @param cause The exception that caused this one, may be {@code null}.
- */
-public ChecksumFailureException( boolean retryWorthy, String message,
Throwable cause )
-{
-super( message, cause );
-expected = actual = "";
-this.retryWorthy = retryWorthy;
-}
-
-/**
- * Gets the expected checksum for the downloaded artifact/metadata.
- *
- * @return The expected checksum as declared by the hosting repository or
{@code null} if unknown.
- */
-public String getExpected()
-{
-return expected;
-}
-
-/**
- * Gets the actual checksum for the downloaded artifact/metadata.
- *
- * @return The actual checksum as computed from the local bytes or {@code
null} if unknown.
- */
-public String getActual()
-{
-return actual;
-}
-
-/**
- * Indicates whether the corresponding download is retry-worthy.
- *
- * @return {@code true} if retrying the download might solve the checksum
failure, {@code false} if the checksum
- * failure is
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
--
diff --git
a/aether-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
b/aether-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
deleted file mode 100644
index bd248a0..000
---
a/aether-api/src/main/java/org/eclipse/aether/repository/AuthenticationContext.java
+++ /dev/null
@@ -1,389 +0,0 @@
-package org.eclipse.aether.repository;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.io.Closeable;
-import java.io.File;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.aether.RepositorySystemSession;
-
-/**
- * A glorified map of key value pairs holding (cleartext) authentication data.
Authentication contexts are used
- * internally when network operations need to access secured repositories or
proxies. Each authentication context
- * manages the credentials required to access a single host. Unlike {@link
Authentication} callbacks which exist for a
- * potentially long time like the duration of a repository system session, an
authentication context has a supposedly
- * short lifetime and should be {@link #close() closed} as soon as the
corresponding network operation has finished:
- *
- *
- * AuthenticationContext context = AuthenticationContext.forRepository(
session, repository );
- * try {
- * // get credentials
- * char[] password = context.get( AuthenticationContext.PASSWORD,
char[].class );
- * // perform network operation using retrieved credentials
- * ...
- * } finally {
- * // erase confidential authentication data from heap memory
- * AuthenticationContext.close( context );
- * }
- *
- *
- * The same authentication data can often be presented using different data
types, e.g. a password can be presented
- * using a character array or (less securely) using a string. For ease of use,
an authentication context treats the
- * following groups of data types as equivalent and converts values
automatically during retrieval:
- *
- * {@code String}, {@code char[]}
- * {@code String}, {@code File}
- *
- * An authentication context is thread-safe.
- */
-public final class AuthenticationContext
-implements Closeable
-{
-
-/**
- * The key used to store the username. The corresponding authentication
data should be of type {@link String}.
- */
-public static final String USERNAME = "username";
-
-/**
- * The key used to store the password. The corresponding authentication
data should be of type {@code char[]} or
- * {@link String}.
- */
-public static final String PASSWORD = "password";
-
-/**
- * The key used to store the NTLM domain. The corresponding authentication
data should be of type {@link String}.
- */
-public static final String NTLM_DOMAIN = "ntlm.domain";
-
-/**
- * The key used to store the NTML workstation. The corresponding
authentication data should be of type
- * {@link String}.
- */
-public static final String NTLM_WORKSTATION = "ntlm.workstation";
-
-/**
- * The key used to store the pathname to a private key file. The
corresponding authentication data should be of type
- * {@link String} or {@link File}.
- */
-public static final String PRIVATE_KEY_PATH = "privateKey.path";
-
-/**
- * The key used to store the passphrase protecting the private key. The
corresponding authentication data should be
- * of type {@code char[]} or {@link String}.
- */
-public static final String PRIVATE_KEY_PASSPHRASE =
"privateKey.passphrase";
-
-/**
- * The key used to store the acceptance policy for unknown host keys. The
corresponding authentication data should
- * be of type {@link Boolean}. When querying this authentication data, the
extra data should provide
- * {@link #HOST_KEY_REMOTE} and {@link #HOST_KEY_LOCAL}, e.g. to enable a
well-founded decision of the user during
- * an interactive prompt.
- */
-public static
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
--
diff --git
a/aether-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
b/aether-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
deleted file mode 100644
index f2a7e38..000
---
a/aether-util/src/main/java/org/eclipse/aether/util/graph/selector/AndDependencySelector.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package org.eclipse.aether.util.graph.selector;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencySelector;
-import org.eclipse.aether.graph.Dependency;
-
-/**
- * A dependency selector that combines zero or more other selectors using a
logical {@code AND}. The resulting selector
- * selects a given dependency if and only if all constituent selectors do so.
- */
-public final class AndDependencySelector
-implements DependencySelector
-{
-
-private final Set selectors;
-
-private int hashCode;
-
-/**
- * Creates a new selector from the specified selectors. Prefer
- * {@link #newInstance(DependencySelector, DependencySelector)} if any of
the input selectors might be {@code null}.
- *
- * @param selectors The selectors to combine, may be {@code null} but must
not contain {@code null} elements.
- */
-public AndDependencySelector( DependencySelector... selectors )
-{
-if ( selectors != null && selectors.length > 0 )
-{
-this.selectors = new LinkedHashSet(
Arrays.asList( selectors ) );
-}
-else
-{
-this.selectors = Collections.emptySet();
-}
-}
-
-/**
- * Creates a new selector from the specified selectors.
- *
- * @param selectors The selectors to combine, may be {@code null} but must
not contain {@code null} elements.
- */
-public AndDependencySelector( Collection
selectors )
-{
-if ( selectors != null && !selectors.isEmpty() )
-{
-this.selectors = new LinkedHashSet( selectors
);
-}
-else
-{
-this.selectors = Collections.emptySet();
-}
-}
-
-private AndDependencySelector( Set selectors )
-{
-if ( selectors != null && !selectors.isEmpty() )
-{
-this.selectors = selectors;
-}
-else
-{
-this.selectors = Collections.emptySet();
-}
-}
-
-/**
- * Creates a new selector from the specified selectors.
- *
- * @param selector1 The first selector to combine, may be {@code null}.
- * @param selector2 The second selector to combine, may be {@code null}.
- * @return The combined selector or {@code null} if both selectors were
{@code null}.
- */
-public static DependencySelector newInstance( DependencySelector
selector1, DependencySelector selector2 )
-{
-if ( selector1 == null )
-{
-return selector2;
-}
-else if ( selector2 == null || selector2.equals( selector1 ) )
-{
-return selector1;
-}
-return new AndDependencySelector( selector1, selector2 );
-}
-
-public boolean selectDependency( Dependency dependency )
-{
-for ( DependencySelector selector : selectors )
-{
-if ( !selector.selectDependency( dependency ) )
-{
-return false;
-}
-}
-return true;
-}
-
-public DependencySelector deriveChildSelector( DependencyCollectionContext
context )
-{
-int seen = 0;
-Set childSelectors = null;
-
-for ( DependencySelector selector : selectors )
-{
-DependencySelector childSelector = selector.deriveChildSelector(
context );
-
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
--
diff --git
a/aether-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
b/aether-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
deleted file mode 100644
index 27f2285..000
---
a/aether-connector-basic/src/main/java/org/eclipse/aether/connector/basic/BasicRepositoryConnector.java
+++ /dev/null
@@ -1,595 +0,0 @@
-package org.eclipse.aether.connector.basic;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.aether.ConfigurationProperties;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.RequestTrace;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.spi.connector.ArtifactDownload;
-import org.eclipse.aether.spi.connector.ArtifactUpload;
-import org.eclipse.aether.spi.connector.MetadataDownload;
-import org.eclipse.aether.spi.connector.MetadataUpload;
-import org.eclipse.aether.spi.connector.RepositoryConnector;
-import org.eclipse.aether.spi.connector.checksum.ChecksumPolicy;
-import org.eclipse.aether.spi.connector.checksum.ChecksumPolicyProvider;
-import org.eclipse.aether.spi.connector.layout.RepositoryLayout;
-import org.eclipse.aether.spi.connector.layout.RepositoryLayoutProvider;
-import org.eclipse.aether.spi.connector.transport.GetTask;
-import org.eclipse.aether.spi.connector.transport.PeekTask;
-import org.eclipse.aether.spi.connector.transport.PutTask;
-import org.eclipse.aether.spi.connector.transport.Transporter;
-import org.eclipse.aether.spi.connector.transport.TransporterProvider;
-import org.eclipse.aether.spi.io.FileProcessor;
-import org.eclipse.aether.spi.log.Logger;
-import org.eclipse.aether.transfer.ChecksumFailureException;
-import org.eclipse.aether.transfer.NoRepositoryConnectorException;
-import org.eclipse.aether.transfer.NoRepositoryLayoutException;
-import org.eclipse.aether.transfer.NoTransporterException;
-import org.eclipse.aether.transfer.TransferEvent;
-import org.eclipse.aether.transfer.TransferResource;
-import org.eclipse.aether.util.ChecksumUtils;
-import org.eclipse.aether.util.ConfigUtils;
-import org.eclipse.aether.util.concurrency.RunnableErrorForwarder;
-import org.eclipse.aether.util.concurrency.WorkerThreadFactory;
-
-/**
- */
-final class BasicRepositoryConnector
-implements RepositoryConnector
-{
-
-private static final String CONFIG_PROP_THREADS =
"aether.connector.basic.threads";
-
-private static final String CONFIG_PROP_RESUME =
"aether.connector.resumeDownloads";
-
-private static final String CONFIG_PROP_RESUME_THRESHOLD =
"aether.connector.resumeThreshold";
-
-private static final String CONFIG_PROP_SMART_CHECKSUMS =
"aether.connector.smartChecksums";
-
-private final Logger logger;
-
-private final FileProcessor fileProcessor;
-
-private final RemoteRepository repository;
-
-private final RepositorySystemSession session;
-
-private final Transporter transporter;
-
-private final RepositoryLayout layout;
-
-private final ChecksumPolicyProvider checksumPolicyProvider;
-
-private final PartialFile.Factory partialFileFactory;
-
-private final int maxThreads;
-
-private final boolean smartChecksums;
-
-private final boolean persistedChecksums;
-
-private Executor executor;
-
-private boolean closed;
-
-public BasicRepositoryConnector( RepositorySystemSession session,
RemoteRepository repository,
- TransporterProvider
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-impl/src/main/java/org/eclipse/aether/impl/SyncContextFactory.java
--
diff --git
a/aether-impl/src/main/java/org/eclipse/aether/impl/SyncContextFactory.java
b/aether-impl/src/main/java/org/eclipse/aether/impl/SyncContextFactory.java
deleted file mode 100644
index 95086d1..000
--- a/aether-impl/src/main/java/org/eclipse/aether/impl/SyncContextFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.aether.impl;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.SyncContext;
-
-/**
- * A factory to create synchronization contexts. A synchronization context is
used to coordinate concurrent access to
- * artifacts or metadata.
- *
- * @provisional This type is provisional and can be changed, moved or removed
without prior notice.
- */
-public interface SyncContextFactory
-{
-
-/**
- * Creates a new synchronization context.
- *
- * @param session The repository session during which the context will be
used, must not be {@code null}.
- * @param shared A flag indicating whether access to the
artifacts/metadata associated with the new context can be
- *shared among concurrent readers or whether access needs to
be exclusive to the calling thread.
- * @return The synchronization context, never {@code null}.
- * @see RepositorySystem#newSyncContext(RepositorySystemSession, boolean)
- */
-SyncContext newInstance( RepositorySystemSession session, boolean shared );
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-impl/src/main/java/org/eclipse/aether/impl/UpdateCheck.java
--
diff --git a/aether-impl/src/main/java/org/eclipse/aether/impl/UpdateCheck.java
b/aether-impl/src/main/java/org/eclipse/aether/impl/UpdateCheck.java
deleted file mode 100644
index b77d2bc..000
--- a/aether-impl/src/main/java/org/eclipse/aether/impl/UpdateCheck.java
+++ /dev/null
@@ -1,285 +0,0 @@
-package org.eclipse.aether.impl;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.io.File;
-
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.repository.RemoteRepository;
-
-/**
- * A request to check if an update of an artifact/metadata from a remote
repository is needed.
- *
- * @param
- * @param
- * @see UpdateCheckManager
- * @provisional This type is provisional and can be changed, moved or removed
without prior notice.
- */
-public final class UpdateCheck
-{
-
-private long localLastUpdated;
-
-private T item;
-
-private File file;
-
-private boolean fileValid = true;
-
-private String policy;
-
-private RemoteRepository repository;
-
-private RemoteRepository authoritativeRepository;
-
-private boolean required;
-
-private E exception;
-
-/**
- * Creates an uninitialized update check request.
- */
-public UpdateCheck()
-{
-}
-
-/**
- * Gets the last-modified timestamp of the corresponding item produced by
a local installation. If non-zero, a
- * remote update will be surpressed if the local item is up-to-date, even
if the remote
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/pom.xml
--
diff --git a/aether-api/pom.xml b/aether-api/pom.xml
deleted file mode 100644
index 949aae9..000
--- a/aether-api/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-http://maven.apache.org/POM/4.0.0;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance;
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd;>
- 4.0.0
-
-
-org.apache.maven.aether
-aether
-1.0.3-SNAPSHOT
-
-
- aether-api
-
- Aether API
-
-The application programming interface for the repository system.
-
-
-
-
- junit
- junit
- test
-
-
- org.hamcrest
- hamcrest-library
- test
-
-
-
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/AbstractForwardingRepositorySystemSession.java
--
diff --git
a/aether-api/src/main/java/org/eclipse/aether/AbstractForwardingRepositorySystemSession.java
b/aether-api/src/main/java/org/eclipse/aether/AbstractForwardingRepositorySystemSession.java
deleted file mode 100644
index 20df431..000
---
a/aether-api/src/main/java/org/eclipse/aether/AbstractForwardingRepositorySystemSession.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.aether;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.Map;
-
-import org.eclipse.aether.artifact.ArtifactTypeRegistry;
-import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.collection.DependencyManager;
-import org.eclipse.aether.collection.DependencySelector;
-import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.repository.AuthenticationSelector;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.LocalRepositoryManager;
-import org.eclipse.aether.repository.MirrorSelector;
-import org.eclipse.aether.repository.ProxySelector;
-import org.eclipse.aether.repository.WorkspaceReader;
-import org.eclipse.aether.resolution.ArtifactDescriptorPolicy;
-import org.eclipse.aether.resolution.ResolutionErrorPolicy;
-import org.eclipse.aether.transfer.TransferListener;
-
-/**
- * A special repository system session to enable decorating or proxying
another session. To do so, clients have to
- * create a subclass and implement {@link #getSession()}.
- */
-public abstract class AbstractForwardingRepositorySystemSession
-implements RepositorySystemSession
-{
-
-/**
- * Creates a new forwarding session.
- */
-protected AbstractForwardingRepositorySystemSession()
-{
-}
-
-/**
- * Gets the repository system session to which this instance forwards
calls. It's worth noting that this class does
- * not save/cache the returned reference but queries this method before
each forwarding. Hence, the session
- * forwarded to may change over time or depending on the context (e.g.
calling thread).
- *
- * @return The repository system session to forward calls to, never {@code
null}.
- */
-protected abstract RepositorySystemSession getSession();
-
-public boolean isOffline()
-{
-return getSession().isOffline();
-}
-
-public boolean isIgnoreArtifactDescriptorRepositories()
-{
-return getSession().isIgnoreArtifactDescriptorRepositories();
-}
-
-public ResolutionErrorPolicy getResolutionErrorPolicy()
-{
-return getSession().getResolutionErrorPolicy();
-}
-
-public ArtifactDescriptorPolicy getArtifactDescriptorPolicy()
-{
-return getSession().getArtifactDescriptorPolicy();
-}
-
-public String getChecksumPolicy()
-{
-return getSession().getChecksumPolicy();
-}
-
-public String getUpdatePolicy()
-{
-return getSession().getUpdatePolicy();
-}
-
-public LocalRepository getLocalRepository()
-{
-return getSession().getLocalRepository();
-}
-
-public
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/RepositorySystem.java
--
diff --git a/aether-api/src/main/java/org/eclipse/aether/RepositorySystem.java
b/aether-api/src/main/java/org/eclipse/aether/RepositorySystem.java
deleted file mode 100644
index 8706f89..000
--- a/aether-api/src/main/java/org/eclipse/aether/RepositorySystem.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package org.eclipse.aether;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.Collection;
-import java.util.List;
-
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.collection.CollectResult;
-import org.eclipse.aether.collection.DependencyCollectionException;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.deployment.DeployResult;
-import org.eclipse.aether.deployment.DeploymentException;
-import org.eclipse.aether.installation.InstallRequest;
-import org.eclipse.aether.installation.InstallResult;
-import org.eclipse.aether.installation.InstallationException;
-import org.eclipse.aether.metadata.Metadata;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.LocalRepositoryManager;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.resolution.ArtifactDescriptorException;
-import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
-import org.eclipse.aether.resolution.ArtifactDescriptorResult;
-import org.eclipse.aether.resolution.ArtifactRequest;
-import org.eclipse.aether.resolution.ArtifactResolutionException;
-import org.eclipse.aether.resolution.ArtifactResult;
-import org.eclipse.aether.resolution.DependencyRequest;
-import org.eclipse.aether.resolution.DependencyResolutionException;
-import org.eclipse.aether.resolution.DependencyResult;
-import org.eclipse.aether.resolution.MetadataRequest;
-import org.eclipse.aether.resolution.MetadataResult;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResolutionException;
-import org.eclipse.aether.resolution.VersionRangeResult;
-import org.eclipse.aether.resolution.VersionRequest;
-import org.eclipse.aether.resolution.VersionResolutionException;
-import org.eclipse.aether.resolution.VersionResult;
-
-/**
- * The main entry point to the repository system and its functionality. Note
that obtaining a concrete implementation of
- * this interface (e.g. via dependency injection, service locator, etc.) is
dependent on the application and its
- * specific needs, please consult the online documentation for examples and
directions on booting the system.
- *
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface RepositorySystem
-{
-
-/**
- * Expands a version range to a list of matching versions, in ascending
order. For example, resolves "[3.8,4.0)" to
- * "3.8", "3.8.1", "3.8.2". Note that the returned list of versions is
only dependent on the configured repositories
- * and their contents, the list is not processed by the {@link
RepositorySystemSession#getVersionFilter() session's
- * version filter}.
- *
- * The supplied request may also refer to a single concrete version rather
than a version range. In this case
- * though, the result contains simply the (parsed) input version,
regardless of the repositories and their contents.
- *
- * @param session The repository session, must not be {@code null}.
- * @param request The version range request, must not be {@code null}.
- * @return The version range result, never {@code null}.
- * @throws VersionRangeResolutionException If the requested range could
not be parsed. Note that an empty range does
- * not raise an exception.
- * @see #newResolutionRepositories(RepositorySystemSession, List)
- */
-VersionRangeResult resolveVersionRange( RepositorySystemSession session,
VersionRangeRequest
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-impl/src/main/java/org/eclipse/aether/internal/impl/package-info.java
--
diff --git
a/aether-impl/src/main/java/org/eclipse/aether/internal/impl/package-info.java
b/aether-impl/src/main/java/org/eclipse/aether/internal/impl/package-info.java
deleted file mode 100644
index 813b21d..000
---
a/aether-impl/src/main/java/org/eclipse/aether/internal/impl/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
- */
-/**
- * The various sub components that collectively implement the repository
system.
- */
-package org.eclipse.aether.internal.impl;
-
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
--
diff --git
a/aether-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
b/aether-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
deleted file mode 100644
index 840fe21..000
---
a/aether-impl/src/main/java/org/eclipse/aether/internal/impl/slf4j/Slf4jLoggerFactory.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package org.eclipse.aether.internal.impl.slf4j;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 javax.inject.Inject;
-import javax.inject.Named;
-
-import org.eclipse.aether.spi.locator.Service;
-import org.eclipse.aether.spi.locator.ServiceLocator;
-import org.eclipse.aether.spi.log.Logger;
-import org.eclipse.aether.spi.log.LoggerFactory;
-import org.eclipse.sisu.Nullable;
-import org.slf4j.ILoggerFactory;
-import org.slf4j.spi.LocationAwareLogger;
-
-/**
- * A logger factory that delegates to http://www.slf4j.org/;
target="_blank">SLF4J logging.
- */
-@Named( "slf4j" )
-public class Slf4jLoggerFactory
-implements LoggerFactory, Service
-{
-
-private static final boolean AVAILABLE;
-
-static
-{
-boolean available;
-try
-{
-Slf4jLoggerFactory.class.getClassLoader().loadClass(
"org.slf4j.ILoggerFactory" );
-available = true;
-}
-catch ( Exception e )
-{
-available = false;
-}
-catch ( LinkageError e )
-{
-available = false;
-}
-AVAILABLE = available;
-}
-
-public static boolean isSlf4jAvailable()
-{
-return AVAILABLE;
-}
-
-private ILoggerFactory factory;
-
-/**
- * Creates an instance of this logger factory.
- */
-public Slf4jLoggerFactory()
-{
-// enables no-arg constructor
-}
-
-@Inject
-Slf4jLoggerFactory( @Nullable ILoggerFactory factory )
-{
-setLoggerFactory( factory );
-}
-
-public void initService( ServiceLocator locator )
-{
-setLoggerFactory( locator.getService( ILoggerFactory.class ) );
-}
-
-public Slf4jLoggerFactory setLoggerFactory( ILoggerFactory factory )
-{
-this.factory = factory;
-return this;
-}
-
-public Logger getLogger( String name )
-{
-org.slf4j.Logger logger = getFactory().getLogger( name );
-if ( logger instanceof LocationAwareLogger )
-{
-return new Slf4jLoggerEx(
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/DefaultMetadata.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/DefaultMetadata.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/DefaultMetadata.java
new file mode 100644
index 000..1efbb72
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/metadata/DefaultMetadata.java
@@ -0,0 +1,192 @@
+package org.eclipse.aether.metadata;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.io.File;
+import java.util.Map;
+
+/**
+ * A basic metadata instance. Note: Instances of this class are
immutable and the exposed mutators return new
+ * objects rather than changing the current instance.
+ */
+public final class DefaultMetadata
+extends AbstractMetadata
+{
+
+private final String groupId;
+
+private final String artifactId;
+
+private final String version;
+
+private final String type;
+
+private final Nature nature;
+
+private final File file;
+
+private final Map properties;
+
+/**
+ * Creates a new metadata for the repository root with the specific type
and nature.
+ *
+ * @param type The type of the metadata, e.g. "maven-metadata.xml", may be
{@code null}.
+ * @param nature The nature of the metadata, must not be {@code null}.
+ */
+public DefaultMetadata( String type, Nature nature )
+{
+this( "", "", "", type, nature, null, (File) null );
+}
+
+/**
+ * Creates a new metadata for the groupId level with the specific type and
nature.
+ *
+ * @param groupId The group identifier to which this metadata applies, may
be {@code null}.
+ * @param type The type of the metadata, e.g. "maven-metadata.xml", may be
{@code null}.
+ * @param nature The nature of the metadata, must not be {@code null}.
+ */
+public DefaultMetadata( String groupId, String type, Nature nature )
+{
+this( groupId, "", "", type, nature, null, (File) null );
+}
+
+/**
+ * Creates a new metadata for the groupId:artifactId level with the
specific type and nature.
+ *
+ * @param groupId The group identifier to which this metadata applies, may
be {@code null}.
+ * @param artifactId The artifact identifier to which this metadata
applies, may be {@code null}.
+ * @param type The type of the metadata, e.g. "maven-metadata.xml", may be
{@code null}.
+ * @param nature The nature of the metadata, must not be {@code null}.
+ */
+public DefaultMetadata( String groupId, String artifactId, String type,
Nature nature )
+{
+this( groupId, artifactId, "", type, nature, null, (File) null );
+}
+
+/**
+ * Creates a new metadata for the groupId:artifactId:version level with
the specific type and nature.
+ *
+ * @param groupId The group identifier to which this metadata applies, may
be {@code null}.
+ * @param artifactId The artifact identifier to which this metadata
applies, may be {@code null}.
+ * @param version The version to which this metadata applies, may be
{@code null}.
+ * @param type The type of the metadata, e.g. "maven-metadata.xml", may be
{@code null}.
+ * @param nature The nature of the metadata, must not be {@code null}.
+ */
+public DefaultMetadata( String groupId, String artifactId, String version,
String type, Nature nature )
+{
+this( groupId, artifactId, version, type, nature, null, (File) null );
+}
+
+/**
+ * Creates a new metadata for the groupId:artifactId:version level with
the specific type and nature.
+ *
+ * @param groupId The group identifier to which this metadata applies, may
be {@code null}.
+ * @param artifactId The artifact identifier to which this metadata
applies, may be {@code null}.
+ * @param version The version to which this metadata applies, may be
{@code null}.
+ * @param type The type of the metadata, e.g. "maven-metadata.xml", may be
{@code null}.
+ * @param nature The
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-util/src/main/java/org/eclipse/aether/util/version/GenericVersionRange.java
--
diff --git
a/aether-util/src/main/java/org/eclipse/aether/util/version/GenericVersionRange.java
b/aether-util/src/main/java/org/eclipse/aether/util/version/GenericVersionRange.java
deleted file mode 100644
index 832dd94..000
---
a/aether-util/src/main/java/org/eclipse/aether/util/version/GenericVersionRange.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package org.eclipse.aether.util.version;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.eclipse.aether.version.InvalidVersionSpecificationException;
-import org.eclipse.aether.version.Version;
-import org.eclipse.aether.version.VersionRange;
-
-/**
- * A version range inspired by mathematical range syntax. For example,
"[1.0,2.0)", "[1.0,)" or "[1.0]".
- */
-final class GenericVersionRange
-implements VersionRange
-{
-
-private final Bound lowerBound;
-
-private final Bound upperBound;
-
-/**
- * Creates a version range from the specified range specification.
- *
- * @param range The range specification to parse, must not be {@code null}.
- * @throws InvalidVersionSpecificationException If the range could not be
parsed.
- */
-public GenericVersionRange( String range )
-throws InvalidVersionSpecificationException
-{
-String process = range;
-
-boolean lowerBoundInclusive, upperBoundInclusive;
-Version lowerBound, upperBound;
-
-if ( range.startsWith( "[" ) )
-{
-lowerBoundInclusive = true;
-}
-else if ( range.startsWith( "(" ) )
-{
-lowerBoundInclusive = false;
-}
-else
-{
-throw new InvalidVersionSpecificationException( range, "Invalid
version range " + range
-+ ", a range must start with either [ or (" );
-}
-
-if ( range.endsWith( "]" ) )
-{
-upperBoundInclusive = true;
-}
-else if ( range.endsWith( ")" ) )
-{
-upperBoundInclusive = false;
-}
-else
-{
-throw new InvalidVersionSpecificationException( range, "Invalid
version range " + range
-+ ", a range must end with either [ or (" );
-}
-
-process = process.substring( 1, process.length() - 1 );
-
-int index = process.indexOf( "," );
-
-if ( index < 0 )
-{
-if ( !lowerBoundInclusive || !upperBoundInclusive )
-{
-throw new InvalidVersionSpecificationException( range,
"Invalid version range " + range
-+ ", single version must be surrounded by []" );
-}
-
-String version = process.trim();
-if ( version.endsWith( ".*" ) )
-{
-String prefix = version.substring( 0, version.length() - 1 );
-lowerBound = parse( prefix + "min" );
-upperBound = parse( prefix + "max" );
-}
-else
-{
-lowerBound = upperBound = parse( version );
-}
-}
-else
-{
-String parsedLowerBound = process.substring( 0, index ).trim();
-String parsedUpperBound = process.substring( index + 1 ).trim();
-
-// more than two bounds, e.g. (1,2,3)
-if ( parsedUpperBound.contains( "," ) )
-{
-throw new InvalidVersionSpecificationException( range,
"Invalid version range " + range
-+ ", bounds may not contain additional ','" );
-}
-
-lowerBound = parsedLowerBound.length() > 0 ? parse(
parsedLowerBound ) : null;
-upperBound = parsedUpperBound.length() > 0 ? parse(
parsedUpperBound ) : null;
-
-if ( upperBound != null && lowerBound != null )
-{
-if ( upperBound.compareTo( lowerBound ) < 0 )
-{
-throw new InvalidVersionSpecificationException( range,
"Invalid
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactProperties.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactProperties.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactProperties.java
new file mode 100644
index 000..1108086
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactProperties.java
@@ -0,0 +1,74 @@
+package org.eclipse.aether.artifact;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * The keys for common properties of artifacts.
+ *
+ * @see Artifact#getProperties()
+ */
+public final class ArtifactProperties
+{
+
+/**
+ * A high-level characterization of the artifact, e.g. "maven-plugin" or
"test-jar".
+ *
+ * @see ArtifactType#getId()
+ */
+public static final String TYPE = "type";
+
+/**
+ * The programming language this artifact is relevant for, e.g. "java" or
"none".
+ */
+public static final String LANGUAGE = "language";
+
+/**
+ * The (expected) path to the artifact on the local filesystem. An
artifact which has this property set is assumed
+ * to be not present in any regular repository and likewise has no
artifact descriptor. Artifact resolution will
+ * verify the path and resolve the artifact if the path actually denotes
an existing file. If the path isn't valid,
+ * resolution will fail and no attempts to search local/remote
repositories are made.
+ */
+public static final String LOCAL_PATH = "localPath";
+
+/**
+ * A boolean flag indicating whether the artifact presents some kind of
bundle that physically includes its
+ * dependencies, e.g. a fat WAR.
+ */
+public static final String INCLUDES_DEPENDENCIES = "includesDependencies";
+
+/**
+ * A boolean flag indicating whether the artifact is meant to be used for
the compile/runtime/test build path of a
+ * consumer project.
+ */
+public static final String CONSTITUTES_BUILD_PATH = "constitutesBuildPath";
+
+/**
+ * The URL to a web page from which the artifact can be manually
downloaded. This URL is not contacted by the
+ * repository system but serves as a pointer for the end user to assist in
getting artifacts that are not published
+ * in a proper repository.
+ */
+public static final String DOWNLOAD_URL = "downloadUrl";
+
+private ArtifactProperties()
+{
+// hide constructor
+}
+
+}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactType.java
--
diff --git
a/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactType.java
b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactType.java
new file mode 100644
index 000..5f87217
--- /dev/null
+++
b/maven-resolver-api/src/main/java/org/eclipse/aether/artifact/ArtifactType.java
@@ -0,0 +1,67 @@
+package org.eclipse.aether.artifact;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.util.Map;
+
+/**
+ * An artifact type describing artifact characteristics/properties that are
common for certain artifacts. Artifact types
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-api/src/main/java/org/eclipse/aether/graph/Dependency.java
--
diff --git a/aether-api/src/main/java/org/eclipse/aether/graph/Dependency.java
b/aether-api/src/main/java/org/eclipse/aether/graph/Dependency.java
deleted file mode 100644
index b9e7cb4..000
--- a/aether-api/src/main/java/org/eclipse/aether/graph/Dependency.java
+++ /dev/null
@@ -1,330 +0,0 @@
-package org.eclipse.aether.graph;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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 java.util.AbstractSet;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.NoSuchElementException;
-import java.util.Set;
-
-import org.eclipse.aether.artifact.Artifact;
-
-/**
- * A dependency to some artifact. Note: Instances of this class are
immutable and the exposed mutators return
- * new objects rather than changing the current instance.
- */
-public final class Dependency
-{
-
-private final Artifact artifact;
-
-private final String scope;
-
-private final Boolean optional;
-
-private final Set exclusions;
-
-/**
- * Creates a mandatory dependency on the specified artifact with the given
scope.
- *
- * @param artifact The artifact being depended on, must not be {@code
null}.
- * @param scope The scope of the dependency, may be {@code null}.
- */
-public Dependency( Artifact artifact, String scope )
-{
-this( artifact, scope, false );
-}
-
-/**
- * Creates a dependency on the specified artifact with the given scope.
- *
- * @param artifact The artifact being depended on, must not be {@code
null}.
- * @param scope The scope of the dependency, may be {@code null}.
- * @param optional A flag whether the dependency is optional or mandatory,
may be {@code null}.
- */
-public Dependency( Artifact artifact, String scope, Boolean optional )
-{
-this( artifact, scope, optional, null );
-}
-
-/**
- * Creates a dependency on the specified artifact with the given scope and
exclusions.
- *
- * @param artifact The artifact being depended on, must not be {@code
null}.
- * @param scope The scope of the dependency, may be {@code null}.
- * @param optional A flag whether the dependency is optional or mandatory,
may be {@code null}.
- * @param exclusions The exclusions that apply to transitive dependencies,
may be {@code null} if none.
- */
-public Dependency( Artifact artifact, String scope, Boolean optional,
Collection exclusions )
-{
-this( artifact, scope, Exclusions.copy( exclusions ), optional );
-}
-
-private Dependency( Artifact artifact, String scope, Set
exclusions, Boolean optional )
-{
-// NOTE: This constructor assumes immutability of the provided
exclusion collection, for internal use only
-if ( artifact == null )
-{
-throw new IllegalArgumentException( "no artifact specified for
dependency" );
-}
-this.artifact = artifact;
-this.scope = ( scope != null ) ? scope : "";
-this.optional = optional;
-this.exclusions = exclusions;
-}
-
-/**
- * Gets the artifact being depended on.
- *
- * @return The artifact, never {@code null}.
- */
-public Artifact getArtifact()
-{
-return artifact;
-}
-
-/**
- * Sets the artifact being depended on.
- *
- * @param artifact The artifact, must not be {@code null}.
- * @return The new dependency, never {@code null}.
- */
-public Dependency setArtifact( Artifact artifact )
-{
-if ( this.artifact.equals( artifact ) )
-{
-return this;
-}
-return new Dependency( artifact, scope, exclusions, optional );
-}
-
-/**
- * Gets the scope of the dependency. The scope defines in which context
this dependency is relevant.
- *
- * @return The scope or an empty string if not set, never {@code null}.
- */
-public String getScope()
-{
-
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterFactory.java
--
diff --git
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterFactory.java
b/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterFactory.java
deleted file mode 100644
index 08a..000
---
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.eclipse.aether.spi.connector.transport;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.transfer.NoTransporterException;
-
-/**
- * A factory to create transporters. A transporter is responsible for
uploads/downloads to/from a remote repository
- * using a particular transport protocol. When the repository system needs a
transporter for a given remote repository,
- * it iterates the registered factories in descending order of their priority
and calls
- * {@link #newInstance(RepositorySystemSession, RemoteRepository)} on them.
The first transporter returned by a factory
- * will then be used for the transfer.
- */
-public interface TransporterFactory
-{
-
-/**
- * Tries to create a transporter for the specified remote repository.
Typically, a factory will inspect
- * {@link RemoteRepository#getProtocol()} to determine whether it can
handle a repository.
- *
- * @param session The repository system session from which to configure
the transporter, must not be {@code null}.
- *In particular, a transporter should obey the timeouts
configured for the session.
- * @param repository The remote repository to create a transporter for,
must not be {@code null}.
- * @return The transporter for the given repository, never {@code null}.
- * @throws NoTransporterException If the factory cannot create a
transporter for the specified remote repository.
- */
-Transporter newInstance( RepositorySystemSession session, RemoteRepository
repository )
-throws NoTransporterException;
-
-/**
- * The priority of this factory. When multiple factories can handle a
given repository, factories with higher
- * priority are preferred over those with lower priority.
- *
- * @return The priority of this factory.
- */
-float getPriority();
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/3a1b8ae0/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterProvider.java
--
diff --git
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterProvider.java
b/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterProvider.java
deleted file mode 100644
index b855042..000
---
a/aether-spi/src/main/java/org/eclipse/aether/spi/connector/transport/TransporterProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.eclipse.aether.spi.connector.transport;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
Author: gboue
Date: Sun Jan 15 13:08:04 2017
New Revision: 1778912
URL: http://svn.apache.org/viewvc?rev=1778912=rev
Log:
[MPLUGIN-290] Version 3.4 fails to parse enums with Regex patterns
Already fixed by the upgrade of QDox to 2.0-M5 done in r1778362. Test added to
prevent regressions.
Added:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java
(with props)
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml
(with props)
Modified:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
Modified:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
URL:
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java?rev=1778912=1778911=1778912=diff
==
---
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
(original)
+++
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/java/org/apache/maven/tools/plugin/extractor/javadoc/JavaMojoDescriptorExtractorTest.java
Sun Jan 15 13:08:04 2017
@@ -249,4 +249,12 @@ public class JavaMojoDescriptorExtractor
assertNull( results );
}
+public void testEnumWithRegexPattern()
+throws Exception
+{
+List results = extract( "MPLUGIN-290" );
+
+assertNull( results );
+}
+
}
Added:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java
URL:
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java?rev=1778912=auto
==
---
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java
(added)
+++
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java
Sun Jan 15 13:08:04 2017
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 java.util.regex.Pattern;
+
+public enum Test
+{
+
+Test( Pattern.compile( "a" ) );
+
+private Test( Pattern p )
+{
+
+}
+
+}
Propchange:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java
--
svn:eol-style = native
Propchange:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/Test.java
--
svn:keywords = Author Date Id Revision
Added:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml
URL:
http://svn.apache.org/viewvc/maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml?rev=1778912=auto
==
---
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml
(added)
+++
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml
Sun Jan 15 13:08:04 2017
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+ test
+ false
+ true
+
+
+
\ No newline at end of file
Propchange:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml
--
svn:eol-style = native
Propchange:
maven/plugin-tools/trunk/maven-plugin-tools-java/src/test/resources/MPLUGIN-290/plugin-expected.xml
--
svn:keywords = Author Date Id Revision