moved ant tasks into subfolder

Project: http://git-wip-us.apache.org/repos/asf/maven-resolver/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-resolver/commit/a088cdfc
Tree: http://git-wip-us.apache.org/repos/asf/maven-resolver/tree/a088cdfc
Diff: http://git-wip-us.apache.org/repos/asf/maven-resolver/diff/a088cdfc

Branch: refs/heads/ant-tasks-folder
Commit: a088cdfca0366e468ba6ad30a1616ee64d2f898e
Parents: dcdf1da
Author: Manfred Moser <manf...@simpligility.com>
Authored: Wed Nov 8 19:17:17 2017 -0800
Committer: Manfred Moser <manf...@simpligility.com>
Committed: Wed Nov 8 19:17:17 2017 -0800

----------------------------------------------------------------------
 README.md                                       | 243 ------
 build.xml                                       | 133 ---
 maven-resolver-ant-tasks/README.md              | 243 ++++++
 maven-resolver-ant-tasks/build.xml              | 133 +++
 maven-resolver-ant-tasks/pom.xml                | 364 ++++++++
 .../src/main/assembly/bin.xml                   |  47 ++
 .../resolver/internal/ant/AetherUtils.java      |  83 ++
 .../maven/resolver/internal/ant/AntLogger.java  |  68 ++
 .../resolver/internal/ant/AntModelResolver.java | 180 ++++
 .../maven/resolver/internal/ant/AntRepoSys.java | 825 +++++++++++++++++++
 .../internal/ant/AntRepositoryListener.java     | 123 +++
 .../resolver/internal/ant/AntSecDispatcher.java |  45 +
 .../ant/AntServiceLocatorErrorHandler.java      |  50 ++
 .../ant/AntSettingsDecryptorFactory.java        |  51 ++
 .../internal/ant/AntTransferListener.java       |  91 ++
 .../resolver/internal/ant/ConverterUtils.java   | 227 +++++
 .../maven/resolver/internal/ant/Names.java      |  44 +
 .../internal/ant/ProjectWorkspaceReader.java    | 144 ++++
 .../resolver/internal/ant/SettingsUtils.java    | 182 ++++
 .../internal/ant/tasks/AbstractDistTask.java    | 180 ++++
 .../ant/tasks/AbstractResolvingTask.java        | 107 +++
 .../ant/tasks/DependencyGraphLogger.java        |  85 ++
 .../resolver/internal/ant/tasks/Deploy.java     | 104 +++
 .../resolver/internal/ant/tasks/Install.java    |  41 +
 .../resolver/internal/ant/tasks/Layout.java     | 131 +++
 .../resolver/internal/ant/tasks/RefTask.java    |  98 +++
 .../resolver/internal/ant/tasks/Resolve.java    | 585 +++++++++++++
 .../resolver/internal/ant/types/Artifact.java   | 181 ++++
 .../internal/ant/types/ArtifactContainer.java   |  35 +
 .../resolver/internal/ant/types/Artifacts.java  |  97 +++
 .../internal/ant/types/Authentication.java      | 152 ++++
 .../internal/ant/types/Dependencies.java        | 197 +++++
 .../resolver/internal/ant/types/Dependency.java | 329 ++++++++
 .../internal/ant/types/DependencyContainer.java |  31 +
 .../resolver/internal/ant/types/Exclusion.java  | 190 +++++
 .../internal/ant/types/LocalRepository.java     |  90 ++
 .../resolver/internal/ant/types/Mirror.java     | 154 ++++
 .../internal/ant/types/ModelValueExtractor.java |  99 +++
 .../maven/resolver/internal/ant/types/Pom.java  | 352 ++++++++
 .../ant/types/PomPropertyEvaluator.java         |  62 ++
 .../internal/ant/types/PomPropertyHelper.java   |  65 ++
 .../resolver/internal/ant/types/Proxy.java      | 163 ++++
 .../internal/ant/types/RemoteRepositories.java  |  97 +++
 .../internal/ant/types/RemoteRepository.java    | 351 ++++++++
 .../ant/types/RemoteRepositoryContainer.java    |  35 +
 .../resolver/internal/ant/types/Settings.java   |  86 ++
 .../org/apache/maven/resolver/ant/antlib.xml    |  41 +
 .../src/site/markdown/index.md.vm               |   1 +
 .../src/site/resources/download.cgi             |  22 +
 maven-resolver-ant-tasks/src/site/site.xml      |  42 +
 .../src/site/xdoc/download.xml.vm               | 126 +++
 .../resolver/internal/ant/AntBuildsTest.java    | 124 +++
 .../maven/resolver/internal/ant/DeployTest.java |  91 ++
 .../resolver/internal/ant/InstallTest.java      |  98 +++
 .../ant/ProjectWorkspaceReaderTest.java         | 124 +++
 .../resolver/internal/ant/ReactorTest.java      | 100 +++
 .../resolver/internal/ant/ResolveTest.java      | 150 ++++
 .../resolver/internal/ant/SettingsTest.java     |  65 ++
 .../resolver/internal/ant/tasks/LayoutTest.java |  55 ++
 .../internal/ant/types/DependencyTest.java      |  88 ++
 .../internal/ant/types/ExclusionTest.java       |  88 ++
 .../resolver/internal/ant/types/PomTest.java    |  43 +
 .../ProjectWorkspaceReader/dummy-file.txt       |   1 +
 .../ProjectWorkspaceReader/dummy-pom.xml        |  34 +
 .../src/test/resources/ant/Deploy/ant.xml       |  72 ++
 .../src/test/resources/ant/Deploy/dummy-pom.xml |  34 +
 .../src/test/resources/ant/Deploy/other-pom.xml |  34 +
 .../src/test/resources/ant/Install/ant.xml      |  71 ++
 .../test/resources/ant/Install/dummy-pom.xml    |  34 +
 .../test/resources/ant/Install/other-pom.xml    |  34 +
 .../src/test/resources/ant/Reactor/ant.xml      |  78 ++
 .../src/test/resources/ant/Reactor/pom1.xml     |  34 +
 .../src/test/resources/ant/Reactor/pom2.xml     |  42 +
 .../src/test/resources/ant/Resolve/ant.xml      | 122 +++
 .../test/resources/ant/Resolve/dependencies.txt |  11 +
 .../test/resources/ant/Resolve/dummy-pom.xml    |  34 +
 .../src/test/resources/ant/Resolve/pom.xml      |  55 ++
 .../src/test/resources/ant/Settings/ant.xml     |  46 ++
 .../src/test/resources/ant/common.xml           |  20 +
 pom.xml                                         | 364 --------
 src/main/assembly/bin.xml                       |  47 --
 .../resolver/internal/ant/AetherUtils.java      |  83 --
 .../maven/resolver/internal/ant/AntLogger.java  |  68 --
 .../resolver/internal/ant/AntModelResolver.java | 180 ----
 .../maven/resolver/internal/ant/AntRepoSys.java | 825 -------------------
 .../internal/ant/AntRepositoryListener.java     | 123 ---
 .../resolver/internal/ant/AntSecDispatcher.java |  45 -
 .../ant/AntServiceLocatorErrorHandler.java      |  50 --
 .../ant/AntSettingsDecryptorFactory.java        |  51 --
 .../internal/ant/AntTransferListener.java       |  91 --
 .../resolver/internal/ant/ConverterUtils.java   | 227 -----
 .../maven/resolver/internal/ant/Names.java      |  44 -
 .../internal/ant/ProjectWorkspaceReader.java    | 144 ----
 .../resolver/internal/ant/SettingsUtils.java    | 182 ----
 .../internal/ant/tasks/AbstractDistTask.java    | 180 ----
 .../ant/tasks/AbstractResolvingTask.java        | 107 ---
 .../ant/tasks/DependencyGraphLogger.java        |  85 --
 .../resolver/internal/ant/tasks/Deploy.java     | 104 ---
 .../resolver/internal/ant/tasks/Install.java    |  41 -
 .../resolver/internal/ant/tasks/Layout.java     | 131 ---
 .../resolver/internal/ant/tasks/RefTask.java    |  98 ---
 .../resolver/internal/ant/tasks/Resolve.java    | 585 -------------
 .../resolver/internal/ant/types/Artifact.java   | 181 ----
 .../internal/ant/types/ArtifactContainer.java   |  35 -
 .../resolver/internal/ant/types/Artifacts.java  |  97 ---
 .../internal/ant/types/Authentication.java      | 152 ----
 .../internal/ant/types/Dependencies.java        | 197 -----
 .../resolver/internal/ant/types/Dependency.java | 329 --------
 .../internal/ant/types/DependencyContainer.java |  31 -
 .../resolver/internal/ant/types/Exclusion.java  | 190 -----
 .../internal/ant/types/LocalRepository.java     |  90 --
 .../resolver/internal/ant/types/Mirror.java     | 154 ----
 .../internal/ant/types/ModelValueExtractor.java |  99 ---
 .../maven/resolver/internal/ant/types/Pom.java  | 352 --------
 .../ant/types/PomPropertyEvaluator.java         |  62 --
 .../internal/ant/types/PomPropertyHelper.java   |  65 --
 .../resolver/internal/ant/types/Proxy.java      | 163 ----
 .../internal/ant/types/RemoteRepositories.java  |  97 ---
 .../internal/ant/types/RemoteRepository.java    | 351 --------
 .../ant/types/RemoteRepositoryContainer.java    |  35 -
 .../resolver/internal/ant/types/Settings.java   |  86 --
 .../org/apache/maven/resolver/ant/antlib.xml    |  41 -
 src/site/markdown/index.md.vm                   |   1 -
 src/site/resources/download.cgi                 |  22 -
 src/site/site.xml                               |  42 -
 src/site/xdoc/download.xml.vm                   | 126 ---
 .../resolver/internal/ant/AntBuildsTest.java    | 124 ---
 .../maven/resolver/internal/ant/DeployTest.java |  91 --
 .../resolver/internal/ant/InstallTest.java      |  98 ---
 .../ant/ProjectWorkspaceReaderTest.java         | 124 ---
 .../resolver/internal/ant/ReactorTest.java      | 100 ---
 .../resolver/internal/ant/ResolveTest.java      | 150 ----
 .../resolver/internal/ant/SettingsTest.java     |  65 --
 .../resolver/internal/ant/tasks/LayoutTest.java |  55 --
 .../internal/ant/types/DependencyTest.java      |  88 --
 .../internal/ant/types/ExclusionTest.java       |  88 --
 .../resolver/internal/ant/types/PomTest.java    |  43 -
 .../ProjectWorkspaceReader/dummy-file.txt       |   1 -
 .../ProjectWorkspaceReader/dummy-pom.xml        |  34 -
 src/test/resources/ant/Deploy/ant.xml           |  72 --
 src/test/resources/ant/Deploy/dummy-pom.xml     |  34 -
 src/test/resources/ant/Deploy/other-pom.xml     |  34 -
 src/test/resources/ant/Install/ant.xml          |  71 --
 src/test/resources/ant/Install/dummy-pom.xml    |  34 -
 src/test/resources/ant/Install/other-pom.xml    |  34 -
 src/test/resources/ant/Reactor/ant.xml          |  78 --
 src/test/resources/ant/Reactor/pom1.xml         |  34 -
 src/test/resources/ant/Reactor/pom2.xml         |  42 -
 src/test/resources/ant/Resolve/ant.xml          | 122 ---
 src/test/resources/ant/Resolve/dependencies.txt |  11 -
 src/test/resources/ant/Resolve/dummy-pom.xml    |  34 -
 src/test/resources/ant/Resolve/pom.xml          |  55 --
 src/test/resources/ant/Settings/ant.xml         |  46 --
 src/test/resources/ant/common.xml               |  20 -
 154 files changed, 9011 insertions(+), 9011 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
deleted file mode 100644
index bb228dc..0000000
--- a/README.md
+++ /dev/null
@@ -1,243 +0,0 @@
-# Maven Artifact Resolver Ant Tasks
-
-The Maven Artifact Resolver Ant Tasks enable build scripts for [Apache 
Ant](http://ant.apache.org/) 1.7+ to use 
-[Maven Artifact Resolver](/resolver/) combined to
-[Apache Maven Artifact Resolver 
Provider](/ref/current/maven-resolver-provider/) to resolve dependencies
-and install and deploy locally built artifacts.
-
-To integrate the tasks into your build file, copy the JAR into your project's 
lib directory and use the following
-snippet to load it:
-
-    <project xmlns:resolver="antlib:org.apache.maven.resolver.ant" ...>
-      <taskdef uri="antlib:org.apache.maven.resolver.ant" 
resource="org/apache/maven/resolver/ant/antlib.xml">
-        <classpath>
-          <fileset dir="lib" includes="maven-resolver-ant-tasks-*.jar"/>
-        </classpath>
-      </taskdef>
-      ...
-    </project>
-
-See the `build.xml` in the project sources for a complete example build script.
-
-## Settings
-
-The Ant tasks are tightly integrated with the usual [Apache Maven 
settings.xml](/settings.html).
-By default, the usual `${user.home}/.m2/settings.xml` is used for user 
settings. 
-
-For the global settings, different paths will be tried:
-
-* `${ant.home}/etc/settings.xml`
-* `${maven.home}/conf/settings.xml`
-* `$M2_HOME/conf/settings.xml`
-
-The `<settings/>` definition is used to change that:
-    
-    <settings file="my-settings.xml" globalfile="myglobal-settings.xml"/>
-
-Some settings defined in the settings file or in the POM can also be changed 
inside the Ant file.
-
-### Proxy Settings
-
-Proxy definitions are used throughout the whole session. There may be multiple
-proxies set. The proxy to use will be chosen by evaluating the `nonProxyHosts` 
on
-each proxy definition, the first matching proxy will be used for a given 
remote connection.
-
-    <proxy host="proxy.mycorp.com" port="8080" type="http" 
nonProxyHosts="127.*|localhost|*.mycorp.com"/>
-
-### Authentication
-
-Authentication elements are used to access remote repositories. Every
-authentication definition will be added globally and chosen based on the
-`servers` attribute. If this attribute is not set, an authentication has to be
-referenced explicitly to be used.
-
-    <authentication username="login" password="pw" id="auth"/>
-    <authentication privateKeyFile="file.pk" passphrase="phrase" 
servers="distrepo" id="distauth"/>
-
-### Local Repository
-
-Only one local repository can be used at a time.
-
-    <localrepo dir="someDir"/>
-
-### Remote Repositories
-
-Remote repositories may be defined directly:
-
-    <remoterepo id="ossrh" 
url="https://oss.sonatype.org/content/repositories/snapshots/"; type="default" 
releases="false" snapshots="true" updates="always" checksums="fail"/>
-
-    <remoterepo id="rao" 
url="https://repository.apache.org/content/groups/public/";>
-        <releases enabled="true" updates="daily" checksums="warn"/>
-        <snapshots enabled="false"/>
-        <authentication refid="auth"/>
-    </remoterepo>
-
-    <remoterepo id="distrepo" url="..." authref="distauth"/>
-
-Multiple repositories may be used as a group in every place that is legal for a
-remote repository:
-
-    <remoterepos id="all">
-        <remoterepo refid="ossrh"/>
-        <remoterepo refid="rao"/>
-        <remoterepo refid="distrepo"/>
-    </remoterepos>
-
-*Note:* Currently, only file:, http: and https: protocols are supported for 
remote repositories.
-
-### Mirrors
-
-    <mirror id="" url="" mirrorOf=""/>
-
-### Offline Mode
-
-To suppress any network activity and only use already cached 
artifacts/metadata, you can use a boolean property:
-
-    <property name="resolver.offline" value="true"/>
-
-
-## Project
-
-Project settings deal with locally available information about the build.
-
-### POM
-
-The POM is the data type used to determine the target for the install and
-deploy tasks. If you define a POM without an id based on a full `pom.xml` file,
-that POM will be used by default for install and deploy.
-
-    <pom file="pom.xml" id="pom"/>
-    <pom groupId="g" artifactId="a" version="v"/>
-    <pom coords="g:a:v"/>
-
-#### Properties
-
-If a POM is set via a file parameter its effective model is made available as 
properties to the Ant project.
-The properties are prefixed with the ref id of the `<pom>` element, e.g. 
`${pom.version}` for the example above.
-Likewise, project properties defined in the POM are accessible via the prefix 
`pom.properties.`. If no id has been
-assigned, the properties use the prefix `pom.` by default.
-
-### Output Artifacts
-
-`<artifact>` elements define the artifacts produced by this build that should 
be installed or deployed.
-
-    <artifact file="file-src.jar" type="jar" classifier="sources" id="src"/>
-
-    <artifacts id="producedArtifacts">
-        <artifact refid="src"/>
-        <artifact file="file-src.jar"/>
-    </artifacts>
-
-### Dependencies
-
-Dependencies are used to to create classpaths or filesets. They are used by
-the `<resolve>`-task, which collects the artifacts belonging to the 
dependencies
-transitively.
-
-    <dependency coords="g:a:v:scope"/>
-
-    <dependency groupId="g" artifactId="a" version="v" classifier="c" 
type="jar" scope="runtime">
-        <exclusion coords="g:a"/>
-        <exclusion groupId="g" artifactId="a"/>
-    </dependency>
-
-    <dependencies id="deps">
-        <dependency refid="first"/>
-        <dependency refid="second"/>
-        <exclusion coords="g:a"/> <!-- global exclusion for all dependencies 
of this group -->
-    </dependencies>
-
-    <dependencies>
-        <dependency coords="test:artifact:1.0:runtime"/>
-        <dependencies refid="deps"/> <!-- nested dependency collection merged 
into this one -->
-    </dependencies>
-
-    <dependencies id="depsFromPom" pomRef="pom"/>
-
-    <dependencies id="depsFromPlainTextFile" file="dependencies.txt"/>
-    <!--
-    Each non-empty line of that text file declares one dependency, using the 
same syntax as for the `coords` attribute
-    of the `<dependency>` element, i.e.
-    <groupId>:<artifactId>:<version>[[:<type>[:<classifier>]]:<scope>]
-    Everything after the first hash (#) character on a line is considered a 
comment.
-    -->
-
-
-## Tasks
-
-### Install
-
-You need to set a POM that references a file for the install task to work.
-
-    <install artifactsref="producedArtifacts"/>
-
-### Deploy
-
-You need to set a POM that references a file for the deploy task to work, as 
that POM file will be deployed to repository.
-
-    <deploy artifactsref="producedArtifacts">
-        <remoterepo refid="distrepo"/>
-        <snapshotrepo refid="snaprepo">
-    </deploy>
-
-### Resolve
-
-The `<resolve>`-task is used to collect and resolve dependencies from remote
-servers. If no repositories are set explicitly for the task, the repositories
-referenced by "resolver.repositories" are used. This contains only central by
-default, but can be overridden by supplying another repository definition with
-this id. 
-
-
-This task is able to assemble the collected dependencies in three different 
ways:
-
-* Classpath: The `<path>` element defines a classpath with all resolved 
dependencies.
-* Files: `<files>` will assemble a resource collection containing all resolved 
dependencies and/or copy the files to some directory.
-* Properties: `<properties>` will set properties with the given prefix and the 
coordinates to the path to the resolved file.
-
-These targets may also be mentioned more than once for the same resolve task,
-but only one `<dependencies>` element is allowed.
-
-    <resolve failOnMissingAttachments="true">
-        <dependencies>
-            <dependency coords="org.apache.maven:maven-profile:2.0.6"/>
-            <exclusion artifactId="junit"/>
-            <exclusion groupId="org.codehaus.plexus"/>
-        </dependencies>
-        <path refid="cp" classpath="compile"/>
-        <files refid="src.files" attachments="sources" dir="target/sources"
-               layout="{artifactId}-{classifier}.{extension}"/>
-        <files refid="api.files" attachments="javadoc" dir="target/javadoc"
-               layout="{artifactId}-{classifier}.{extension}"/>
-        <properties prefix="dep." scopes="provided,system"/>
-    </resolve>
-
-    <resolve dependenciesref="deps">
-        <path refid="cp.compile" classpath="compile"/>
-        <path refid="cp.test" classpath="test"/>
-    </resolve>
-
-Scope filters can be set on every target, enumerating included and/or excluded
-scope names. Exclusions are denoted by prefixing the scope name with `-` or 
`!` (e.g. `provided,!system`).
-
-The `classpath` attribute is a shortcut for the scope filters (e.g.
-`classpath="compile"` equals `scope="provided,system,compile"`). Valid values 
are
-"`compile`", "`runtime`", "`test`".
-
-    <resolve>
-        <dependencies pomRef="pom"/>
-        <remoterepos refid="all"/>
-        <path refid="cp" classpath="compile"/>
-        <path refid="tp" classpath="test"/>
-    </resolve>
-
-The layout attribute of the `<files>` element is only allowed when the `dir` 
attribute is also given and recognizes the
-following placeholders to refer to the coordinates of the currently processed 
artifact:
-
-* `{groupId}`, e.g. "org.apache.maven.resolver"
-* `{groupIdDirs}`, e.g. "org/apache/maven/resolver"
-* `{artifactId}`, e.g. "maven-resolver-api"
-* `{version}`, e.g. "1.0.0-20140518.181353-123"
-* `{baseVersion}`, e.g. "1.0.0-SNAPSHOT"
-* `{extension}`, e.g. "jar"
-* `{classifier}`, e.g. "sources"

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
deleted file mode 100644
index 86c441f..0000000
--- a/build.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  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.
--->
-
-<project xmlns:resolver="antlib:org.apache.maven.resolver.ant" 
default="deploy">
-
-  <!--
-  This is an example Ant build file using the Maven Artifact Resolver Ant 
Tasks to compile, test, install and deploy the
-  maven-resolver-ant-tasks project itself. As a prerequisite, run "mvn 
package" first to assemble the
-  maven-resolver-ant-task.jar which this build file will load below.
-  -->
-
-  <taskdef uri="antlib:org.apache.maven.resolver.ant" 
resource="org/apache/maven/resolver/ant/antlib.xml">
-    <classpath>
-      <fileset dir="target" includes="maven-resolver-ant-tasks-*uber.jar"/>
-    </classpath>
-  </taskdef>
-
-  <property name="build.dir" location="target/its"/>
-
-  <resolver:localrepo dir="${build.dir}/local-repo"/>
-
-  <resolver:remoterepo id="ossrh" 
url="http://oss.sonatype.org/content/groups/staging"; type="default"
-                     releases="true" snapshots="true" updates="daily" 
checksums="fail"/>
-
-  <resolver:remoterepos id="resolver.repositories">
-    <resolver:remoterepo refid="central"/>
-    <resolver:remoterepo refid="ossrh"/>
-  </resolver:remoterepos>
-
-  <resolver:pom file="pom.xml" id="pom"/>
-
-  <target name="clean">
-    <delete dir="${build.dir}"/>
-  </target>
-
-  <target name="process-resources">
-    <copy todir="${build.dir}/classes">
-      <fileset dir="src/main/resources"/>
-    </copy>
-  </target>
-
-  <target name="compile" depends="process-resources">
-    <mkdir dir="${build.dir}/classes"/>
-
-    <resolver:resolve>
-      <dependencies>
-        <pom refid="pom"/>
-      </dependencies>
-      <path refid="cp.compile.main" classpath="compile"/>
-    </resolver:resolve>
-
-    <javac classpathref="cp.compile.main" srcdir="src/main/java" 
destdir="${build.dir}/classes" 
-           includeAntRuntime="false" source="1.5" target="1.5" 
encoding="UTF-8" fork="true"/>
-  </target>
-
-  <target name="process-test-resources" depends="compile">
-  </target>
-
-  <target name="test-compile" depends="process-test-resources">
-    <mkdir dir="${build.dir}/test-classes"/>
-
-    <resolver:resolve>
-      <dependencies>
-        <pom refid="pom"/>
-      </dependencies>
-      <path refid="cp.compile.test" classpath="test"/>
-      <path refid="cp.runtime.test" scopes="compile,test"/>
-    </resolver:resolve>
-
-    <path id="cp.test">
-      <path refid="cp.compile.test"/>
-      <pathelement location="${build.dir}/classes"/>
-    </path>
-
-    <javac classpathref="cp.test" srcdir="src/test/java" 
destdir="${build.dir}/test-classes"
-           includeAntRuntime="false" source="1.5" target="1.5" 
encoding="UTF-8" fork="true"/>
-  </target>
-
-  <target name="test" depends="test-compile">
-    <junit haltonfailure="true" fork="true" forkmode="once" 
outputtoformatters="false">
-      <classpath>
-        <pathelement location="${build.dir}/test-classes"/>
-        <pathelement location="${build.dir}/classes"/>
-        <path refid="cp.runtime.test"/>
-      </classpath>
-
-      <formatter type="brief" usefile="false"/>
-
-      <batchtest>
-        <fileset dir="${build.dir}/test-classes" includes="**/*Test.class" 
excludes="**/AntBuildsTest*"/>
-      </batchtest>
-    </junit>
-  </target>
-
-  <target name="package" depends="test">
-    <jar destfile="${build.dir}/maven-resolver-ant-tasks-${pom.version}.jar" 
basedir="${build.dir}/classes"/>
-    <jar 
destfile="${build.dir}/maven-resolver-ant-tasks-${pom.version}-sources.jar" 
basedir="src/main/java"/>
-
-    <resolver:artifacts id="output">
-      <artifact 
file="${build.dir}/maven-resolver-ant-tasks-${pom.version}.jar"/>
-      <artifact 
file="${build.dir}/maven-resolver-ant-tasks-${pom.version}-sources.jar" 
classifier="sources"/>
-    </resolver:artifacts>
-  </target>
-
-  <target name="install" depends="package">
-    <resolver:install artifactsref="output"/>
-  </target>
-
-  <target name="deploy" depends="install">
-    <resolver:deploy artifactsref="output">
-      <remoteRepo id="dist" url="file:///${build.dir}/dist-repo"/>
-    </resolver:deploy>
-  </target>
-
-</project>

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/README.md
----------------------------------------------------------------------
diff --git a/maven-resolver-ant-tasks/README.md 
b/maven-resolver-ant-tasks/README.md
new file mode 100644
index 0000000..bb228dc
--- /dev/null
+++ b/maven-resolver-ant-tasks/README.md
@@ -0,0 +1,243 @@
+# Maven Artifact Resolver Ant Tasks
+
+The Maven Artifact Resolver Ant Tasks enable build scripts for [Apache 
Ant](http://ant.apache.org/) 1.7+ to use 
+[Maven Artifact Resolver](/resolver/) combined to
+[Apache Maven Artifact Resolver 
Provider](/ref/current/maven-resolver-provider/) to resolve dependencies
+and install and deploy locally built artifacts.
+
+To integrate the tasks into your build file, copy the JAR into your project's 
lib directory and use the following
+snippet to load it:
+
+    <project xmlns:resolver="antlib:org.apache.maven.resolver.ant" ...>
+      <taskdef uri="antlib:org.apache.maven.resolver.ant" 
resource="org/apache/maven/resolver/ant/antlib.xml">
+        <classpath>
+          <fileset dir="lib" includes="maven-resolver-ant-tasks-*.jar"/>
+        </classpath>
+      </taskdef>
+      ...
+    </project>
+
+See the `build.xml` in the project sources for a complete example build script.
+
+## Settings
+
+The Ant tasks are tightly integrated with the usual [Apache Maven 
settings.xml](/settings.html).
+By default, the usual `${user.home}/.m2/settings.xml` is used for user 
settings. 
+
+For the global settings, different paths will be tried:
+
+* `${ant.home}/etc/settings.xml`
+* `${maven.home}/conf/settings.xml`
+* `$M2_HOME/conf/settings.xml`
+
+The `<settings/>` definition is used to change that:
+    
+    <settings file="my-settings.xml" globalfile="myglobal-settings.xml"/>
+
+Some settings defined in the settings file or in the POM can also be changed 
inside the Ant file.
+
+### Proxy Settings
+
+Proxy definitions are used throughout the whole session. There may be multiple
+proxies set. The proxy to use will be chosen by evaluating the `nonProxyHosts` 
on
+each proxy definition, the first matching proxy will be used for a given 
remote connection.
+
+    <proxy host="proxy.mycorp.com" port="8080" type="http" 
nonProxyHosts="127.*|localhost|*.mycorp.com"/>
+
+### Authentication
+
+Authentication elements are used to access remote repositories. Every
+authentication definition will be added globally and chosen based on the
+`servers` attribute. If this attribute is not set, an authentication has to be
+referenced explicitly to be used.
+
+    <authentication username="login" password="pw" id="auth"/>
+    <authentication privateKeyFile="file.pk" passphrase="phrase" 
servers="distrepo" id="distauth"/>
+
+### Local Repository
+
+Only one local repository can be used at a time.
+
+    <localrepo dir="someDir"/>
+
+### Remote Repositories
+
+Remote repositories may be defined directly:
+
+    <remoterepo id="ossrh" 
url="https://oss.sonatype.org/content/repositories/snapshots/"; type="default" 
releases="false" snapshots="true" updates="always" checksums="fail"/>
+
+    <remoterepo id="rao" 
url="https://repository.apache.org/content/groups/public/";>
+        <releases enabled="true" updates="daily" checksums="warn"/>
+        <snapshots enabled="false"/>
+        <authentication refid="auth"/>
+    </remoterepo>
+
+    <remoterepo id="distrepo" url="..." authref="distauth"/>
+
+Multiple repositories may be used as a group in every place that is legal for a
+remote repository:
+
+    <remoterepos id="all">
+        <remoterepo refid="ossrh"/>
+        <remoterepo refid="rao"/>
+        <remoterepo refid="distrepo"/>
+    </remoterepos>
+
+*Note:* Currently, only file:, http: and https: protocols are supported for 
remote repositories.
+
+### Mirrors
+
+    <mirror id="" url="" mirrorOf=""/>
+
+### Offline Mode
+
+To suppress any network activity and only use already cached 
artifacts/metadata, you can use a boolean property:
+
+    <property name="resolver.offline" value="true"/>
+
+
+## Project
+
+Project settings deal with locally available information about the build.
+
+### POM
+
+The POM is the data type used to determine the target for the install and
+deploy tasks. If you define a POM without an id based on a full `pom.xml` file,
+that POM will be used by default for install and deploy.
+
+    <pom file="pom.xml" id="pom"/>
+    <pom groupId="g" artifactId="a" version="v"/>
+    <pom coords="g:a:v"/>
+
+#### Properties
+
+If a POM is set via a file parameter its effective model is made available as 
properties to the Ant project.
+The properties are prefixed with the ref id of the `<pom>` element, e.g. 
`${pom.version}` for the example above.
+Likewise, project properties defined in the POM are accessible via the prefix 
`pom.properties.`. If no id has been
+assigned, the properties use the prefix `pom.` by default.
+
+### Output Artifacts
+
+`<artifact>` elements define the artifacts produced by this build that should 
be installed or deployed.
+
+    <artifact file="file-src.jar" type="jar" classifier="sources" id="src"/>
+
+    <artifacts id="producedArtifacts">
+        <artifact refid="src"/>
+        <artifact file="file-src.jar"/>
+    </artifacts>
+
+### Dependencies
+
+Dependencies are used to to create classpaths or filesets. They are used by
+the `<resolve>`-task, which collects the artifacts belonging to the 
dependencies
+transitively.
+
+    <dependency coords="g:a:v:scope"/>
+
+    <dependency groupId="g" artifactId="a" version="v" classifier="c" 
type="jar" scope="runtime">
+        <exclusion coords="g:a"/>
+        <exclusion groupId="g" artifactId="a"/>
+    </dependency>
+
+    <dependencies id="deps">
+        <dependency refid="first"/>
+        <dependency refid="second"/>
+        <exclusion coords="g:a"/> <!-- global exclusion for all dependencies 
of this group -->
+    </dependencies>
+
+    <dependencies>
+        <dependency coords="test:artifact:1.0:runtime"/>
+        <dependencies refid="deps"/> <!-- nested dependency collection merged 
into this one -->
+    </dependencies>
+
+    <dependencies id="depsFromPom" pomRef="pom"/>
+
+    <dependencies id="depsFromPlainTextFile" file="dependencies.txt"/>
+    <!--
+    Each non-empty line of that text file declares one dependency, using the 
same syntax as for the `coords` attribute
+    of the `<dependency>` element, i.e.
+    <groupId>:<artifactId>:<version>[[:<type>[:<classifier>]]:<scope>]
+    Everything after the first hash (#) character on a line is considered a 
comment.
+    -->
+
+
+## Tasks
+
+### Install
+
+You need to set a POM that references a file for the install task to work.
+
+    <install artifactsref="producedArtifacts"/>
+
+### Deploy
+
+You need to set a POM that references a file for the deploy task to work, as 
that POM file will be deployed to repository.
+
+    <deploy artifactsref="producedArtifacts">
+        <remoterepo refid="distrepo"/>
+        <snapshotrepo refid="snaprepo">
+    </deploy>
+
+### Resolve
+
+The `<resolve>`-task is used to collect and resolve dependencies from remote
+servers. If no repositories are set explicitly for the task, the repositories
+referenced by "resolver.repositories" are used. This contains only central by
+default, but can be overridden by supplying another repository definition with
+this id. 
+
+
+This task is able to assemble the collected dependencies in three different 
ways:
+
+* Classpath: The `<path>` element defines a classpath with all resolved 
dependencies.
+* Files: `<files>` will assemble a resource collection containing all resolved 
dependencies and/or copy the files to some directory.
+* Properties: `<properties>` will set properties with the given prefix and the 
coordinates to the path to the resolved file.
+
+These targets may also be mentioned more than once for the same resolve task,
+but only one `<dependencies>` element is allowed.
+
+    <resolve failOnMissingAttachments="true">
+        <dependencies>
+            <dependency coords="org.apache.maven:maven-profile:2.0.6"/>
+            <exclusion artifactId="junit"/>
+            <exclusion groupId="org.codehaus.plexus"/>
+        </dependencies>
+        <path refid="cp" classpath="compile"/>
+        <files refid="src.files" attachments="sources" dir="target/sources"
+               layout="{artifactId}-{classifier}.{extension}"/>
+        <files refid="api.files" attachments="javadoc" dir="target/javadoc"
+               layout="{artifactId}-{classifier}.{extension}"/>
+        <properties prefix="dep." scopes="provided,system"/>
+    </resolve>
+
+    <resolve dependenciesref="deps">
+        <path refid="cp.compile" classpath="compile"/>
+        <path refid="cp.test" classpath="test"/>
+    </resolve>
+
+Scope filters can be set on every target, enumerating included and/or excluded
+scope names. Exclusions are denoted by prefixing the scope name with `-` or 
`!` (e.g. `provided,!system`).
+
+The `classpath` attribute is a shortcut for the scope filters (e.g.
+`classpath="compile"` equals `scope="provided,system,compile"`). Valid values 
are
+"`compile`", "`runtime`", "`test`".
+
+    <resolve>
+        <dependencies pomRef="pom"/>
+        <remoterepos refid="all"/>
+        <path refid="cp" classpath="compile"/>
+        <path refid="tp" classpath="test"/>
+    </resolve>
+
+The layout attribute of the `<files>` element is only allowed when the `dir` 
attribute is also given and recognizes the
+following placeholders to refer to the coordinates of the currently processed 
artifact:
+
+* `{groupId}`, e.g. "org.apache.maven.resolver"
+* `{groupIdDirs}`, e.g. "org/apache/maven/resolver"
+* `{artifactId}`, e.g. "maven-resolver-api"
+* `{version}`, e.g. "1.0.0-20140518.181353-123"
+* `{baseVersion}`, e.g. "1.0.0-SNAPSHOT"
+* `{extension}`, e.g. "jar"
+* `{classifier}`, e.g. "sources"

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/build.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-ant-tasks/build.xml 
b/maven-resolver-ant-tasks/build.xml
new file mode 100644
index 0000000..86c441f
--- /dev/null
+++ b/maven-resolver-ant-tasks/build.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<project xmlns:resolver="antlib:org.apache.maven.resolver.ant" 
default="deploy">
+
+  <!--
+  This is an example Ant build file using the Maven Artifact Resolver Ant 
Tasks to compile, test, install and deploy the
+  maven-resolver-ant-tasks project itself. As a prerequisite, run "mvn 
package" first to assemble the
+  maven-resolver-ant-task.jar which this build file will load below.
+  -->
+
+  <taskdef uri="antlib:org.apache.maven.resolver.ant" 
resource="org/apache/maven/resolver/ant/antlib.xml">
+    <classpath>
+      <fileset dir="target" includes="maven-resolver-ant-tasks-*uber.jar"/>
+    </classpath>
+  </taskdef>
+
+  <property name="build.dir" location="target/its"/>
+
+  <resolver:localrepo dir="${build.dir}/local-repo"/>
+
+  <resolver:remoterepo id="ossrh" 
url="http://oss.sonatype.org/content/groups/staging"; type="default"
+                     releases="true" snapshots="true" updates="daily" 
checksums="fail"/>
+
+  <resolver:remoterepos id="resolver.repositories">
+    <resolver:remoterepo refid="central"/>
+    <resolver:remoterepo refid="ossrh"/>
+  </resolver:remoterepos>
+
+  <resolver:pom file="pom.xml" id="pom"/>
+
+  <target name="clean">
+    <delete dir="${build.dir}"/>
+  </target>
+
+  <target name="process-resources">
+    <copy todir="${build.dir}/classes">
+      <fileset dir="src/main/resources"/>
+    </copy>
+  </target>
+
+  <target name="compile" depends="process-resources">
+    <mkdir dir="${build.dir}/classes"/>
+
+    <resolver:resolve>
+      <dependencies>
+        <pom refid="pom"/>
+      </dependencies>
+      <path refid="cp.compile.main" classpath="compile"/>
+    </resolver:resolve>
+
+    <javac classpathref="cp.compile.main" srcdir="src/main/java" 
destdir="${build.dir}/classes" 
+           includeAntRuntime="false" source="1.5" target="1.5" 
encoding="UTF-8" fork="true"/>
+  </target>
+
+  <target name="process-test-resources" depends="compile">
+  </target>
+
+  <target name="test-compile" depends="process-test-resources">
+    <mkdir dir="${build.dir}/test-classes"/>
+
+    <resolver:resolve>
+      <dependencies>
+        <pom refid="pom"/>
+      </dependencies>
+      <path refid="cp.compile.test" classpath="test"/>
+      <path refid="cp.runtime.test" scopes="compile,test"/>
+    </resolver:resolve>
+
+    <path id="cp.test">
+      <path refid="cp.compile.test"/>
+      <pathelement location="${build.dir}/classes"/>
+    </path>
+
+    <javac classpathref="cp.test" srcdir="src/test/java" 
destdir="${build.dir}/test-classes"
+           includeAntRuntime="false" source="1.5" target="1.5" 
encoding="UTF-8" fork="true"/>
+  </target>
+
+  <target name="test" depends="test-compile">
+    <junit haltonfailure="true" fork="true" forkmode="once" 
outputtoformatters="false">
+      <classpath>
+        <pathelement location="${build.dir}/test-classes"/>
+        <pathelement location="${build.dir}/classes"/>
+        <path refid="cp.runtime.test"/>
+      </classpath>
+
+      <formatter type="brief" usefile="false"/>
+
+      <batchtest>
+        <fileset dir="${build.dir}/test-classes" includes="**/*Test.class" 
excludes="**/AntBuildsTest*"/>
+      </batchtest>
+    </junit>
+  </target>
+
+  <target name="package" depends="test">
+    <jar destfile="${build.dir}/maven-resolver-ant-tasks-${pom.version}.jar" 
basedir="${build.dir}/classes"/>
+    <jar 
destfile="${build.dir}/maven-resolver-ant-tasks-${pom.version}-sources.jar" 
basedir="src/main/java"/>
+
+    <resolver:artifacts id="output">
+      <artifact 
file="${build.dir}/maven-resolver-ant-tasks-${pom.version}.jar"/>
+      <artifact 
file="${build.dir}/maven-resolver-ant-tasks-${pom.version}-sources.jar" 
classifier="sources"/>
+    </resolver:artifacts>
+  </target>
+
+  <target name="install" depends="package">
+    <resolver:install artifactsref="output"/>
+  </target>
+
+  <target name="deploy" depends="install">
+    <resolver:deploy artifactsref="output">
+      <remoteRepo id="dist" url="file:///${build.dir}/dist-repo"/>
+    </resolver:deploy>
+  </target>
+
+</project>

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/pom.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-ant-tasks/pom.xml b/maven-resolver-ant-tasks/pom.xml
new file mode 100644
index 0000000..85edc0d
--- /dev/null
+++ b/maven-resolver-ant-tasks/pom.xml
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<project xmlns="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";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven</groupId>
+    <artifactId>maven-parent</artifactId>
+    <version>30</version>
+    <relativePath>../pom/maven/pom.xml</relativePath>
+  </parent>
+
+  <groupId>org.apache.maven.resolver</groupId>
+  <artifactId>maven-resolver-ant-tasks</artifactId>
+  <version>1.1.0-SNAPSHOT</version>
+
+  <name>Maven Artifact Resolver Ant Tasks</name>
+  <description>
+    Ant tasks handling Maven artifacts using Maven Artifact Resolver and Maven 
Artifact Resolver Provider.
+  </description>
+  <url>https://maven.apache.org/resolver-ant-tasks/</url>
+  <inceptionYear>2010</inceptionYear>
+
+  <scm>
+    
<connection>scm:git:https://git-wip-us.apache.org/repos/asf/maven-resolver.git</connection>
+    
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/maven-resolver.git</developerConnection>
+    <url>https://github.com/apache/maven-resolver/tree/${project.scm.tag}</url>
+    <tag>ant-tasks</tag>
+  </scm>
+  <issueManagement>
+    <system>jira</system>
+    <url>https://issues.apache.org/jira/browse/MRESOLVER</url>
+  </issueManagement>
+  <ciManagement>
+    <system>Jenkins</system>
+    <url>https://builds.apache.org/job/maven-resolver-ant-tasks</url>
+  </ciManagement>
+  <distributionManagement>
+    <site>
+      <id>apache.website</id>
+      
<url>scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path}</url>
+    </site>
+  </distributionManagement>
+
+  <properties>
+    <mavenVersion>3.5.0</mavenVersion>
+    <resolverVersion>1.0.3</resolverVersion>
+    <javaVersion>7</javaVersion>
+    
<maven.site.path>resolver-archives/resolver-ant-tasks-LATEST</maven.site.path>
+    
<checkstyle.violation.ignore>LineLength,MagicNumber</checkstyle.violation.ignore>
+  </properties>
+
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-utils</artifactId>
+        <version>3.0.24</version>
+      </dependency>
+      <dependency>
+        <groupId>org.sonatype.plexus</groupId>
+        <artifactId>plexus-cipher</artifactId>
+        <version>1.7</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+    <dependency>
+      <!-- NOTE: The target runtime is actually Ant 1.7+ but for compilation 
we need some newer APIs -->
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.8.2</version>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.ant</groupId>
+          <artifactId>ant-launcher</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-api</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-util</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-impl</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-connector-basic</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-classpath</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-file</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-transport-http</artifactId>
+      <version>${resolverVersion}</version>
+    </dependency>
+    <dependency>
+      <!-- This shuts off annoying warnings from slf4j-api -->
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-nop</artifactId>
+      <version>1.6.2</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-resolver-provider</artifactId>
+      <version>${mavenVersion}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-annotations</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.eclipse.sisu</groupId>
+          <artifactId>org.eclipse.sisu.plexus</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-settings-builder</artifactId>
+      <version>${mavenVersion}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-component-annotations</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-interpolation</artifactId>
+      <version>1.16</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.sisu</groupId>
+      <artifactId>org.eclipse.sisu.plexus</artifactId>
+      <version>0.1.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>com.google.guava</groupId>
+          <artifactId>guava</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>javax.enterprise</groupId>
+          <artifactId>cdi-api</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-classworlds</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.codehaus.plexus</groupId>
+          <artifactId>plexus-utils</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.eclipse.sisu</groupId>
+          <artifactId>org.eclipse.sisu.inject</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.sonatype.sisu</groupId>
+          <artifactId>sisu-guice</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant-testutil</artifactId>
+      <version>1.8.2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant-launcher</artifactId>
+      <version>1.8.2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-library</artifactId>
+      <version>1.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.hamcrest</groupId>
+      <artifactId>hamcrest-core</artifactId>
+      <version>1.3</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.resolver</groupId>
+      <artifactId>maven-resolver-test-util</artifactId>
+      <version>${resolverVersion}</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <configuration>
+          <excludes combine.children="append">
+            <exclude>src/test/resources/**/*.txt</exclude>
+            <exclude>README.md</exclude>
+            <exclude>src/site/markdown/**/*.md.vm</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>2.4.3</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <createDependencyReducedPom>false</createDependencyReducedPom>
+              <shadedArtifactAttached>true</shadedArtifactAttached>
+              <shadedClassifierName>uber</shadedClassifierName>
+              <filters>
+                <filter>
+                  <artifact>org.eclipse.sisu:org.eclipse.sisu.plexus</artifact>
+                  <includes>
+                    <include>org/codehaus/plexus/logging/*LogEnabled*</include>
+                    <include>org/codehaus/plexus/logging/Logger*</include>
+                  </includes>
+                </filter>
+                <filter>
+                  <artifact>*:*</artifact>
+                  <excludes>
+                    <exclude>licenses/**</exclude>
+                  </excludes>
+                </filter>
+              </filters>
+              <transformers>
+                <transformer 
implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer"
 />
+              </transformers>
+              <relocations>
+                <relocation>
+                  <pattern>org.eclipse.aether</pattern>
+                  
<shadedPattern>org.apache.maven.resolver.internal.ant.org.eclipse.aether</shadedPattern>
+                  <excludes>
+                    <exclude>org.eclipse.aether.ant.**</exclude>
+                  </excludes>
+                </relocation>
+                <relocation>
+                  <pattern>org.sonatype.plexus</pattern>
+                  
<shadedPattern>org.apache.maven.resolver.internal.ant.org.sonatype.plexus</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache</pattern>
+                  
<shadedPattern>org.apache.maven.resolver.internal.ant.org.apache</shadedPattern>
+                  <excludes>
+                    <exclude>org.apache.tools.**</exclude>
+                    <exclude>org.apache.maven.aether.**</exclude>
+                  </excludes>
+                </relocation>
+                <relocation>
+                  <pattern>org.codehaus</pattern>
+                  
<shadedPattern>org.apache.maven.resolver.internal.ant.org.codehaus</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.slf4j</pattern>
+                  
<shadedPattern>org.apache.maven.resolver.internal.ant.org.slf4j</shadedPattern>
+                </relocation>
+              </relocations>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <profiles>
+    <profile>
+      <id>run-its</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <version>1.6</version>
+            <executions>
+              <execution>
+                <id>smoke-test</id>
+                <phase>integration-test</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <target>
+                    <ant antfile="build.xml" />
+                  </target>
+                </configuration>
+              </execution>
+            </executions>
+            <dependencies>
+              <dependency>
+                <groupId>org.apache.ant</groupId>
+                <artifactId>ant-junit</artifactId>
+                <version>1.8.2</version>
+              </dependency>
+            </dependencies>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/src/main/assembly/bin.xml
----------------------------------------------------------------------
diff --git a/maven-resolver-ant-tasks/src/main/assembly/bin.xml 
b/maven-resolver-ant-tasks/src/main/assembly/bin.xml
new file mode 100644
index 0000000..a2df39b
--- /dev/null
+++ b/maven-resolver-ant-tasks/src/main/assembly/bin.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  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.
+-->
+
+<assembly>
+  <id>bin</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <fileSets>
+    <fileSet>
+      <directory>target</directory>
+      <outputDirectory>.</outputDirectory>
+      <includes>
+        <include>*-uber.jar</include>
+        <include>*-uber.jar.asc</include>
+      </includes>
+      <excludes>
+        <exclude>*-sources.*</exclude>
+        <exclude>*-javadoc.*</exclude>
+      </excludes>
+    </fileSet>
+    <fileSet>
+      <directory>.</directory>
+      <includes>
+        <include>*.html</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</assembly>

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
----------------------------------------------------------------------
diff --git 
a/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
 
b/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
new file mode 100644
index 0000000..6b59f90
--- /dev/null
+++ 
b/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
@@ -0,0 +1,83 @@
+package org.apache.maven.resolver.internal.ant;
+
+/*
+ * 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.apache.maven.resolver.internal.ant.types.RemoteRepositories;
+import org.apache.tools.ant.Project;
+
+class AetherUtils
+{
+
+    public static File findGlobalSettings( Project project )
+    {
+        File file = new File( new File( project.getProperty( "ant.home" ), 
"etc" ), Names.SETTINGS_XML );
+        if ( file.isFile() )
+        {
+            return file;
+        }
+        else
+        {
+            String mavenHome = getMavenHome( project );
+            if ( mavenHome != null )
+            {
+                return new File( new File( mavenHome, "conf" ), 
Names.SETTINGS_XML );
+            }
+        }
+    
+        return null;
+    }
+
+    public static String getMavenHome( Project project )
+    {
+        String mavenHome = project.getProperty( "maven.home" );
+        if ( mavenHome != null )
+        {
+            return mavenHome;
+        }
+        return System.getenv( "M2_HOME" );
+    }
+
+    public static File findUserSettings( Project project )
+    {
+        File userHome = new File( project.getProperty( "user.home" ) );
+        File file = new File( new File( userHome, ".ant" ), Names.SETTINGS_XML 
);
+        if ( file.isFile() )
+        {
+            return file;
+        }
+        else
+        {
+            return new File( new File( userHome, ".m2" ), Names.SETTINGS_XML );
+        }
+    }
+
+    public static RemoteRepositories getDefaultRepositories( Project project )
+    {
+        Object obj = project.getReference( Names.ID_DEFAULT_REPOS );
+        if ( obj instanceof RemoteRepositories )
+        {
+            return (RemoteRepositories) obj;
+        }
+        return null;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
----------------------------------------------------------------------
diff --git 
a/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
 
b/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
new file mode 100644
index 0000000..711d653
--- /dev/null
+++ 
b/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
@@ -0,0 +1,68 @@
+package org.apache.maven.resolver.internal.ant;
+
+/*
+ * 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.apache.tools.ant.Project;
+import org.eclipse.aether.spi.log.Logger;
+
+/**
+ */
+class AntLogger
+    implements Logger
+{
+
+    private Project project;
+
+    public AntLogger( Project project )
+    {
+        this.project = project;
+    }
+
+    public void debug( String msg )
+    {
+        project.log( msg, Project.MSG_DEBUG );
+    }
+
+    public void debug( String msg, Throwable error )
+    {
+        project.log( msg, error, Project.MSG_DEBUG );
+    }
+
+    public boolean isDebugEnabled()
+    {
+        return true;
+    }
+
+    public boolean isWarnEnabled()
+    {
+        return true;
+    }
+
+    public void warn( String msg )
+    {
+        project.log( msg, Project.MSG_WARN );
+    }
+
+    public void warn( String msg, Throwable error )
+    {
+        project.log( msg, error, Project.MSG_WARN );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/a088cdfc/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
----------------------------------------------------------------------
diff --git 
a/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
 
b/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
new file mode 100644
index 0000000..43b64f7
--- /dev/null
+++ 
b/maven-resolver-ant-tasks/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
@@ -0,0 +1,180 @@
+package org.apache.maven.resolver.internal.ant;
+
+/*
+ * 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.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.building.FileModelSource;
+import org.apache.maven.model.building.ModelSource;
+import org.apache.maven.model.resolution.InvalidRepositoryException;
+import org.apache.maven.model.resolution.ModelResolver;
+import org.apache.maven.model.resolution.UnresolvableModelException;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.impl.RemoteRepositoryManager;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.repository.RepositoryPolicy;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResolutionException;
+
+/**
+ * A model resolver to assist building of dependency POMs. This resolver gives 
priority to those repositories that have
+ * been initially specified and repositories discovered in dependency POMs are 
recessively merged into the search chain.
+ * 
+ */
+class AntModelResolver
+    implements ModelResolver
+{
+
+    private final RepositorySystemSession session;
+
+    private final String context;
+
+    private List<org.eclipse.aether.repository.RemoteRepository> repositories;
+
+    private final RepositorySystem repoSys;
+
+    private final RemoteRepositoryManager remoteRepositoryManager;
+
+    private final Set<String> repositoryIds;
+
+    public AntModelResolver( RepositorySystemSession session, String context, 
RepositorySystem repoSys,
+                             RemoteRepositoryManager remoteRepositoryManager, 
List<RemoteRepository> repositories )
+    {
+        this.session = session;
+        this.context = context;
+        this.repoSys = repoSys;
+        this.remoteRepositoryManager = remoteRepositoryManager;
+        this.repositories = repositories;
+        this.repositoryIds = new HashSet<String>();
+    }
+
+    private AntModelResolver( AntModelResolver original )
+    {
+        this.session = original.session;
+        this.context = original.context;
+        this.repoSys = original.repoSys;
+        this.remoteRepositoryManager = original.remoteRepositoryManager;
+        this.repositories = original.repositories;
+        this.repositoryIds = new HashSet<String>( original.repositoryIds );
+    }
+
+    public void addRepository( Repository repository )
+        throws InvalidRepositoryException
+    {
+        if ( !repositoryIds.add( repository.getId() ) )
+        {
+            return;
+        }
+
+        List<RemoteRepository> newRepositories = Collections.singletonList( 
convert( repository ) );
+
+        this.repositories =
+            remoteRepositoryManager.aggregateRepositories( session, 
repositories, newRepositories, true );
+    }
+
+    static RemoteRepository convert( Repository repository )
+    {
+        RemoteRepository.Builder builder =
+            new RemoteRepository.Builder( repository.getId(), 
repository.getLayout(), repository.getUrl() );
+        builder.setSnapshotPolicy( convert( repository.getSnapshots() ) );
+        builder.setReleasePolicy( convert( repository.getReleases() ) );
+        return builder.build();
+    }
+
+    private static RepositoryPolicy convert( 
org.apache.maven.model.RepositoryPolicy policy )
+    {
+        boolean enabled = true;
+        String checksums = RepositoryPolicy.CHECKSUM_POLICY_WARN;
+        String updates = RepositoryPolicy.UPDATE_POLICY_DAILY;
+
+        if ( policy != null )
+        {
+            enabled = policy.isEnabled();
+            if ( policy.getUpdatePolicy() != null )
+            {
+                updates = policy.getUpdatePolicy();
+            }
+            if ( policy.getChecksumPolicy() != null )
+            {
+                checksums = policy.getChecksumPolicy();
+            }
+        }
+
+        return new RepositoryPolicy( enabled, updates, checksums );
+    }
+
+    public ModelResolver newCopy()
+    {
+        return new AntModelResolver( this );
+    }
+
+    public ModelSource resolveModel( String groupId, String artifactId, String 
version )
+        throws UnresolvableModelException
+    {
+        Artifact pomArtifact = new DefaultArtifact( groupId, artifactId, "", 
"pom", version );
+
+        try
+        {
+            ArtifactRequest request = new ArtifactRequest( pomArtifact, 
repositories, context );
+            pomArtifact = repoSys.resolveArtifact( session, request 
).getArtifact();
+        }
+        catch ( ArtifactResolutionException e )
+        {
+            throw new UnresolvableModelException( "Failed to resolve POM for " 
+ groupId + ":" + artifactId + ":"
+                + version + " due to " + e.getMessage(), groupId, artifactId, 
version, e );
+        }
+
+        File pomFile = pomArtifact.getFile();
+
+        return new FileModelSource( pomFile );
+    }
+
+    @Override
+    public ModelSource resolveModel( Parent parent )
+        throws UnresolvableModelException
+    {
+        return resolveModel( parent.getGroupId(), parent.getArtifactId(), 
parent.getVersion() );
+    }
+
+    @Override
+    public ModelSource resolveModel( Dependency dependency )
+        throws UnresolvableModelException
+    {
+        return resolveModel( dependency.getGroupId(), 
dependency.getArtifactId(), dependency.getVersion() );
+    }
+
+    @Override
+    public void addRepository( Repository repository, boolean replace )
+        throws InvalidRepositoryException
+    {
+        addRepository( repository );
+    }
+
+}

Reply via email to