Added: websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/comparison.html ============================================================================== --- websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/comparison.html (added) +++ websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/comparison.html Thu Jan 7 17:39:46 2016 @@ -0,0 +1,335 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 2016-01-07 + | Rendered using Apache Maven Fluido Skin 1.4 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="author" content="Robert Scholte" /> + <meta name="Date-Creation-yyyymmdd" content="20151228" /> + <meta name="Date-Revision-yyyymmdd" content="20160107" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Apache Maven Artifact Transfer – Introduction</title> + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + + + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> + + + +<script src="https://www.google-analytics.com/urchin.js" type="text/javascript"></script> + + +<script type="text/javascript">_uacct = "UA-140879-1"; + urchinTracker();</script> + + </head> + <body class="topBarDisabled"> + + + + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <a href="http://www.apache.org/" id="bannerLeft"> + <img src="../../images/apache-maven-project.png" /> + </a> + </div> + <div class="pull-right"> <a href="../../" id="bannerRight"> + <img src="../../images/maven-logo-black-on-white.png" /> + </a> + </div> + <div class="clear"><hr/></div> + </div> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li class=""> + <a href="http://www.apache.org/" class="externalLink" title="Apache"> + Apache</a> + <span class="divider">/</span> + </li> + <li class=""> + <a href="../../index.html" title="Maven"> + Maven</a> + <span class="divider">/</span> + </li> + <li class=""> + <a href="../index.html" title="Shared Components"> + Shared Components</a> + <span class="divider">/</span> + </li> + <li class=""> + <a href="./" title="Apache Maven Artifact Transfer"> + Apache Maven Artifact Transfer</a> + <span class="divider">/</span> + </li> + <li class="active ">Introduction</li> + + + + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-01-07</li> + <li id="projectVersion" class="pull-right"> + Version: 3.0-SNAPSHOT + </li> + + </ul> + </div> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Project Documentation</li> + + <li> + + <a href="project-info.html" title="Project Information"> + <span class="icon-chevron-right"></span> + Project Information</a> + </li> + + <li> + + <a href="project-reports.html" title="Project Reports"> + <span class="icon-chevron-right"></span> + Project Reports</a> + </li> + <li class="nav-header">Maven Projects</li> + + <li> + + <a href="../../ant-tasks/index.html" title="Ant Tasks"> + <span class="none"></span> + Ant Tasks</a> + </li> + + <li> + + <a href="../../archetype/index.html" title="Archetype"> + <span class="none"></span> + Archetype</a> + </li> + + <li> + + <a href="../../doxia/index.html" title="Doxia"> + <span class="none"></span> + Doxia</a> + </li> + + <li> + + <a href="../../jxr/index.html" title="JXR"> + <span class="none"></span> + JXR</a> + </li> + + <li> + + <a href="../../ref/current" title="Maven"> + <span class="none"></span> + Maven</a> + </li> + + <li> + + <a href="../../pom/index.html" title="Parent POMs"> + <span class="none"></span> + Parent POMs</a> + </li> + + <li> + + <a href="../../plugins/index.html" title="Plugins"> + <span class="none"></span> + Plugins</a> + </li> + + <li> + + <a href="../../plugin-testing/index.html" title="Plugin Testing"> + <span class="none"></span> + Plugin Testing</a> + </li> + + <li> + + <a href="../../plugin-tools/index.html" title="Plugin Tools"> + <span class="none"></span> + Plugin Tools</a> + </li> + + <li> + + <a href="../../apache-resource-bundles/index.html" title="Resource Bundles"> + <span class="none"></span> + Resource Bundles</a> + </li> + + <li> + + <a href="../../scm/index.html" title="SCM"> + <span class="none"></span> + SCM</a> + </li> + + <li> + + <a href="../index.html" title="Shared Components"> + <span class="none"></span> + Shared Components</a> + </li> + + <li> + + <a href="../../skins/index.html" title="Skins"> + <span class="none"></span> + Skins</a> + </li> + + <li> + + <a href="../../surefire/index.html" title="Surefire"> + <span class="none"></span> + Surefire</a> + </li> + + <li> + + <a href="../../wagon/index.html" title="Wagon"> + <span class="none"></span> + Wagon</a> + </li> + <li class="nav-header">ASF</li> + + <li> + + <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works"> + <span class="none"></span> + How Apache Works</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation"> + <span class="none"></span> + Foundation</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache"> + <span class="none"></span> + Sponsoring Apache</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> + <span class="none"></span> + Thanks</a> + </li> + </ul> + + + <form id="search-form" action="https://www.google.com/search" method="get" > + + <input value="$sitesearchValue" name="sitesearch" type="hidden"/> + <input class="search-query" name="q" id="query" type="text" /> +</form> +<script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=search-form"></script> + + <hr /> + + <div id="poweredBy"> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + + <div class="g-plusone" data-href="http://maven.apache.org/shared/maven-artifact-transfer/" data-size="tall" ></div> + + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + <!-- 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. --><!-- NOTE: For help with the syntax of this file, see: --><!-- http://maven.apache.org/doxia/references/ apt-format.html --><div class="section"> +<h2><a name="Comparison"></a>Comparison</h2> +<p>Here's a small matrix which should help you choosing the right instance. </p> +<p>In general: </p> +<ul> +<li>an Artifact holds a file mapped on a certain coordinate.</li> +<li>a Dependency contains an artifact and has transitive information</li> +<li>a MavenProject hold a pom-file and optional mainfile and can have attached (=classified) files, all using the same GAV. +<table border="1" class="table table-striped"> +<tr class="a"> +<th align="left"></th> +<th align="left">Dependency</th> +<th align="left">Artifact</th> +<th align="left">MavenProject</th></tr> +<tr class="b"> +<td align="left">Has dependencies</td> +<td align="left">yes</td> +<td align="left">no</td> +<td align="left">yes</td></tr> +<tr class="a"> +<td align="left">filetype reference</td> +<td align="left">type</td> +<td align="left">file-extension</td> +<td align="left">packaging</td></tr> +<tr class="b"> +<td align="left">version ranges</td> +<td align="left">yes</td> +<td align="left">no</td> +<td align="left">no</td></tr> +<tr class="a"> +<td align="left">attached artifacts</td> +<td align="left">no</td> +<td align="left">no</td> +<td align="left">yes</td></tr></table></li></ul></div> +<div class="section"> +<h2><a name="This_implies_the_following:"></a>This implies the following:</h2> +<ul> +<li>From dependency to artifact is possible, since you can map a type to an extension. However, it is not possible to go from artifact back to dependency, there are several types which have jar as file extension.</li> +<li>There's no such thing as transitive artifacts. Filtering during resolution as based on DependencyFilters, ArtifactFilters can only be applied afterwards, hence are less efficient.</li></ul></div> + </div> + </div> + </div> + + <hr/> + + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + <p >Copyright © 2002–2016 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. + All rights reserved. + + </p> + </div> + + + </div> + </footer> + </body> +</html> \ No newline at end of file
Modified: websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/cpd.html ============================================================================== --- websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/cpd.html (original) +++ websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/cpd.html Thu Jan 7 17:39:46 2016 @@ -1,330 +1,632 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2015-05-30 - | Rendered using Apache Maven Stylus Skin 1.5 + | Generated by Apache Maven Doxia at 2016-01-07 + | Rendered using Apache Maven Fluido Skin 1.4 --> -<html xmlns="http://www.w3.org/1999/xhtml"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="Date-Revision-yyyymmdd" content="20160107" /> + <meta http-equiv="Content-Language" content="en" /> <title>Apache Maven Artifact Transfer – CPD Results</title> - <style type="text/css" media="all"> - @import url("./css/maven-base.css"); - @import url("./css/maven-theme.css"); - @import url("./css/site.css"); - </style> - <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" /> - <meta name="Date-Revision-yyyymmdd" content="20150530" /> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - -<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script> - + <link rel="stylesheet" href="./css/apache-maven-fluido-1.4.min.css" /> + <link rel="stylesheet" href="./css/site.css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + + + <script type="text/javascript" src="./js/apache-maven-fluido-1.4.min.js"></script> + + + +<script src="https://www.google-analytics.com/urchin.js" type="text/javascript"></script> + + <script type="text/javascript">_uacct = "UA-140879-1"; urchinTracker();</script> - </head> - <body class="composite"> - <div id="banner"> - <a href="../../" id="bannerLeft"> - <img src="../../images/apache-maven-project-2.png" alt="" /> + + </head> + <body class="topBarDisabled"> + + + + + <div class="container-fluid"> + <div id="banner"> + <div class="pull-left"> + <a href="http://www.apache.org/" id="bannerLeft"> + <img src="../../images/apache-maven-project.png" /> </a> - <span id="bannerRight"> - <img src="../../images/maven-logo-2.gif" alt="" /> - </span> - <div class="clear"> - <hr/> + </div> + <div class="pull-right"> <a href="../../" id="bannerRight"> + <img src="../../images/maven-logo-black-on-white.png" /> + </a> + </div> + <div class="clear"><hr/></div> </div> - </div> - <div id="breadcrumbs"> + + <div id="breadcrumbs"> + <ul class="breadcrumb"> + + + <li class=""> + <a href="http://www.apache.org/" class="externalLink" title="Apache"> + Apache</a> + <span class="divider">/</span> + </li> + <li class=""> + <a href="../../index.html" title="Maven"> + Maven</a> + <span class="divider">/</span> + </li> + <li class=""> + <a href="../index.html" title="Shared Components"> + Shared Components</a> + <span class="divider">/</span> + </li> + <li class=""> + <a href="./" title="Apache Maven Artifact Transfer"> + Apache Maven Artifact Transfer</a> + <span class="divider">/</span> + </li> + <li class="active ">CPD Results</li> + + + + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2016-01-07</li> + <li id="projectVersion" class="pull-right"> + Version: 3.0-SNAPSHOT + </li> - <div class="xleft"> - <a href="http://www.apache.org/" class="externalLink">Apache</a> - > - <a href="../../index.html">Maven</a> - > - <a href="../index.html">Shared Components</a> - > - <a href="./">Apache Maven Artifact Transfer</a> - > - CPD Results - </div> - <div class="xright"> - Last Published: 2015-05-30 - | Version: 0.0.1-SNAPSHOT - </div> - <div class="clear"> - <hr/> + </ul> </div> - </div> - <div id="leftColumn"> - <div id="navcolumn"> - - <h5>Project Documentation</h5> - <ul> - <li class="collapsed"> - <a href="project-info.html">Project Information</a> + + + <div class="row-fluid"> + <div id="leftColumn" class="span2"> + <div class="well sidebar-nav"> + + + <ul class="nav nav-list"> + <li class="nav-header">Project Documentation</li> + + <li> + + <a href="project-info.html" title="Project Information"> + <span class="icon-chevron-right"></span> + Project Information</a> </li> - <li class="expanded"> - <a href="project-reports.html">Project Reports</a> - <ul> - <li class="none"> - <a href="surefire-report.html">Surefire Report</a> - </li> - <li class="none"> - <a href="checkstyle.html">Checkstyle</a> - </li> - <li class="none"> - <strong>CPD</strong> + + <li> + + <a href="project-reports.html" title="Project Reports"> + <span class="icon-chevron-down"></span> + Project Reports</a> + <ul class="nav nav-list"> + + <li> + + <a href="surefire-report.html" title="Surefire Report"> + <span class="none"></span> + Surefire Report</a> + </li> + + <li> + + <a href="checkstyle.html" title="Checkstyle"> + <span class="none"></span> + Checkstyle</a> + </li> + + <li class="active"> + + <a href="#"><span class="none"></span>CPD</a> </li> - <li class="none"> - <a href="xref/index.html">Source Xref</a> - </li> - <li class="none"> - <a href="xref-test/index.html">Test Source Xref</a> - </li> - <li class="none"> - <a href="taglist.html">Tag List</a> - </li> - <li class="none"> - <a href="apidocs/index.html">JavaDocs</a> - </li> - <li class="none"> - <a href="testapidocs/index.html">Test JavaDocs</a> - </li> - <li class="none"> - <a href="findbugs.html">FindBugs</a> - </li> - <li class="none"> - <a href="sonar.html">Sonar</a> + + <li> + + <a href="pmd.html" title="PMD"> + <span class="none"></span> + PMD</a> + </li> + + <li> + + <a href="xref/index.html" title="Source Xref"> + <span class="none"></span> + Source Xref</a> + </li> + + <li> + + <a href="xref-test/index.html" title="Test Source Xref"> + <span class="none"></span> + Test Source Xref</a> + </li> + + <li> + + <a href="taglist.html" title="Tag List"> + <span class="none"></span> + Tag List</a> + </li> + + <li> + + <a href="apidocs/index.html" title="JavaDocs"> + <span class="none"></span> + JavaDocs</a> + </li> + + <li> + + <a href="testapidocs/index.html" title="Test JavaDocs"> + <span class="none"></span> + Test JavaDocs</a> + </li> + + <li> + + <a href="findbugs.html" title="FindBugs"> + <span class="none"></span> + FindBugs</a> + </li> + + <li> + + <a href="sonar.html" title="Sonar"> + <span class="none"></span> + Sonar</a> </li> </ul> </li> - </ul> - <h5>Maven Projects</h5> - <ul> - <li class="none"> - <a href="../../ant-tasks/index.html">Ant Tasks</a> - </li> - <li class="none"> - <a href="../../archetype/index.html">Archetype</a> - </li> - <li class="none"> - <a href="../../doxia/index.html">Doxia</a> - </li> - <li class="none"> - <a href="../../jxr/index.html">JXR</a> - </li> - <li class="none"> - <a href="../../ref/current">Maven</a> - </li> - <li class="none"> - <a href="../../pom/index.html">Parent POMs</a> - </li> - <li class="none"> - <a href="../../plugins/index.html">Plugins</a> - </li> - <li class="none"> - <a href="../../plugin-testing/index.html">Plugin Testing</a> - </li> - <li class="none"> - <a href="../../plugin-tools/index.html">Plugin Tools</a> - </li> - <li class="none"> - <a href="../../apache-resource-bundles/index.html">Resource Bundles</a> - </li> - <li class="none"> - <a href="../../scm/index.html">SCM</a> - </li> - <li class="none"> - <a href="../index.html">Shared Components</a> - </li> - <li class="none"> - <a href="../../skins/index.html">Skins</a> - </li> - <li class="none"> - <a href="../../surefire/index.html">Surefire</a> - </li> - <li class="none"> - <a href="../../wagon/index.html">Wagon</a> - </li> - </ul> - <h5>ASF</h5> - <ul> - <li class="none"> - <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink">How Apache Works</a> - </li> - <li class="none"> - <a href="http://www.apache.org/foundation/" class="externalLink">Foundation</a> - </li> - <li class="none"> - <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsoring Apache</a> - </li> - <li class="none"> - <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a> - </li> - </ul> - <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> - <img alt="Built by Maven" src="./images/logos/maven-feather.png"/> - </a> - - </div> - </div> - <div id="bodyColumn"> - <div id="contentBox"> - <div class="section"> + <li class="nav-header">Maven Projects</li> + + <li> + + <a href="../../ant-tasks/index.html" title="Ant Tasks"> + <span class="none"></span> + Ant Tasks</a> + </li> + + <li> + + <a href="../../archetype/index.html" title="Archetype"> + <span class="none"></span> + Archetype</a> + </li> + + <li> + + <a href="../../doxia/index.html" title="Doxia"> + <span class="none"></span> + Doxia</a> + </li> + + <li> + + <a href="../../jxr/index.html" title="JXR"> + <span class="none"></span> + JXR</a> + </li> + + <li> + + <a href="../../ref/current" title="Maven"> + <span class="none"></span> + Maven</a> + </li> + + <li> + + <a href="../../pom/index.html" title="Parent POMs"> + <span class="none"></span> + Parent POMs</a> + </li> + + <li> + + <a href="../../plugins/index.html" title="Plugins"> + <span class="none"></span> + Plugins</a> + </li> + + <li> + + <a href="../../plugin-testing/index.html" title="Plugin Testing"> + <span class="none"></span> + Plugin Testing</a> + </li> + + <li> + + <a href="../../plugin-tools/index.html" title="Plugin Tools"> + <span class="none"></span> + Plugin Tools</a> + </li> + + <li> + + <a href="../../apache-resource-bundles/index.html" title="Resource Bundles"> + <span class="none"></span> + Resource Bundles</a> + </li> + + <li> + + <a href="../../scm/index.html" title="SCM"> + <span class="none"></span> + SCM</a> + </li> + + <li> + + <a href="../index.html" title="Shared Components"> + <span class="none"></span> + Shared Components</a> + </li> + + <li> + + <a href="../../skins/index.html" title="Skins"> + <span class="none"></span> + Skins</a> + </li> + + <li> + + <a href="../../surefire/index.html" title="Surefire"> + <span class="none"></span> + Surefire</a> + </li> + + <li> + + <a href="../../wagon/index.html" title="Wagon"> + <span class="none"></span> + Wagon</a> + </li> + <li class="nav-header">ASF</li> + + <li> + + <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How Apache Works"> + <span class="none"></span> + How Apache Works</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/" class="externalLink" title="Foundation"> + <span class="none"></span> + Foundation</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsoring Apache"> + <span class="none"></span> + Sponsoring Apache</a> + </li> + + <li> + + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> + <span class="none"></span> + Thanks</a> + </li> + </ul> + + + <form id="search-form" action="https://www.google.com/search" method="get" > + + <input value="$sitesearchValue" name="sitesearch" type="hidden"/> + <input class="search-query" name="q" id="query" type="text" /> +</form> +<script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=search-form"></script> + + <hr /> + + <div id="poweredBy"> + + <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> + + + <div class="g-plusone" data-href="http://maven.apache.org/shared/maven-artifact-transfer/" data-size="tall" ></div> + + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <div class="clear"></div> + <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"> + <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /> + </a> + </div> + </div> + </div> + + + <div id="bodyColumn" class="span10" > + + <div class="section"> <h2><a name="CPD_Results"></a>CPD Results</h2> -<p>The following document contains the results of PMD's <a class="externalLink" href="http://pmd.sourceforge.net/cpd.html">CPD</a> 5.0.5.</p></div> +<p>The following document contains the results of PMD's <a class="externalLink" href="http://pmd.sourceforge.net/cpd.html">CPD</a> 5.3.2.</p></div> <div class="section"> <h2><a name="Duplications"></a>Duplications</h2> -<table border="0" class="bodyTable"> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.html#L94">94</a></td></tr> +<td>org\apache\maven\shared\dependency\collect\internal\Maven30ArtifactRepositoryAdapter.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/collect/internal/Maven30ArtifactRepositoryAdapter.html#L48">48</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.html#L95">95</a></td></tr> +<td>org\apache\maven\shared\dependency\collect\internal\Maven31ArtifactRepositoryAdapter.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/collect/internal/Maven31ArtifactRepositoryAdapter.html#L48">48</a></td></tr> <tr class="b"><td colspan='2'> <div> -<pre> catch ( ArtifactResolutionException e ) - { - throw new ArtifactResolverException( e.getMessage(), e ); - } +<pre> public Maven30ArtifactRepositoryAdapter( RemoteRepository remoteRepository ) + { + this.remoteRepository = remoteRepository; } - public void resolveTransitively( ProjectBuildingRequest buildingRequest, - org.apache.maven.artifact.Artifact mavenArtifact, - List<ArtifactRepository> remoteRepositories ) - throws ArtifactResolverException + @Override + public String pathOf( Artifact artifact ) { - resolveTransitively( buildingRequest, mavenArtifact, remoteRepositories, null ); + throw new UnsupportedOperationException(); } - public void resolveTransitively( ProjectBuildingRequest buildingRequest, - org.apache.maven.artifact.Artifact mavenArtifact, - List<ArtifactRepository> remoteRepositories, - TransformableFilter dependencyFilter ) - throws ArtifactResolverException + @Override + public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata ) { - Artifact aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", org.apache.maven.artifact.Artifact.class, - mavenArtifact ); + throw new UnsupportedOperationException(); + } - @SuppressWarnings( "unchecked" ) - List<RemoteRepository> aetherRepositories = - (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, remoteRepositories ); + @Override + public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository ) + { + throw new UnsupportedOperationException(); + } - RepositorySystemSession session = - (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + @Override + public String getUrl() + { + return remoteRepository.getUrl(); + } - try - { - // use descriptor to respect relocation - ArtifactDescriptorRequest descriptorRequest = - new ArtifactDescriptorRequest( aetherArtifact, aetherRepositories, null ); + @Override + public void setUrl( String url ) + { + throw new UnsupportedOperationException(); + } - ArtifactDescriptorResult descriptorResult = - repositorySystem.readArtifactDescriptor( session, descriptorRequest ); + @Override + public String getBasedir() + { + throw new UnsupportedOperationException(); + } - CollectRequest request = - new CollectRequest( descriptorResult.getDependencies(), descriptorResult.getManagedDependencies(), - aetherRepositories ); + @Override + public String getProtocol() + { + throw new UnsupportedOperationException(); + } - DependencyFilter depFilter = null; - if ( dependencyFilter != null ) - { - depFilter = dependencyFilter.transform( new SonatypeAetherFilterTransformer() );</pre></div></td></tr></table> -<table border="0" class="bodyTable"> -<tr class="a"> -<th>File</th> -<th>Line</th></tr> -<tr class="b"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.html#L53">53</a></td></tr> -<tr class="a"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.html#L54">54</a></td></tr> -<tr class="b"><td colspan='2'> -<div> -<pre> implements ArtifactResolver -{ - @Requirement - private RepositorySystem repositorySystem; + @Override + public String getId() + { + return remoteRepository.getId(); + } - public org.apache.maven.artifact.Artifact resolveArtifact( ProjectBuildingRequest buildingRequest, - org.apache.maven.artifact.Artifact mavenArtifact, - List<ArtifactRepository> remoteRepositories ) - throws ArtifactResolverException + @Override + public void setId( String id ) { - Artifact aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", org.apache.maven.artifact.Artifact.class, - mavenArtifact ); + throw new UnsupportedOperationException(); + } - @SuppressWarnings( "unchecked" ) - List<RemoteRepository> aetherRepositories = - (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, remoteRepositories ); + @Override + public ArtifactRepositoryPolicy getSnapshots() + { + throw new UnsupportedOperationException(); + } - RepositorySystemSession session = - (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + @Override + public void setSnapshotUpdatePolicy( ArtifactRepositoryPolicy policy ) + { + throw new UnsupportedOperationException(); + } - try - { - // use descriptor to respect relocation - ArtifactDescriptorRequest descriptorRequest = - new ArtifactDescriptorRequest( aetherArtifact, aetherRepositories, null ); + @Override + public ArtifactRepositoryPolicy getReleases() + { + throw new UnsupportedOperationException(); + } - ArtifactDescriptorResult descriptorResult = - repositorySystem.readArtifactDescriptor( session, descriptorRequest ); + @Override + public void setReleaseUpdatePolicy( ArtifactRepositoryPolicy policy ) + { + throw new UnsupportedOperationException(); + } - ArtifactRequest request = new ArtifactRequest( descriptorResult.getArtifact(), aetherRepositories, null ); + @Override + public ArtifactRepositoryLayout getLayout() + { + throw new UnsupportedOperationException(); + } + + @Override + public void setLayout( ArtifactRepositoryLayout layout ) + { + throw new UnsupportedOperationException(); + } + + @Override + public String getKey() + { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isUniqueVersion() + { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isBlacklisted() + { + throw new UnsupportedOperationException(); + } + + @Override + public void setBlacklisted( boolean blackListed ) + { + throw new UnsupportedOperationException(); + } + + @Override + public Artifact find( Artifact artifact ) + { + throw new UnsupportedOperationException(); + } - Artifact resolvedArtifact = repositorySystem.resolveArtifact( session, request ).getArtifact(); + @Override + public List<String> findVersions( Artifact artifact ) + { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isProjectAware() + { + throw new UnsupportedOperationException(); + } + + @Override + public void setAuthentication( Authentication authentication ) + { + throw new UnsupportedOperationException(); + } + + @Override + public Authentication getAuthentication() + { + throw new UnsupportedOperationException(); + } + + @Override + public void setProxy( Proxy proxy ) + { + throw new UnsupportedOperationException(); + } - return (org.apache.maven.artifact.Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - Artifact.class, resolvedArtifact ); + @Override + public Proxy getProxy() + { + throw new UnsupportedOperationException(); + } + + @Override + public String toString() + { + StringBuilder sb = new StringBuilder(); + + sb.append( " id: " ).append( getId() ).append( "\n" ); + sb.append( " url: " ).append( getUrl() ).append( "\n" ); + sb.append( " layout: " ).append( "default" ).append( "\n" ); + + RepositoryPolicy snapshotPolicy = remoteRepository.getPolicy( true ); + sb.append( "snapshots: [enabled => " ).append( snapshotPolicy.isEnabled() ); + sb.append( ", update => " ).append( snapshotPolicy.getUpdatePolicy() ).append( "]\n" ); + + RepositoryPolicy releasePolicy = remoteRepository.getPolicy( false ); + sb.append( " releases: [enabled => " ).append( releasePolicy.isEnabled() ); + sb.append( ", update => " ).append( releasePolicy.getUpdatePolicy() ).append( "]\n" ); + + return sb.toString(); + } + + + @Override + public int hashCode() + { + return remoteRepository.hashCode(); + } + + @Override + public boolean equals( Object obj ) + { + if ( this == obj ) + { + return true; } - catch ( ArtifactDescriptorException e )</pre></div></td></tr></table> -<table border="0" class="bodyTable"> + if ( obj == null ) + { + return false; + } + if ( getClass() != obj.getClass() ) + { + return false; + }</pre></div></td></tr></table> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.html#L45">45</a></td></tr> +<td>org\apache\maven\shared\artifact\deploy\internal\Maven30ArtifactDeployer.java</td> +<td><a href="./xref/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.html#L62">62</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.html#L44">44</a></td></tr> +<td>org\apache\maven\shared\artifact\deploy\internal\Maven31ArtifactDeployer.java</td> +<td><a href="./xref/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.html#L62">62</a></td></tr> <tr class="b"><td colspan='2'> <div> -<pre> implements ArtifactInstaller -{ - @Requirement - private RepositorySystem repositorySystem; - - public void install( ProjectBuildingRequest buildingRequest, - Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) - throws ArtifactInstallerException +<pre> public void deploy( ProjectBuildingRequest buildingRequest, ArtifactRepository remoteRepository, + Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) + throws ArtifactDeployerException { - // prepare installRequest - InstallRequest request = new InstallRequest(); + // prepare request + DeployRequest request = new DeployRequest(); + + RepositorySystemSession session = + (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + + RemoteRepository defaultRepository = null; + + if ( remoteRepository != null ) + { + defaultRepository = getRemoteRepository( session, remoteRepository ); + } // transform artifacts for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) { - Artifact mainArtifact = + Artifact aetherArtifact = (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", org.apache.maven.artifact.Artifact.class, mavenArtifact ); - request.addArtifact( mainArtifact ); + request.addArtifact( aetherArtifact ); + + RemoteRepository aetherRepository; + if ( remoteRepository == null ) + { + aetherRepository = getRemoteRepository( session, mavenArtifact.getRepository() ); + } + else + { + aetherRepository = defaultRepository; + } + + request.setRepository( aetherRepository ); for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() ) { if ( metadata instanceof ProjectArtifactMetadata ) { - Artifact pomArtifact = new SubArtifact( mainArtifact, "", "pom" ); + Artifact pomArtifact = new SubArtifact( aetherArtifact, "", "pom" ); pomArtifact = pomArtifact.setFile( ( (ProjectArtifactMetadata) metadata ).getFile() ); request.addArtifact( pomArtifact ); } else if ( // metadata instanceof SnapshotArtifactRepositoryMetadata || - metadata instanceof ArtifactRepositoryMetadata ) + metadata instanceof ArtifactRepositoryMetadata ) { // eaten, handled by repo system } @@ -335,30 +637,37 @@ } } - RepositorySystemSession session = - (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); - - // install + // deploy try { - repositorySystem.install( session, request ); + repositorySystem.deploy( session, request ); } - catch ( InstallationException e ) + catch ( DeploymentException e ) { - throw new ArtifactInstallerException( e.getMessage(), e ); + throw new ArtifactDeployerException( e.getMessage(), e ); } } -}</pre></div></td></tr></table> -<table border="0" class="bodyTable"> + + private RemoteRepository getRemoteRepository( RepositorySystemSession session, ArtifactRepository remoteRepository ) + throws ArtifactDeployerException + { + // CHECKSTYLE_OFF: LineLength + RemoteRepository aetherRepo = (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo", + org.apache.maven.artifact.repository.ArtifactRepository.class, + remoteRepository ); + // CHECKSTYLE_ON: LineLength + + if ( aetherRepo.getAuthentication() == null )</pre></div></td></tr></table> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.html#L44">44</a></td></tr> +<td>org\apache\maven\shared\repository\internal\Maven30RepositoryManager.java</td> +<td><a href="./xref/org/apache/maven/shared/repository/internal/Maven30RepositoryManager.html#L47">47</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.html#L44">44</a></td></tr> +<td>org\apache\maven\shared\repository\internal\Maven31RepositoryManager.java</td> +<td><a href="./xref/org/apache/maven/shared/repository/internal/Maven31RepositoryManager.html#L47">47</a></td></tr> <tr class="b"><td colspan='2'> <div> <pre> implements RepositoryManager @@ -367,21 +676,22 @@ @Requirement private RepositorySystem repositorySystem; - /** - * {@inheritDoc} - */ + @Requirement + private ArtifactHandlerManager artifactHandlerManager; + + @Override public String getPathForLocalArtifact( ProjectBuildingRequest buildingRequest, org.apache.maven.artifact.Artifact mavenArtifact ) { Artifact aetherArtifact; + RepositorySystemSession session; - + // LRM.getPathForLocalArtifact() won't throw an Exception, so translate reflection error to RuntimeException try { - aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - org.apache.maven.artifact.Artifact.class, mavenArtifact ); + aetherArtifact = (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); session = (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); } @@ -393,9 +703,29 @@ return session.getLocalRepositoryManager().getPathForLocalArtifact( aetherArtifact ); } - /** - * {@inheritDoc} - */ + @Override + public String getPathForLocalArtifact( ProjectBuildingRequest buildingRequest, ArtifactCoordinate coordinate ) + { + Artifact aetherArtifact; + + RepositorySystemSession session; + + // LRM.getPathForLocalArtifact() won't throw an Exception, so translate reflection error to RuntimeException + try + { + aetherArtifact = toArtifact( coordinate ); + + session = (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + } + catch ( RepositoryManagerException e ) + { + throw new RuntimeException( e.getMessage(), e ); + } + + return session.getLocalRepositoryManager().getPathForLocalArtifact( aetherArtifact ); + } + + @Override public ProjectBuildingRequest setLocalRepositoryBasedir( ProjectBuildingRequest buildingRequest, File basedir ) { ProjectBuildingRequest newRequest = new DefaultProjectBuildingRequest( buildingRequest ); @@ -421,32 +751,133 @@ LocalRepositoryManager localRepositoryManager = repositorySystem.newLocalRepositoryManager( new LocalRepository( basedir, repositoryType ) );</pre></div></td></tr></table> -<table border="0" class="bodyTable"> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.html#L69">69</a></td></tr> +<td>org\apache\maven\shared\artifact\resolve\internal\Maven30ArtifactResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.html#L48">48</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.html#L69">69</a></td></tr> +<td>org\apache\maven\shared\artifact\resolve\internal\Maven31ArtifactResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.html#L48">48</a></td></tr> <tr class="b"><td colspan='2'> <div> -<pre> org.apache.maven.artifact.repository.ArtifactRepository.class, - mavenArtifact.getRepository() ); - request.setRepository( aetherRepository ); - +<pre> implements ArtifactResolver +{ + @Requirement + private RepositorySystem repositorySystem; + + @Requirement + private ArtifactHandlerManager artifactHandlerManager; + + @Override + // CHECKSTYLE_OFF: LineLength + public org.apache.maven.shared.artifact.resolve.ArtifactResult resolveArtifact( ProjectBuildingRequest buildingRequest, + org.apache.maven.artifact.Artifact mavenArtifact ) + throws ArtifactResolverException + // CHECKSTYLE_ON: LineLength + { + Artifact aetherArtifact = (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); + + return resolveArtifact( buildingRequest, aetherArtifact ); + } + + @Override + // CHECKSTYLE_OFF: LineLength + public org.apache.maven.shared.artifact.resolve.ArtifactResult resolveArtifact( ProjectBuildingRequest buildingRequest, + ArtifactCoordinate coordinate ) + throws ArtifactResolverException + // CHECKSTYLE_ON: LineLength + { + Artifact aetherArtifact = + new DefaultArtifact( coordinate.getGroupId(), coordinate.getArtifactId(), coordinate.getClassifier(), + coordinate.getExtension(), coordinate.getVersion() ); + + return resolveArtifact( buildingRequest, aetherArtifact ); + } + + // CHECKSTYLE_OFF: LineLength + private org.apache.maven.shared.artifact.resolve.ArtifactResult resolveArtifact( ProjectBuildingRequest buildingRequest, + Artifact aetherArtifact ) + throws ArtifactResolverException + // CHECKSTYLE_ON: LineLength + { + @SuppressWarnings( "unchecked" ) + List<RemoteRepository> aetherRepositories = + (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, + buildingRequest.getRemoteRepositories() ); + + RepositorySystemSession session = + (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + + try + { + // use descriptor to respect relocation + ArtifactDescriptorRequest descriptorRequest = + new ArtifactDescriptorRequest( aetherArtifact, aetherRepositories, null ); + + ArtifactDescriptorResult descriptorResult = + repositorySystem.readArtifactDescriptor( session, descriptorRequest ); + + ArtifactRequest request = new ArtifactRequest( descriptorResult.getArtifact(), aetherRepositories, null ); + + return new Maven30ArtifactResult( repositorySystem.resolveArtifact( session, request ) );</pre></div></td></tr></table> +<table border="0" class="table table-striped"> +<tr class="a"> +<th>File</th> +<th>Line</th></tr> +<tr class="b"> +<td>org\apache\maven\shared\artifact\install\internal\Maven30ArtifactInstaller.java</td> +<td><a href="./xref/org/apache/maven/shared/artifact/install/internal/Maven30ArtifactInstaller.html#L47">47</a></td></tr> +<tr class="a"> +<td>org\apache\maven\shared\artifact\install\internal\Maven31ArtifactInstaller.java</td> +<td><a href="./xref/org/apache/maven/shared/artifact/install/internal/Maven31ArtifactInstaller.html#L47">47</a></td></tr> +<tr class="b"><td colspan='2'> +<div> +<pre> implements ArtifactInstaller +{ + @Requirement + private RepositorySystem repositorySystem; + + @Requirement + private RepositoryManager repositoryManager; + + @Override + public void install( ProjectBuildingRequest buildingRequest, + Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) + throws ArtifactInstallerException + { + install( buildingRequest, null, mavenArtifacts ); + } + + @Override + public void install( ProjectBuildingRequest buildingRequest, File localRepository, + Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) + throws ArtifactInstallerException + { + // prepare installRequest + InstallRequest request = new InstallRequest(); + + // transform artifacts + for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) + { + Artifact mainArtifact = + (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", + org.apache.maven.artifact.Artifact.class, mavenArtifact ); + request.addArtifact( mainArtifact ); + for ( ArtifactMetadata metadata : mavenArtifact.getMetadataList() ) { if ( metadata instanceof ProjectArtifactMetadata ) { - Artifact pomArtifact = new SubArtifact( aetherArtifact, "", "pom" ); + Artifact pomArtifact = new SubArtifact( mainArtifact, "", "pom" ); pomArtifact = pomArtifact.setFile( ( (ProjectArtifactMetadata) metadata ).getFile() ); request.addArtifact( pomArtifact ); } else if ( // metadata instanceof SnapshotArtifactRepositoryMetadata || - metadata instanceof ArtifactRepositoryMetadata ) + metadata instanceof ArtifactRepositoryMetadata ) { // eaten, handled by repo system } @@ -456,31 +887,176 @@ } } } - + + if ( localRepository != null ) + { + buildingRequest = repositoryManager.setLocalRepositoryBasedir( buildingRequest, localRepository ); + } + RepositorySystemSession session = (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + - // deploy + // install try { - repositorySystem.deploy( session, request ); + repositorySystem.install( session, request ); } - catch ( DeploymentException e ) + catch ( InstallationException e ) { - throw new ArtifactDeployerException( e.getMessage(), e ); + throw new ArtifactInstallerException( e.getMessage(), e ); } } }</pre></div></td></tr></table> -<table border="0" class="bodyTable"> +<table border="0" class="table table-striped"> +<tr class="a"> +<th>File</th> +<th>Line</th></tr> +<tr class="b"> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven30DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.html#L59">59</a></td></tr> +<tr class="a"> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven31DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.html#L60">60</a></td></tr> +<tr class="b"><td colspan='2'> +<div> +<pre> implements DependencyResolver +{ + @Requirement + private RepositorySystem repositorySystem; + + @Requirement + private ArtifactHandlerManager artifactHandlerManager; + + @Override + // CHECKSTYLE_OFF: LineLength + public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, + DependencyCoordinate coordinate, + TransformableFilter dependencyFilter ) + // CHECKSTYLE_ON: + // LineLength + throws DependencyResolverException + { + ArtifactTypeRegistry typeRegistry = + (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry", + ArtifactHandlerManager.class, artifactHandlerManager ); + + Dependency aetherRoot = toDependency( coordinate, typeRegistry ); + + @SuppressWarnings( "unchecked" ) + List<RemoteRepository> aetherRepositories = + (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, + buildingRequest.getRemoteRepositories() ); + + CollectRequest request = new CollectRequest( aetherRoot, aetherRepositories ); + + return resolveDependencies( buildingRequest, aetherRepositories, dependencyFilter, request ); + } + + @Override + // CHECKSTYLE_OFF: LineLength + public Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult> resolveDependencies( ProjectBuildingRequest buildingRequest, + Collection<org.apache.maven.model.Dependency> mavenDependencies, + Collection<org.apache.maven.model.Dependency> managedMavenDependencies, + TransformableFilter filter ) + // CHECKSTYLE_ON: + // LineLength + throws DependencyResolverException + { + ArtifactTypeRegistry typeRegistry = + (ArtifactTypeRegistry) Invoker.invoke( RepositoryUtils.class, "newArtifactTypeRegistry", + ArtifactHandlerManager.class, artifactHandlerManager ); + + final Class<?>[] argClasses = + new Class<?>[] { org.apache.maven.model.Dependency.class, ArtifactTypeRegistry.class }; + + List<Dependency> aetherDependencies = new ArrayList<Dependency>( mavenDependencies.size() );</pre></div></td></tr></table> +<table border="0" class="table table-striped"> +<tr class="a"> +<th>File</th> +<th>Line</th></tr> +<tr class="b"> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven30DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.html#L178">178</a></td></tr> +<tr class="a"> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven31DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.html#L178">178</a></td></tr> +<tr class="b"><td colspan='2'> +<div> +<pre> for ( ArtifactResult artifactResult : dependencyResults ) + { + artifactRequests.add( new ArtifactRequest( artifactResult.getArtifact(), aetherRepositories, null ) ); + } + + final List<ArtifactResult> artifactResults = repositorySystem.resolveArtifacts( session, artifactRequests ); + + // Keep it lazy! Often artifactsResults aren't used, so transforming up front is too expensive + return new Iterable<org.apache.maven.shared.artifact.resolve.ArtifactResult>() + { + @Override + public Iterator<org.apache.maven.shared.artifact.resolve.ArtifactResult> iterator() + { + Collection<org.apache.maven.shared.artifact.resolve.ArtifactResult> artResults = + new ArrayList<org.apache.maven.shared.artifact.resolve.ArtifactResult>( artifactResults.size() ); + + for ( ArtifactResult artifactResult : artifactResults ) + { + artResults.add( new Maven30ArtifactResult( artifactResult ) );</pre></div></td></tr></table> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/repository/internal/Maven30RepositoryManager.html#L103">103</a></td></tr> +<td>org\apache\maven\shared\dependency\collect\internal\Maven30CollectorResult.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/collect/internal/Maven30CollectorResult.html#L47">47</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/repository/internal/Maven31RepositoryManager.html#L97">97</a></td></tr> +<td>org\apache\maven\shared\dependency\collect\internal\Maven31CollectorResult.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/collect/internal/Maven31CollectorResult.html#L47">47</a></td></tr> +<tr class="b"><td colspan='2'> +<div> +<pre> public Maven30CollectorResult( CollectResult collectResult ) + { + this.collectResult = collectResult; + } + + @Override + public List<ArtifactRepository> getRemoteRepositories() + { + final Set<RemoteRepository> aetherRepositories = new HashSet<RemoteRepository>(); + + DependencyVisitor visitor = new DependencyVisitor() + { + @Override + public boolean visitEnter( DependencyNode node ) + { + aetherRepositories.addAll( node.getRepositories() ); + return true; + } + + @Override + public boolean visitLeave( DependencyNode node ) + { + return true; + } + }; + + collectResult.getRoot().accept( visitor ); + + List<ArtifactRepository> mavenRepositories = new ArrayList<ArtifactRepository>( aetherRepositories.size() ); + + for ( RemoteRepository aetherRepository : aetherRepositories ) + { + mavenRepositories.add( new Maven30ArtifactRepositoryAdapter( aetherRepository ) );</pre></div></td></tr></table> +<table border="0" class="table table-striped"> +<tr class="a"> +<th>File</th> +<th>Line</th></tr> +<tr class="b"> +<td>org\apache\maven\shared\repository\internal\Maven30RepositoryManager.java</td> +<td><a href="./xref/org/apache/maven/shared/repository/internal/Maven30RepositoryManager.html#L127">127</a></td></tr> +<tr class="a"> +<td>org\apache\maven\shared\repository\internal\Maven31RepositoryManager.java</td> +<td><a href="./xref/org/apache/maven/shared/repository/internal/Maven31RepositoryManager.html#L125">125</a></td></tr> <tr class="b"><td colspan='2'> <div> <pre> repositorySystem.newLocalRepositoryManager( new LocalRepository( basedir, repositoryType ) ); @@ -499,9 +1075,7 @@ return newRequest; } - /** - * {@inheritDoc} - */ + @Override public File getLocalRepositoryBasedir( ProjectBuildingRequest buildingRequest ) { RepositorySystemSession session; @@ -513,137 +1087,108 @@ { throw new RuntimeException( e.getMessage(), e ); } - return session.getLocalRepository().getBasedir(); } + /** + * @param localRepository {@link LocalRepository} + * @return the resolved type. + */ protected String resolveRepositoryType( LocalRepository localRepository ) {</pre></div></td></tr></table> -<table border="0" class="bodyTable"> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.html#L144">144</a></td></tr> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven30DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.html#L207">207</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.html#L147">147</a></td></tr> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven31DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.html#L209">209</a></td></tr> <tr class="b"><td colspan='2'> <div> -<pre> List<ArtifactResult> artifactResults = repositorySystem.resolveDependencies( session, request, depFilter ); - - Collection<ArtifactRequest> artifactRequests = new ArrayList<ArtifactRequest>( 1 + artifactResults.size() ); - - artifactRequests.add( new ArtifactRequest( descriptorResult.getArtifact(), aetherRepositories, null ) ); - - for ( ArtifactResult artifactResult : artifactResults ) - { - artifactRequests.add( new ArtifactRequest( artifactResult.getArtifact(), aetherRepositories, null ) ); - } - - repositorySystem.resolveArtifacts( session, artifactRequests ); - } - catch ( ArtifactDescriptorException e ) +<pre> catch ( DependencyCollectionException e ) { - throw new ArtifactResolverException( e.getMessage(), e ); + throw new DependencyResolverException( e.getMessage(), e ); } - catch ( ArtifactResolutionException e ) + } + + /** + * Based on RepositoryUtils#toDependency(org.apache.maven.model.Dependency, ArtifactTypeRegistry) + * + * @param coordinate + * @param stereotypes + * @return as Aether Dependency + */ + private static Dependency toDependency( DependencyCoordinate coordinate, ArtifactTypeRegistry stereotypes ) + { + ArtifactType stereotype = stereotypes.get( coordinate.getType() ); + if ( stereotype == null ) { - throw new ArtifactResolverException( e.getMessage(), e ); + stereotype = new DefaultArtifactType( coordinate.getType() ); } - catch ( DependencyCollectionException e )</pre></div></td></tr></table> -<table border="0" class="bodyTable"> + + Artifact artifact = + new DefaultArtifact( coordinate.getGroupId(), coordinate.getArtifactId(), coordinate.getClassifier(), null, + coordinate.getVersion(), null, stereotype ); + + return new Dependency( artifact, null ); + } +}</pre></div></td></tr></table> +<table border="0" class="table table-striped"> <tr class="a"> <th>File</th> <th>Line</th></tr> <tr class="b"> -<td>org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/deploy/internal/Maven30ArtifactDeployer.html#L46">46</a></td></tr> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven30DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven30DependencyResolver.html#L122">122</a></td></tr> <tr class="a"> -<td>org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/deploy/internal/Maven31ArtifactDeployer.html#L46">46</a></td></tr> +<td>org\apache\maven\shared\dependency\resolve\internal\Maven31DependencyResolver.java</td> +<td><a href="./xref/org/apache/maven/shared/dependency/resolve/internal/Maven31DependencyResolver.html#L121">121</a></td></tr> <tr class="b"><td colspan='2'> <div> -<pre> implements ArtifactDeployer -{ +<pre> aetherDependencies.add( aetherDependency ); + } + } - @Requirement - private RepositorySystem repositorySystem; + List<Dependency> aetherManagedDependencies = null; - public void deploy( ProjectBuildingRequest buildingRequest, - Collection<org.apache.maven.artifact.Artifact> mavenArtifacts ) - throws ArtifactDeployerException - { - // prepare request - DeployRequest request = new DeployRequest(); - - // transform artifacts - for ( org.apache.maven.artifact.Artifact mavenArtifact : mavenArtifacts ) + if ( managedMavenDependencies != null ) { - Artifact aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", - org.apache.maven.artifact.Artifact.class, mavenArtifact ); - request.addArtifact( aetherArtifact ); + aetherManagedDependencies = new ArrayList<Dependency>( managedMavenDependencies.size() ); - RemoteRepository aetherRepository = - (RemoteRepository) Invoker.invoke( RepositoryUtils.class, "toRepo",</pre></div></td></tr></table> -<table border="0" class="bodyTable"> -<tr class="a"> -<th>File</th> -<th>Line</th></tr> -<tr class="b"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.html#L60">60</a></td></tr> -<tr class="a"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven30ArtifactResolver.html#L111">111</a></td></tr> -<tr class="b"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.html#L61">61</a></td></tr> -<tr class="a"> -<td>org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.java</td> -<td><a href="./xref/org/apache/maven/shared/artifact/resolve/internal/Maven31ArtifactResolver.html#L111">111</a></td></tr> -<tr class="b"><td colspan='2'> -<div> -<pre> List<ArtifactRepository> remoteRepositories ) - throws ArtifactResolverException - { - Artifact aetherArtifact = - (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact", org.apache.maven.artifact.Artifact.class, - mavenArtifact ); + for ( org.apache.maven.model.Dependency mavenDependency : managedMavenDependencies ) + { + Object[] args = new Object[] { mavenDependency, typeRegistry }; + + Dependency aetherDependency = + (Dependency) Invoker.invoke( RepositoryUtils.class, "toDependency", argClasses, args ); + + aetherManagedDependencies.add( aetherDependency ); + } + } @SuppressWarnings( "unchecked" ) - List<RemoteRepository> aetherRepositories = - (List<RemoteRepository>) Invoker.invoke( RepositoryUtils.class, "toRepos", List.class, remoteRepositories ); + List<RemoteRepository> aetherRepositories =</pre></div></td></tr></table></div> + </div> + </div> + </div> - RepositorySystemSession session = - (RepositorySystemSession) Invoker.invoke( buildingRequest, "getRepositorySession" ); + <hr/> - try - { - // use descriptor to respect relocation - ArtifactDescriptorRequest descriptorRequest = - new ArtifactDescriptorRequest( aetherArtifact, aetherRepositories, null ); + <footer> + <div class="container-fluid"> + <div class="row-fluid"> + <p >Copyright © 2002–2016 + <a href="http://www.apache.org/">The Apache Software Foundation</a>. + All rights reserved. + + </p> + </div> - ArtifactDescriptorResult descriptorResult = - repositorySystem.readArtifactDescriptor( session, descriptorRequest );</pre></div></td></tr></table></div> - </div> - </div> - <div class="clear"> - <hr/> - </div> - <div id="footer"> - <div class="xright"> - © 2002-2015 - The Apache Software Foundation - - - <a href="http://maven.apache.org/privacy-policy.html">Privacy Policy</a>. - Apache Maven, Maven, Apache, the Apache feather logo, and the Apache Maven project logos are trademarks of The Apache Software Foundation. - </div> - <div class="clear"> - <hr/> - </div> - </div> - </body> + + </div> + </footer> + </body> </html> \ No newline at end of file Added: websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/css/apache-maven-fluido-1.4.min.css ============================================================================== --- websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/css/apache-maven-fluido-1.4.min.css (added) +++ websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/css/apache-maven-fluido-1.4.min.css Thu Jan 7 17:39:46 2016 @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. [... 3 lines stripped ...] Modified: websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/css/print.css ============================================================================== --- websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/css/print.css (original) +++ websites/production/maven/components/shared-archives/maven-artifact-transfer-LATEST/css/print.css Thu Jan 7 17:39:46 2016 @@ -1,7 +1,23 @@ -#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { - display: none !important; -} -#bodyColumn, body.docs div.docs { - margin: 0 !important; - border: none !important -} \ No newline at end of file +/* + * 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. + */ + +/* $Id$ */ + +#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn {display: none !important;} +#bodyColumn, body.docs div.docs {margin: 0 !important;border: none !important} \ No newline at end of file
