mirror of https://github.com/apache/maven.git
[MNG-8084] Include repository metadata in the API (#1465)
This commit is contained in:
parent
34863e6345
commit
84e2d8ad3f
|
@ -0,0 +1,94 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
-->
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<parent>
|
||||||
|
<groupId>org.apache.maven</groupId>
|
||||||
|
<artifactId>maven-api</artifactId>
|
||||||
|
<version>4.0.0-alpha-14-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<artifactId>maven-api-metadata</artifactId>
|
||||||
|
|
||||||
|
<name>Maven 4 API :: Repository Metadata</name>
|
||||||
|
<description>Maven 4 API - Immutable Repository Metadata model.</description>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven</groupId>
|
||||||
|
<artifactId>maven-xml-impl</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.modello</groupId>
|
||||||
|
<artifactId>modello-maven-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>plugin</id>
|
||||||
|
<goals>
|
||||||
|
<goal>velocity</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>generate-sources</phase>
|
||||||
|
<configuration>
|
||||||
|
<velocityBasedir>${project.basedir}/../../src/mdo</velocityBasedir>
|
||||||
|
<version>1.2.0</version>
|
||||||
|
<models>
|
||||||
|
<model>src/main/mdo/metadata.mdo</model>
|
||||||
|
</models>
|
||||||
|
<templates>
|
||||||
|
<template>model.vm</template>
|
||||||
|
</templates>
|
||||||
|
<params>
|
||||||
|
<param>packageModelV4=org.apache.maven.api.metadata</param>
|
||||||
|
</params>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>plugin-doc</id>
|
||||||
|
<goals>
|
||||||
|
<goal>xdoc</goal>
|
||||||
|
<goal>xsd</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<configuration>
|
||||||
|
<version>1.2.0</version>
|
||||||
|
<models>
|
||||||
|
<model>src/main/mdo/metadata.mdo</model>
|
||||||
|
</models>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/package-info.java</exclude>
|
||||||
|
</excludes>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,5 @@
|
||||||
|
// CHECKSTYLE_OFF: RegexpHeader
|
||||||
|
/**
|
||||||
|
* Maven Repository Metadata model.
|
||||||
|
*/
|
||||||
|
package org.apache.maven.api.metadata;
|
|
@ -0,0 +1,33 @@
|
||||||
|
~~ 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.
|
||||||
|
|
||||||
|
-----
|
||||||
|
Introduction
|
||||||
|
-----
|
||||||
|
Guillaume Nodet
|
||||||
|
-----
|
||||||
|
2024-04-04
|
||||||
|
-----
|
||||||
|
|
||||||
|
Maven 4 API - Repository Metadata Model
|
||||||
|
|
||||||
|
This is the immutable model for Repository Metadata in <<<org.apache.maven.api.metadata>>> package.
|
||||||
|
|
||||||
|
The following are generated from this model:
|
||||||
|
|
||||||
|
* {{{./apidocs/index.html}Java sources}} with <<<Builder>>> inner classes for immutable instances creation.
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<project xmlns="http://maven.apache.org/DECORATION/1.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 http://maven.apache.org/xsd/decoration-1.8.0.xsd">
|
||||||
|
|
||||||
|
<edit>${project.scm.url}</edit>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<menu name="Overview">
|
||||||
|
<item name="Introduction" href="index.html"/>
|
||||||
|
<item name="Javadocs" href="apidocs/index.html"/>
|
||||||
|
<item name="Source Xref" href="xref/index.html"/>
|
||||||
|
<!--item name="FAQ" href="faq.html"/-->
|
||||||
|
</menu>
|
||||||
|
|
||||||
|
<menu ref="parent"/>
|
||||||
|
<menu ref="reports"/>
|
||||||
|
</body>
|
||||||
|
</project>
|
|
@ -39,6 +39,7 @@
|
||||||
<module>maven-api-plugin</module>
|
<module>maven-api-plugin</module>
|
||||||
<module>maven-api-settings</module>
|
<module>maven-api-settings</module>
|
||||||
<module>maven-api-toolchain</module>
|
<module>maven-api-toolchain</module>
|
||||||
|
<module>maven-api-metadata</module>
|
||||||
<module>maven-api-core</module>
|
<module>maven-api-core</module>
|
||||||
<module>maven-api-spi</module>
|
<module>maven-api-spi</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
|
@ -32,6 +32,10 @@ under the License.
|
||||||
<description>Per-directory local and remote repository metadata.</description>
|
<description>Per-directory local and remote repository metadata.</description>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven</groupId>
|
||||||
|
<artifactId>maven-api-metadata</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.codehaus.plexus</groupId>
|
<groupId>org.codehaus.plexus</groupId>
|
||||||
<artifactId>plexus-xml</artifactId>
|
<artifactId>plexus-xml</artifactId>
|
||||||
|
@ -56,12 +60,12 @@ under the License.
|
||||||
<configuration>
|
<configuration>
|
||||||
<version>1.2.0</version>
|
<version>1.2.0</version>
|
||||||
<models>
|
<models>
|
||||||
<model>src/main/mdo/metadata.mdo</model>
|
<model>../api/maven-api-metadata/src/main/mdo/metadata.mdo</model>
|
||||||
</models>
|
</models>
|
||||||
<params>
|
<params>
|
||||||
<param>forcedIOModelVersion=1.1.0</param>
|
<param>forcedIOModelVersion=1.1.0</param>
|
||||||
<param>packageModelV3=org.apache.maven.artifact.repository.metadata</param>
|
<param>packageModelV3=org.apache.maven.artifact.repository.metadata</param>
|
||||||
<param>packageModelV4=org.apache.maven.artifact.repository.metadata.v4</param>
|
<param>packageModelV4=org.apache.maven.api.metadata</param>
|
||||||
<param>packageToolV4=org.apache.maven.artifact.repository.metadata.io</param>
|
<param>packageToolV4=org.apache.maven.artifact.repository.metadata.io</param>
|
||||||
</params>
|
</params>
|
||||||
<velocityBasedir>${project.basedir}/../src/mdo</velocityBasedir>
|
<velocityBasedir>${project.basedir}/../src/mdo</velocityBasedir>
|
||||||
|
@ -75,10 +79,9 @@ under the License.
|
||||||
<configuration>
|
<configuration>
|
||||||
<version>1.2.0</version>
|
<version>1.2.0</version>
|
||||||
<models>
|
<models>
|
||||||
<model>src/main/mdo/metadata.mdo</model>
|
<model>../api/maven-api-metadata/src/main/mdo/metadata.mdo</model>
|
||||||
</models>
|
</models>
|
||||||
<templates>
|
<templates>
|
||||||
<template>model.vm</template>
|
|
||||||
<template>reader-stax.vm</template>
|
<template>reader-stax.vm</template>
|
||||||
<template>writer-stax.vm</template>
|
<template>writer-stax.vm</template>
|
||||||
</templates>
|
</templates>
|
||||||
|
@ -92,7 +95,7 @@ under the License.
|
||||||
<configuration>
|
<configuration>
|
||||||
<version>1.1.0</version>
|
<version>1.1.0</version>
|
||||||
<models>
|
<models>
|
||||||
<model>src/main/mdo/metadata.mdo</model>
|
<model>../api/maven-api-metadata/src/main/mdo/metadata.mdo</model>
|
||||||
</models>
|
</models>
|
||||||
<templates>
|
<templates>
|
||||||
<template>model-v3.vm</template>
|
<template>model-v3.vm</template>
|
||||||
|
|
|
@ -224,7 +224,7 @@ class MetadataTest {
|
||||||
System.setProperty(XMLInputFactory.class.getName(), WstxInputFactory.class.getName());
|
System.setProperty(XMLInputFactory.class.getName(), WstxInputFactory.class.getName());
|
||||||
System.setProperty(XMLOutputFactory.class.getName(), WstxOutputFactory.class.getName());
|
System.setProperty(XMLOutputFactory.class.getName(), WstxOutputFactory.class.getName());
|
||||||
|
|
||||||
Metadata source = new Metadata(org.apache.maven.artifact.repository.metadata.v4.Metadata.newBuilder(
|
Metadata source = new Metadata(org.apache.maven.api.metadata.Metadata.newBuilder(
|
||||||
createMetadataFromArtifact(artifact).getDelegate(), true)
|
createMetadataFromArtifact(artifact).getDelegate(), true)
|
||||||
.modelEncoding("UTF-16")
|
.modelEncoding("UTF-16")
|
||||||
.build());
|
.build());
|
||||||
|
|
5
pom.xml
5
pom.xml
|
@ -278,6 +278,11 @@ under the License.
|
||||||
<artifactId>maven-api-di</artifactId>
|
<artifactId>maven-api-di</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven</groupId>
|
||||||
|
<artifactId>maven-api-metadata</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.maven</groupId>
|
<groupId>org.apache.maven</groupId>
|
||||||
<artifactId>maven-di</artifactId>
|
<artifactId>maven-di</artifactId>
|
||||||
|
|
Loading…
Reference in New Issue