Modified: maven/website/content/project-faq.html ============================================================================== --- maven/website/content/project-faq.html (original) +++ maven/website/content/project-faq.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/fml/project-faq.fml at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/fml/project-faq.fml at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Frequently Asked Questions About Project Metadata</title> <link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="./" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="./" id="bannerRight"><img src="images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/fml/project-faq.fml"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Frequently Asked Questions About Project Metadata <a href="https://github.com/apache/maven-site/tree/master/content/fml/project-faq.fml"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="download.cgi" title="Download">Download</a></li> @@ -146,7 +143,7 @@ <main id="bodyColumn" class="span10" > <section><a id="top"></a> <h1>Frequently Asked Questions About Project Metadata</h1> -<ol style="list-style-type: decimal;"> +<ol style="list-style-type: decimal"> <li><a href="#why-care">Why do I care?</a></li> <li><a href="#how-to-improve-metadata">How do I make sure my project's dependency metadata is correct?</a></li></ol></section> <dl><a id="why-care"></a>
Modified: maven/website/content/project-info.html ============================================================================== --- maven/website/content/project-info.html (original) +++ maven/website/content/project-info.html Sun May 12 07:42:36 2024 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from org.apache.maven.plugins:maven-site-plugin:4.0.0-M14:project-info at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from org.apache.maven.plugins:maven-site-plugin:4.0.0-M8:project-info at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <title>Maven â Project Information</title> <link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="./css/site.css" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="./" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="./" id="bannerRight"><img src="images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -49,7 +47,7 @@ <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="index.html" title="Maven">Maven</a><span class="divider">/</span></li> <li class="active ">Project Information</li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="download.cgi" title="Download">Download</a></li> Modified: maven/website/content/project-roles.html ============================================================================== --- maven/website/content/project-roles.html (original) +++ maven/website/content/project-roles.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/project-roles.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/project-roles.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Apache Maven Project Roles</title> <link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="./" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="./" id="bannerRight"><img src="images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/project-roles.md"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Apache Maven Project Roles <a href="https://github.com/apache/maven-site/tree/master/content/markdown/project-roles.md"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="download.cgi" title="Download">Download</a></li> @@ -129,7 +126,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Apache_Maven_Project_Roles"></a> +<section> <h1>Apache Maven Project Roles</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -164,8 +161,8 @@ a <em>community</em> not a <em>clique</e with others in the community.</p> <p><em>Note:</em> the right to disagree with other people's opinions comes with the responsibility not to deliberately cause offence -or discord.</p><section><a id="Informal_roles"></a> -<h2>Informal roles</h2><section><a id="Lurkers"></a> +or discord.</p><section> +<h2>Informal roles</h2><section> <h3>Lurkers</h3> <p>People who do not use Maven at all, but have an interest in the project. This can include people who are developing @@ -178,7 +175,7 @@ of our community. If you ever feel the n we will welcome you with open arms… (and if we don't welcome you with open arms, please advise the <a href="mailto:priv...@maven.apache.org" class="externalLink">Project management committee</a> who are responsible for ensuring that the community is a healthy -one)</p></section><section><a id="Consumers"></a> +one)</p></section><section> <h3>Consumers</h3> <p>People who use Maven, but do not actively join the community. This does not include people who are: subscribed to one of the @@ -205,7 +202,7 @@ to getting more involved in the Maven co mind that Apache Foundation projects are supposed to encourage the community at the ASF, so you will get more eyes and a quicker response if you engage directly with the ASF hosted -community.</p></section><section><a id="Users"></a> +community.</p></section><section> <h3>Users</h3> <p>People who use Maven and have joined the community. This includes people who have:</p> <ul> @@ -225,7 +222,7 @@ answers you know? If everybody did that, have an answer. Pay it forward!</p> <p>We hope your experience in one of the other Maven user communities is a positive one, so why not join the canonical -Maven user community and subscribe to the <a href="mailto:us...@maven.apache.org" class="externalLink">Maven user list</a>?</p></section><section><a id="Contributors"></a> +Maven user community and subscribe to the <a href="mailto:us...@maven.apache.org" class="externalLink">Maven user list</a>?</p></section><section> <h3>Contributors</h3> <p>People who use Maven, have joined the Maven community and contribute back to the community. This includes people who:</p> @@ -241,8 +238,8 @@ related issues.</li> <p>We wrote <a href="/guides/development/guide-helping.html">a guide for contributors</a>.</p> <p>Keep up the contributions, you are a critical member of our community. If we like what we see, we may even ask you to -consider taking a formal role in our project.</p></section></section><section><a id="Formal_roles"></a> -<h2>Formal roles</h2><section><a id="Committers"></a> +consider taking a formal role in our project.</p></section></section><section> +<h2>Formal roles</h2><section> <h3><a href="https://www.apache.org/foundation/how-it-works.html#committers" class="externalLink">Committers</a></h3> <p>These are those people who have been given write access to the Apache Maven code repository and have a signed @@ -254,7 +251,7 @@ commit is covered by a valid CLA.</p> <p>Committers who would like to become PMC members should try to find ways to demonstrate the responsibilities listed in the PMC Members section in order to make it easier for PMC members to decide -that the committer is ready for the responsibility.</p></section><section><a id="Emeritus_committers"></a> +that the committer is ready for the responsibility.</p></section><section> <h3>Emeritus committers</h3> <p>If a committer decides that they cannot currently continue with the responsibilities of a committer, they may elect to go @@ -262,7 +259,7 @@ emeritus.</p> <p>At any time, an emeritus committer for the Apache Maven project may decide that they want to become an active committer again by informing the <a href="mailto:priv...@maven.apache.org" class="externalLink">project management committee</a>. The current -policy is that committer role reinstatement is automatic.</p></section><section><a id="Project_Management_Committee"></a> +policy is that committer role reinstatement is automatic.</p></section><section> <h3><a href="https://www.apache.org/foundation/how-it-works.html#pmc-members" class="externalLink">Project Management Committee</a></h3> <p>The Project Management Committee as a whole is the entity that controls the project. Membership of the Project Management Committee @@ -312,11 +309,11 @@ are covered by a compatible license.</li <li>Ensure <a href="/developers/index.html#Developers_Conventions">Developers Conventions</a> are followed, or updated/improved if necessary;</li> <li>Knows and respects the goals and processes of the community and helps educate newer members about them.</li> -</ul><section><a id="Standards_for_Community_Commitment"></a> +</ul><section> <h4>Standards for Community Commitment</h4> <p>In the spirit of supporting the health of our community, Project Management Committee members refrain from actions that subvert the -functioning of the committee itself.</p></section><section><a id="Promotion_of_other_projects"></a> +functioning of the committee itself.</p></section><section> <h4>Promotion of other projects</h4> <p>The Apache Foundation currently does not have a policy requiring projects to cross-promote. For example Subversion is an Apache project, yet projects @@ -339,7 +336,7 @@ technology - irrespective of whether the project hosted elsewhere.</p> <p>PMC members with a stated interest / involvement should try to abstain from making binding votes in either direction with respect to the relevant -technology choices.</p></section><section><a id="Forks_of_the_project_codebase"></a> +technology choices.</p></section><section> <h4>Forks of the project codebase</h4> <p>All code that gets released by the community should have sufficient opportunity for review both:</p> @@ -381,7 +378,7 @@ of the risk that review obligations may of the PMC and committers such that when they eventually decide to try and bring the changes in their fork back to the Apache Maven project their contribution may end up being rejected on the basis of the review of a -large set of changes being too difficult/time-consuming.</p></section></section><section><a id="Project_Management_Chair"></a> +large set of changes being too difficult/time-consuming.</p></section></section><section> <h3><a href="https://www.apache.org/foundation/how-it-works.html#pmc-chair" class="externalLink">Project Management Chair</a></h3> <p>For various legal reasons, there are certain things that the Apache Software Foundation can only delegate to an officer of the foundation.</p> Modified: maven/website/content/reference/maven-classloading.html ============================================================================== --- maven/website/content/reference/maven-classloading.html (original) +++ maven/website/content/reference/maven-classloading.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/reference/maven-classloading.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/reference/maven-classloading.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven classloading</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/reference/maven-classloading.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven classloading <a href="https://github.com/apache/maven-site/tree/master/content/markdown/reference/maven-classloading.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -129,7 +126,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_classloading"></a> +<section> <h1>Maven classloading</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -149,19 +146,20 @@ specific language governing permissions under the License. --> -<p><img src="maven-classloading.png" alt="" /></p><section><a id="ClassWorlds_bootstrap_classloader"></a> +<p><img src="maven-classloading.png" alt="" /></p><section> <h2>ClassWorlds bootstrap classloader</h2> <p>This classloader is created and managed by the calling environment: JVM launcher, integration testing harness, etc.</p> -<p>During normal command line Maven invocation this is the JVM System classloader and contains classes from <code>${maven.home}/boot/plexus-classworlds-*.jar</code> and classes from <code>-javaagent</code>.</p></section><section><a id="Maven_Core_classloader"></a> +<p>During normal command line Maven invocation this is the JVM System classloader and contains classes from <code>${maven.home}/boot/plexus-classworlds-*.jar</code> and classes from <code>-javaagent</code>.</p></section><section> <h2>Maven Core classloader</h2> <p>This classloader contains core Maven runtime classes like MavenProject, AsbtractMojo and so on. This is the classloader set as the “container realm” in the Plexus container instance unless Maven Extensions classloader is created (see below).</p> -<p>Contents of this classloader are configured in <code>${maven.home}/bin/m2.conf</code> and typically contains <code>${maven.home}/lib/ext/*.jar</code> and <code>${maven.home}/lib/*.jar</code>.</p></section><section><a id="Maven_Core_Extensions_classloaders"></a> +<p>Contents of this classloader are configured in <code>${maven.home}/bin/m2.conf</code> and typically contains <code>${maven.home}/lib/ext/*.jar</code> and <code>${maven.home}/lib/*.jar</code>.</p></section><section> <h2>Maven Core Extensions classloaders</h2> <p>Core Extensions is a new mechanism introduced in Maven 3.3.0 which allows additional components to be loaded into Maven Core as part of a build session.</p> <p>Each core extension is loaded in a separate classloader and there is no mechanism to share classes among core extensions. Core extensions classloaders use Maven Core classloader as the parent and have access to both exported and internal Maven Core classes.</p> <p>Core extension can use <code>META-INF/maven/extension.xml</code> descriptor to declare packages and artifacts exported by the extension. If the descriptor is not present, no packages or artifacts are exported, but the extension can still contribute components to Maven Core extension points.</p> <p>Core extensions are configured <code>.mvn/extensions.xml</code> configuration file in the project's top level.</p> +<div class="verbatim"> <pre><code class="language-xml"><?xml version="1.0" encoding="UTF-8"?> <extensions> <extension> @@ -172,31 +170,32 @@ under the License. <extension>...</extension> ... </extensions> -</code></pre> -<p>Core extensions are loaded as part of Maven runtime startup and disposed of as part of Maven runtime shutdown.</p></section><section><a id="Maven_extensions_classloader"></a> +</code></pre></div> +<p>Core extensions are loaded as part of Maven runtime startup and disposed of as part of Maven runtime shutdown.</p></section><section> <h2>Maven extensions classloader</h2> <p>Maven extensions classloader aggregates packages exported by core extensions realms. It also loads additional classpath entries specified in <code>-Dmaven.ext.class.path</code> command line parameter.</p> -<p>Maven extensions classloader is created only when core extensions are configured for the build. If created, it will be set as “container realm” in the Plexus container.</p></section><section><a id="Maven_API_classloader"></a> +<p>Maven extensions classloader is created only when core extensions are configured for the build. If created, it will be set as “container realm” in the Plexus container.</p></section><section> <h2>Maven API classloader</h2> <p>Maven API classloader aggregates exported packages from Maven Core and Maven Core Extensions classloaders. Maven API classloader does not include any classes directly.</p> -<p>Maven API uses approximate JVM Bootstrap classloader as its parent. (there is no API to access JVM Bootstrap classloader, implementation uses <code>ClassLoader.getSystemClassLoader().getParent()</code>). The parent classloader does not contain any application or javaagent classes, which allows for consistent Maven API classpath regardless how Maven JVM was launched.</p></section><section><a id="Build_Extension_classloaders"></a> +<p>Maven API uses approximate JVM Bootstrap classloader as its parent. (there is no API to access JVM Bootstrap classloader, implementation uses <code>ClassLoader.getSystemClassLoader().getParent()</code>). The parent classloader does not contain any application or javaagent classes, which allows for consistent Maven API classpath regardless how Maven JVM was launched.</p></section><section> <h2>Build Extension classloaders</h2> <p>Modern Maven 3.x build extensions are build extensions that either consist of multiple artifacts or have <code>META-INF/maven/extension.xml</code>. Each modern build extension is loaded in a a fully isolated classloader, i.e. it is not possible to share classes or inject components among extensions.</p> <p>Maven guarantees that each distinct modern build extension (as identified by plugin groupId, artifactId, version and set of dependecies) is loaded by one and only one extensions classloader and the classloader is wired to all projects that use the extension.</p> -<p>Build extension classloaders use ClassWorld bootstrap classloader as the parent, which allows build extensions access to <code>-javaagent</code> classes.</p></section><section><a id="Project_classloaders"></a> +<p>Build extension classloaders use ClassWorld bootstrap classloader as the parent, which allows build extensions access to <code>-javaagent</code> classes.</p></section><section> <h2>Project classloaders</h2> <p>Project classloader aggregates Maven API packages, packages exported by project build extensions.</p> <p>Project classloaders use Maven API classloader as the parent and import exported classes from project build extension realms. Legacy Maven 2.x build extensions, i.e. extensions that consist of single artifact which does not include <code>META-INF/maven/extension.xml</code> descriptor, are directly in project classloaders.</p> -<p>Maven guarantees there will be one and only one project classloader for each unique set of project build extensions and the same classloader will be used by all projects that have the set of build extensions.</p></section><section><a id="Plugin_classloaders"></a> +<p>Maven guarantees there will be one and only one project classloader for each unique set of project build extensions and the same classloader will be used by all projects that have the set of build extensions.</p></section><section> <h2>Plugin classloaders</h2> <p>Plugin classloaders are wired differently for projects with and without build extensions.</p> <p>For projects without build extensions, single classloader is created for each plugin identified by groupId:artifactId:version and the classloader imports API packages from Maven API classloader. Maven will create one and only one classloader for each unique plugin+dependency combination.</p> <p>For projects that use build extensions, plugin classloaders are wired to project classloaders. This gives plugin code access to both Maven API packages and packages exported by the project build extensions. Maven will create one and only one classlaoder for each unique plugin+dependencies+build-extensions combination.</p> <p>All plugin classloaders use ClassWorlds bootstrap classloader as the parent. This provides relatively clean and therefore consistent plugin classpath, while still allowing plugins access to <code>-javaagent</code> classes (see <a href="https://issues.apache.org/jira/browse/MNG-4747" class="externalLink">MNG-4747</a>).</p> -<p>Reporting plugins are wired differently still, but reporting plugins are a special case and are outside of the scope of this document.</p></section><section><a id="Exported_artifacts_and_packages"></a> +<p>Reporting plugins are wired differently still, but reporting plugins are a special case and are outside of the scope of this document.</p></section><section> <h2>Exported artifacts and packages</h2> <p>Maven Core, Session and Build Extensions use <code>META-INF/maven/extension.xml</code> descriptor to declare API packages and artifacts exported by the classloader.</p> +<div class="verbatim"> <pre><code class="language-xml"><?xml version="1.0" encoding="UTF-8"?> <extension> <!-- @@ -213,7 +212,7 @@ under the License. <exportedArtifact>org.company:myextension</exportedArtifact> </exportedArtifacts> </extension> -</code></pre></section></section> +</code></pre></div></section></section> </main> </div> </div> Modified: maven/website/content/release-notes-all.html ============================================================================== --- maven/website/content/release-notes-all.html (original) +++ maven/website/content/release-notes-all.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/release-notes-all.md.vm at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/release-notes-all.md.vm at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Release Notes</title> <link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="./" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="./" id="bannerRight"><img src="images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/release-notes-all.md.vm"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Release Notes <a href="https://github.com/apache/maven-site/tree/master/content/markdown/release-notes-all.md.vm"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="download.cgi" title="Download">Download</a></li> @@ -129,7 +126,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Release_Notes"></a> +<section> <h1>Release Notes</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file Modified: maven/website/content/repositories/artifacts.html ============================================================================== --- maven/website/content/repositories/artifacts.html (original) +++ maven/website/content/repositories/artifacts.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repositories/artifacts.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repositories/artifacts.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven Artifacts</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/artifacts.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven Artifacts <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/artifacts.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -137,7 +134,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_Artifacts"></a> +<section> <h1>Maven Artifacts</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -172,7 +169,7 @@ contain artifact with same GAV). If thos issues without you noticing it. In short, these cases should be avoided.</p> <p>While Maven internally uses the notion of “artifact” thoroughly (just look at sources!), end users may never hit this term. That's due the fact, that while for Maven, “everything is artifact” (internally), Maven end users actually speak about -“projects”, “parent projects”, “dependencies”, “build plugins”, “reporting plugins”, “build extensions” and so on.</p><section><a id="Artifact_Properties"></a> +“projects”, “parent projects”, “dependencies”, “build plugins”, “reporting plugins”, “build extensions” and so on.</p><section> <h2>Artifact Properties</h2> <p>The artifacts that Maven (internally) uses has following (for our topic related) properties:</p> <table class="table table-striped"> @@ -207,7 +204,7 @@ for snapshot version “1.0-2022011 So, <code>version</code> and <code>baseVersion</code> are linked, derived from each other, but <strong>they have different values only in case of snapshots</strong>.</p> <p>Important note about Artifacts: the fact is an artifact a snapshot or not, should be queried with method -<code>Artifact#isSnapshot()</code>.</p></section><section><a id="But_where_do_I_set_Artifact_extension.3F"></a> +<code>Artifact#isSnapshot()</code>.</p></section><section> <h2>But where do I set Artifact extension?</h2> <p>In short, nowhere. Or maybe “you rarely have to”. Maven POM (where you declare your project, parent project, dependencies, plugins and other), maps those elements onto artifact coordinates with some extra logic.</p> @@ -371,29 +368,31 @@ above may be extended by various plugins <code>org.project:reusable-test-support:1.0:tests:jar</code>. With type handlers above, maybe surprisingly, the dependency to this very same artifact can be described in two ways:</p> +<div class="verbatim"> <pre><code class="language-xml"><dependency> <groupId>org.project</groupId> <artifactId>reusable-test-support</artifactId> <version>1.0</version> <classifier>tests</classifier> </dependency> -</code></pre> +</code></pre></div> <p>and the equivalent dependency would be:</p> +<div class="verbatim"> <pre><code class="language-xml"><dependency> <groupId>org.project</groupId> <artifactId>reusable-test-support</artifactId> <version>1.0</version> <type>test-jar</type> </dependency> -</code></pre> +</code></pre></div> <p>Obvious difference is presence of <code>classifier</code> in first case, while in second lack of it but presence of <code>type</code> “test-jar”, that in the other hand, implies classifier of “tests”. In both cases, extension is “jar” (in first it uses the default value for this property, while in second type defines it).</p> <p>Note: In this very case, using the first way is somewhat “explicit”, and is recommended way. Not so for the cases when type handler carries some important extra information (like some custom packaging), where using <code>type</code> is more appropriate. Simply put, in this case the type “test-jar” is like an alias for ordinary JARs with “tests” -classifier.</p></section><section><a id="Summary"></a> +classifier.</p></section><section> <h2>Summary</h2> <p>In short, this is how various Maven bits like “project”, “parent project”, “plugin”, “extension” and “dependency” have artifact coordinates mapped from POM elements. Using this knowledge, we can always deduce the artifact coordinate Modified: maven/website/content/repositories/index.html ============================================================================== --- maven/website/content/repositories/index.html (original) +++ maven/website/content/repositories/index.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repositories/index.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repositories/index.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven Repositories</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/index.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven Repositories <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/index.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -137,7 +134,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_Repositories"></a> +<section> <h1>Maven Repositories</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file Modified: maven/website/content/repositories/layout.html ============================================================================== --- maven/website/content/repositories/layout.html (original) +++ maven/website/content/repositories/layout.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repositories/layout.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repositories/layout.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven Repository Layout</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/layout.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven Repository Layout <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/layout.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -137,7 +134,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_Repository_Layout"></a> +<section> <h1>Maven Repository Layout</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -202,20 +199,24 @@ the files on file paths for consumption <p>And using these properties transformed as above, we can construct following path (if classifier not present):</p> +<div class="verbatim"> <pre><code>${groupId as directory}/${artifactId}/${baseVersion}/${artifactId}-${version}.${extension} -</code></pre> +</code></pre></div> <p>or if classifier present:</p> +<div class="verbatim"> <pre><code>${groupId as directory}/${artifactId}/${baseVersion}/${artifactId}-${version}-${classifier}.${extension} -</code></pre> +</code></pre></div> <p>So the example artifact above noted as GAV:</p> +<div class="verbatim"> <pre><code>org.apache.maven:apache-maven:3.8.4:bin:tar.gz -</code></pre> +</code></pre></div> <p>is translated to path as:</p> +<div class="verbatim"> <pre><code>org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.tar.gz -</code></pre> +</code></pre></div> <p>And that is it! By applying this “algorithm” above to ANY Artifact we can build up the path segment that artifact is expected to be.</p> <p>Important note: in case of locally installed artifacts (those you built locally and invoked <code>mvn install</code>) will use Modified: maven/website/content/repositories/local.html ============================================================================== --- maven/website/content/repositories/local.html (original) +++ maven/website/content/repositories/local.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repositories/local.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repositories/local.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven Local Repositories</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/local.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven Local Repositories <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/local.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -137,7 +134,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_Local_Repositories"></a> +<section> <h1>Maven Local Repositories</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -167,7 +164,7 @@ aspects like locking and synchronization where user may configure local repository to split the installed and cached artifacts, hence to make them physically split from each other.</p> <p>All these underlying changes remain hidden from code using local repository API, and hence, the code will -be more robust and time proof.</p><section><a id="The_baseVersion_Artifact_Property"></a> +be more robust and time proof.</p><section> <h2>The <code>baseVersion</code> Artifact Property</h2> <p>As noted in <a href="layout.html">Layout</a> page, locally built and installed (implies “to local repository”) artifacts will use <code>baseVersion</code> while calculating layout. Hence, in this case both, <code>baseVersion</code> and <code>version</code> of them will both Modified: maven/website/content/repositories/metadata.html ============================================================================== --- maven/website/content/repositories/metadata.html (original) +++ maven/website/content/repositories/metadata.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repositories/metadata.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repositories/metadata.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven Metadata</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/metadata.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven Metadata <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/metadata.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -137,7 +134,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_Metadata"></a> +<section> <h1>Maven Metadata</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -179,7 +176,7 @@ and its <a href="/ref/current/maven-repo <p>These metadata XML files share same XML schema (model), and the reason of that is simple: one XML file may carry multiple kinds of metadata (for different Artifacts)! Consider these two artifacts: <code>org.foo:bar:1.0</code> and <code>org.foo.bar:baz:1.0</code>. With default layout, the repository path <code>org/foo/bar</code> is once A level for first, and G level for second artifact. -Note: this is extreme example, and such artifact naming should be avoided!</p><section><a id="The_G_Level_Metadata"></a> +Note: this is extreme example, and such artifact naming should be avoided!</p><section> <h2>The G Level Metadata</h2> <table class="table table-striped"> <thead> @@ -203,7 +200,7 @@ considered for this kind of metadata is <p>Example: <a href="https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml" class="externalLink">https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml</a></p> <p>When user uses some plugin prefix on CLI, Maven will go through registered <code>pluginGroups</code> groupIds, download their G level metadata, and look for prefix. If found, Maven has obtained G (from pluginGroups) and A (from metadata) -coordinates of plugin, and will go for given version, or attempt to discover “latest” version.</p></section><section><a id="The_A_Level_Metadata"></a> +coordinates of plugin, and will go for given version, or attempt to discover “latest” version.</p></section><section> <h2>The A Level Metadata</h2> <table class="table table-striped"> <thead> @@ -232,7 +229,7 @@ contains list of versions of given GA co <li><code>metadata/versioning/versions/*</code></li> <li><code>metadata/versioning/lastUpdated</code></li> </ul> -<p>Example: <a href="https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml" class="externalLink">https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml</a></p></section><section><a id="The_V_Level_Metadata"></a> +<p>Example: <a href="https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml" class="externalLink">https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-jar-plugin/maven-metadata.xml</a></p></section><section> <h2>The V Level Metadata</h2> <table class="table table-striped"> <thead> Modified: maven/website/content/repositories/remote.html ============================================================================== --- maven/website/content/repositories/remote.html (original) +++ maven/website/content/repositories/remote.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repositories/remote.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repositories/remote.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Maven Remote Repositories</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/remote.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Maven Remote Repositories <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/remote.md"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -137,7 +134,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Maven_Remote_Repositories"></a> +<section> <h1>Maven Remote Repositories</h1><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -167,10 +164,10 @@ repositories are holding the artifacts t </ul> <p>In essence, Maven using <a href="layout.html">Layout</a> produces relative paths for <a href="artifacts.html">Artifacts</a>, that in turn are resolved against baseURL of Remote Repositories ending in absolute URLs. The policy decides should a release or snapshot -artifact looked for in given repository.</p><section><a id="The_baseVersion_Artifact_Property"></a> +artifact looked for in given repository.</p><section> <h2>The <code>baseVersion</code> Artifact Property</h2> <p>In case of snapshot artifacts (hence Snapshot Remote Repositories implied) we already hinted that some -sort of “version transformation” happens. We can distinguish two cases:</p><section><a id="Deploying_Snapshot_Artifact"></a> +sort of “version transformation” happens. We can distinguish two cases:</p><section> <h3>Deploying Snapshot Artifact</h3> <p>Your POM locally usually contains snapshot versions in a form of a string that ends with “SNAPSHOT” constant string (for example “1.0-SNAPSHOT”). But, in case of deploy, this version is being transformed to a “timestamped snapshot” @@ -179,11 +176,12 @@ on the fly (by Maven) and when you check as well that will describe for consumers of this snapshot how to “reverse” this process.</p> <p>So, in case of snapshot deploy, version transformation happens in form of:</p> +<div class="verbatim"> <pre><code>1.0-SNAPSHOT -> Maven (on the fly) -> 1.0-${YYYYMMDD.HHMMSS}-${counter} -</code></pre> +</code></pre></div> <p>Where the date in <code>Etc/UTC</code> timezone (used in <code>YYYYMMDD.HHMMSS</code> format) is constant across deploy from same session (is time when Maven Session was created), and counter is increased counter from previously deployed metadata (or if no -remote metadata exists, is initialized with 1).</p></section><section><a id="Consuming_Snapshot_Artifacts"></a> +remote metadata exists, is initialized with 1).</p></section><section> <h3>Consuming Snapshot Artifacts</h3> <p>If your project depends on SNAPSHOT dependencies, the POM of your project usually contains <code>version</code> value that ends with “SNAPSHOT” (for example “1.0-SNAPSHOT”), still, as we see above, remote repositories do NOT contain such versions, @@ -192,8 +190,9 @@ will use the deployed metadata first, to will fetch the required files.</p> <p>In case of consuming snapshot, the following transformation happens:</p> +<div class="verbatim"> <pre><code>1.0-SNAPSHOT -> Remote V Level Repository Metadata -> 1.0-YYYYMMDD.HHMMS-X -</code></pre> +</code></pre></div> <p>Due this indirection (the real filename of artifact, the version part) is figured from deployed Maven repository metadata, the snapshot artifacts are “moving target”: each snapshot deployment as above will deploy new metadata, hence, will alter this transformation here (Maven will download different snapshot artifact).</p> Modified: maven/website/content/repository-management.html ============================================================================== --- maven/website/content/repository-management.html (original) +++ maven/website/content/repository-management.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/repository-management.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/repository-management.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Best Practice - Using a Repository Manager</title> <link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="./css/site.css" /> <link rel="stylesheet" href="./css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="./" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="./" id="bannerRight"><img src="images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repository-management.md"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Best Practice - Using a Repository Manager <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repository-management.md"><img src="./images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="download.cgi" title="Download">Download</a></li> @@ -160,7 +157,75 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section> +<section><section> +<h2>Best Practice - Using a Repository Manager</h2><!-- +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. +--> + +<p>A repository manager is a dedicated server application designed to manage +repositories of binary components.</p> +<p>The usage of a repository manager is +considered an essential best practice for any significant usage of Maven.</p><section> +<h3>Purpose</h3> +<p>A repository manager serves these essential purposes:</p> +<ul> + +<li>act as dedicated proxy server for public Maven repositories +(see <a href="./guides/mini/guide-mirror-settings.html">Maven Guide to Mirror Settings</a>)</li> +<li>provide repositories as a deployment destination for your Maven project +outputs</li> +</ul></section><section> +<h3>Benefits and Features</h3> +<p>Using a repository manager provides the following benefits and features:</p> +<ul> + +<li>significantly reduced number of downloads off remote repositories, saving time +and bandwidth resulting in increased build performance</li> +<li>improved build stability due to reduced reliance on external repositories</li> +<li>increased performance for interaction with remote SNAPSHOT repositories</li> +<li>potential for control of consumed and provided artifacts</li> +<li>creates a central storage and access to artifacts and meta data about them +exposing build outputs to consumer such as other projects and developers, but +also QA or operations teams or even customers</li> +<li>provides an effective platform for exchanging binary artifacts within +your organization and beyond without the need for building artifact from source</li> +</ul></section><section> +<h3>Available Repository Managers</h3> +<p>The following list (alphabetical order) of open source and commercial repository +managers are known to support the repository format used by Maven. Please refer to the respective linked web sites for further information about repository management in general +and the features provided by these products.</p> +<ul> + +<li><a href="https://github.com/artipie" target="_blank" class="externalLink">Artipie</a> (open source)</li> +<li><a href="https://bytesafe.dev/" target="_blank" class="externalLink">Bytesafe</a> (commercial)</li> +<li><a href="https://www.cloudrepo.io" target="_blank" class="externalLink">CloudRepo</a> (commercial)</li> +<li><a href="https://www.cloudsmith.io" target="_blank" class="externalLink">Cloudsmith Package</a> (commercial)</li> +<li><a href="https://docs.gitea.com/packages/usage/packages/maven" target="_blank" class="externalLink">Gitea</a> (open source)</li> +<li><a href="https://inedo.com/proget" target="_blank" class="externalLink">Inedo ProGet</a> (commercial)</li> +<li><a href="https://www.jfrog.com/open-source" target="_blank" class="externalLink">JFrog Artifactory Open Source</a> (free, not open source)</li> +<li><a href="https://www.jfrog.com/artifactory/" target="_blank" class="externalLink">JFrog Artifactory Pro</a> (commercial)</li> +<li><a href="https://www.myget.org" target="_blank" class="externalLink">MyGet</a> (commercial)</li> +<li><a href="https://docs.onedev.io/tutorials/package/working-with-maven" target="_blank" class="externalLink">OneDev</a> (open source)</li> +<li><a href="https://www.sonatype.com/products/repository-oss-download" target="_blank" class="externalLink">Sonatype Nexus OSS</a> (free, not open source)</li> +<li><a href="https://links.sonatype.com/products/nexus/pro/home" target="_blank" class="externalLink">Sonatype Nexus Pro</a> (commercial)</li> +<li><a href="https://packagecloud.io" target="_blank" class="externalLink">packagecloud.io</a> (commercial)</li> +<li><a href="https://reposilite.com" target="_blank" class="externalLink">Reposilite</a> (open source)</li> +</ul></section></section></section> </main> </div> </div> Modified: maven/website/content/repository/central-index.html ============================================================================== --- maven/website/content/repository/central-index.html (original) +++ maven/website/content/repository/central-index.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/repository/central-index.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/repository/central-index.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Hervé Boutemy" /> <meta name="date" content="2017-04-23" /> - <title>Maven</title> + <title>Maven â Central Index</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/repository/central-index.apt"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Central Index <a href="https://github.com/apache/maven-site/tree/master/content/apt/repository/central-index.apt"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -146,21 +143,23 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Central_Index"></a> +<section> <h1>Central Index</h1> <p>Central repository provides <a class="externalLink" href="https://repo.maven.apache.org/maven2/.index/">an index in <code>/.index</code></a>:</p> <ul> <li>full index (<code>nexus-maven-repository-index.gz</code>) is updated weekly,</li> <li>incremental index (<code>nexus-maven-repository-index.<n>.gz</code> + <code>nexus-maven-repository-index.properties</code>).</li></ul> <p>This index is build using <a href="/maven-indexer/">Maven Indexer</a>: see <a href="/maven-indexer/indexer-core/">indexer-core documentation</a> for more details on the fields that are available.</p> -<p>You can use <a href="/maven-indexer/indexer-core/apidocs/">Maven Indexer API</a> (see <a href="/maven-indexer/indexer-examples/">examples</a>) to use this index with a dedicated API, or use <a class="externalLink" href="https://lucene.apache.org/">Apache Lucene</a> indexes browsers like <a class="externalLink" href="https://github.com/DmitryKey/luke">Luke</a> or <a class="externalLink" href="https://github.com/flaxsearch/marple">Marple</a> after unpacking the index (see <a href="/maven-indexer/indexer-cli/"><code>-u</code> CLI option</a>).</p><section><a id="Digging_Into_Central_Index_with_Luke"></a> +<p>You can use <a href="/maven-indexer/indexer-core/apidocs/">Maven Indexer API</a> (see <a href="/maven-indexer/indexer-examples/">examples</a>) to use this index with a dedicated API, or use <a class="externalLink" href="https://lucene.apache.org/">Apache Lucene</a> indexes browsers like <a class="externalLink" href="https://github.com/DmitryKey/luke">Luke</a> or <a class="externalLink" href="https://github.com/flaxsearch/marple">Marple</a> after unpacking the index (see <a href="/maven-indexer/indexer-cli/"><code>-u</code> CLI option</a>).</p><section> <h2>Digging Into Central Index with Luke</h2> <ul> <li>download <a class="externalLink" href="https://repo.maven.apache.org/maven2/.index/">the Central index: <code>nexus-maven-repository-index.gz</code></a></li> <li>download <a class="externalLink" href="https://repo.maven.apache.org/maven2/org/apache/maven/indexer/indexer-cli/5.1.1/indexer-cli-5.1.1.jar">Maven Indexer CLI</a> and <a href="/maven-indexer-archives/maven-indexer-LATEST/indexer-cli/">unpack</a> the index to raw Lucene index directory: -<pre>java -jar indexer-cli-5.1.1.jar --unpack nexus-maven-repository-index.gz --destination central-lucene-index --type full</pre></li> +<div class="verbatim"> +<pre>java -jar indexer-cli-5.1.1.jar --unpack nexus-maven-repository-index.gz --destination central-lucene-index --type full</pre></div></li> <li>download and extract <a class="externalLink" href="https://github.com/DmitryKey/luke/releases/download/luke-4.10.4/luke-with-deps.tar.gz">Luke binary tarball</a> and launch it on the Central index with Lucene format: -<pre>luke.sh -ro -index central-lucene-index</pre> +<div class="verbatim"> +<pre>luke.sh -ro -index central-lucene-index</pre></div> <p>You need an old Luke version using an old Lucene version, since Maven Indexer 5.5.1 uses Lucene 3.6.2: for this tutorial, we chose Luke version 4.10.4, but you may choose another version.</p> <p>But with more recent Maven Indexer releases, more recent Lucene version have been used: see [Maven Indexer dependencies](/maven-indexer/indexer-core/dependencies.html).</p></li></ul></section></section> </main> Modified: maven/website/content/repository/central-metadata.html ============================================================================== --- maven/website/content/repository/central-metadata.html (original) +++ maven/website/content/repository/central-metadata.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/repository/central-metadata.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/repository/central-metadata.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Carlos Sanchez" /> <meta name="date" content="2005-10-31" /> - <title>Maven</title> + <title>Maven â Guide to Metadata in Central Maven Repository</title> <link rel="stylesheet" href="../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../css/site.css" /> <link rel="stylesheet" href="../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href=".././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/repository/central-metadata.apt"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Metadata in Central Maven Repository <a href="https://github.com/apache/maven-site/tree/master/content/apt/repository/central-metadata.apt"><img src="../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../download.cgi" title="Download">Download</a></li> @@ -146,13 +143,13 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Guide_to_add.2C_improve_or_fix_metadata_in_the_Central_Maven_Repository"></a> -<h1>Guide to add, improve or fix metadata in the Central Maven Repository</h1><section><a id="POM_Metadata"></a> +<section> +<h1>Guide to add, improve or fix metadata in the Central Maven Repository</h1><section> <h2>POM Metadata</h2> <p>There are artifacts in the <a href="./">Central Maven repository</a> that don't have POMs. They come from projects with repositories that have been synced into central without extra checks (particularly historical ones that were in <i>Maven 1</i> format). We know about the problems but can't do anything unless you provide a POM for it or you ask the project in question to add the POM when they add the artifacts.</p> <p>We don't change dependencies in POMs already in the repository anymore as builds need to be reproducible. Same applies to POMs that don't exist. We can only add a POM with no dependencies, because doing any other way would break previous builds that were using that artifact.</p> <p>An alternative is to create a new version with the fixes. If the broken artifact is <code>org.foo/bar/1.0</code> you can provide a fixed POM, JAR,... under <code>org.foo/bar/1.0-1</code> (add a comment to the POM explaining what is being fixed and why). See <a href="./guide-central-repository-upload.html">Maven Repository Upload</a> for the instructions to get this new version in the repository.</p> -<p>You need to contact the original publisher of the metadata to make sure in next versions it will be fixed or improved before getting it into the repository.</p></section><section><a id="Other_Issues"></a> +<p>You need to contact the original publisher of the metadata to make sure in next versions it will be fixed or improved before getting it into the repository.</p></section><section> <h2>Other Issues</h2> <p>For any other types of issues related to metadata in the repository (POM related, or <a href="/ref/current/maven-repository-metadata/"><code>maven-metadata.xml</code></a>, or anything else), open an issue at <a class="externalLink" href="https://issues.sonatype.org/browse/MVNCENTRAL">MVNCENTRAL</a> with the relevant information and explain the reasons why it is an issue.</p> <p><b>Important:</b> by default assume that we won't trust your info, so you must provide all links to the project documentation you can to convince us that your solution is right.</p></section></section>