mirror of https://github.com/apache/maven.git
o i'm reworking the error reporting mechanism. i am going to concretely deal with each error we can come up with instead of
the generalization we have. git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@572463 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ae1501b9f6
commit
aaaed9cf00
|
@ -222,7 +222,6 @@ under the License.
|
|||
<!-- DGF TODO turn this into a big <apply> task? write a custom task? -->
|
||||
<modello file="maven-lifecycle/src/main/mdo/maven-lifecycle.mdo"/>
|
||||
<modello file="maven-plugin-descriptor/src/main/mdo/lifecycle.mdo"/>
|
||||
<modello file="maven-plugin-parameter-documenter/src/main/mdo/paramdoc.mdo"/>
|
||||
<modello file="maven-profile/profiles.mdo"/>
|
||||
<modello file="maven-settings/src/main/mdo/settings.mdo"/>
|
||||
</target>
|
||||
|
|
|
@ -45,11 +45,6 @@ under the License.
|
|||
<artifactId>maven-settings</artifactId>
|
||||
<version>2.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-plugin-parameter-documenter</artifactId>
|
||||
<version>2.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.reporting</groupId>
|
||||
<artifactId>maven-reporting-api</artifactId>
|
||||
|
|
|
@ -1,54 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
<project xmlns="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/maven-v4_0_0.xsd">
|
||||
<parent>
|
||||
<artifactId>maven</artifactId>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<version>2.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>maven-plugin-parameter-documenter</artifactId>
|
||||
<name>Maven Plugin Parameter Documenter API</name>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.modello</groupId>
|
||||
<artifactId>modello-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<version>1.0.0</version>
|
||||
<model>src/main/mdo/paramdoc.mdo</model>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-utils</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-container-default</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -1,151 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
|
||||
<model>
|
||||
<id>paramdoc</id>
|
||||
<name>Paramdoc</name>
|
||||
<description><![CDATA[Documentation on parameter expressions supported by Maven for use in plugins.]]></description>
|
||||
<defaults>
|
||||
<default>
|
||||
<key>package</key>
|
||||
<value>org.apache.maven.usability.plugin</value>
|
||||
</default>
|
||||
</defaults>
|
||||
<classes>
|
||||
<class rootElement="true" xml.tagName="paramdoc">
|
||||
<version>1.0.0</version>
|
||||
<name>ExpressionDocumentation</name>
|
||||
<description>The root of a parameter plugin expression document.</description>
|
||||
<fields>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>expressions</name>
|
||||
<description>The list of plugin parameter expressions described by this
|
||||
document.</description>
|
||||
<association>
|
||||
<type>Expression</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
<codeSegments>
|
||||
<codeSegment>
|
||||
<version>1.0.0</version>
|
||||
<code><![CDATA[ private java.util.Map expressionsBySyntax;
|
||||
|
||||
public java.util.Map getExpressionsBySyntax()
|
||||
{
|
||||
if ( expressionsBySyntax == null )
|
||||
{
|
||||
expressionsBySyntax = new java.util.HashMap();
|
||||
|
||||
java.util.List expressions = getExpressions();
|
||||
|
||||
if ( expressions != null && !expressions.isEmpty() )
|
||||
{
|
||||
for ( java.util.Iterator it = expressions.iterator(); it.hasNext(); )
|
||||
{
|
||||
Expression expr = (Expression) it.next();
|
||||
|
||||
expressionsBySyntax.put( expr.getSyntax(), expr );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return expressionsBySyntax;
|
||||
}
|
||||
|
||||
public void flushExpressionsBySyntax()
|
||||
{
|
||||
expressionsBySyntax = null;
|
||||
}
|
||||
]]></code>
|
||||
</codeSegment>
|
||||
</codeSegments>
|
||||
</class>
|
||||
<class>
|
||||
<version>1.0.0</version>
|
||||
<name>Expression</name>
|
||||
<description>A plugin parameter expression supported by Maven</description>
|
||||
<fields>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>syntax</name>
|
||||
<description>The syntax of the expression</description>
|
||||
<type>String</type>
|
||||
<required>true</required>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>description</name>
|
||||
<description>The description of what this expression references, and what it's generally used for.</description>
|
||||
<type>String</type>
|
||||
<required>true</required>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>configuration</name>
|
||||
<description>The place and syntax used to change the value of this expression.</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>cliOptions</name>
|
||||
<description>The command-line switches used to change the value of this expression.</description>
|
||||
<type>Properties</type>
|
||||
<association xml.mapStyle="explode">
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>apiMethods</name>
|
||||
<description>The programmatic methods used to change the value of this expression.</description>
|
||||
<type>Properties</type>
|
||||
<association xml.mapStyle="explode">
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>deprecation</name>
|
||||
<description>A preferred alternative to this expression, in the case where it's deprecated.</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>ban</name>
|
||||
<description>A preferred alternative to this expression, in the case where it's banned from use.</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<version>1.0.0</version>
|
||||
<name>editable</name>
|
||||
<description>Whether the value of this expression can be changed.</description>
|
||||
<type>boolean</type>
|
||||
<defaultValue>true</defaultValue>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
</classes>
|
||||
</model>
|
|
@ -1,59 +0,0 @@
|
|||
package org.apache.maven.usability.plugin;
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.maven.usability.plugin.io.xpp3.ParamdocXpp3Reader;
|
||||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
public class Xpp3ParseTest
|
||||
extends TestCase
|
||||
{
|
||||
|
||||
public void testParse() throws IOException, XmlPullParserException
|
||||
{
|
||||
InputStream testDocStream = getClass().getClassLoader().getResourceAsStream( "test.paramdoc.xml" );
|
||||
ParamdocXpp3Reader reader = new ParamdocXpp3Reader();
|
||||
|
||||
ExpressionDocumentation documentation = reader.read(new InputStreamReader( testDocStream ) );
|
||||
|
||||
Map exprs = documentation.getExpressionsBySyntax();
|
||||
|
||||
Expression expr = (Expression) exprs.get( "localRepository" );
|
||||
|
||||
assertNotNull( expr );
|
||||
|
||||
Properties p = expr.getCliOptions();
|
||||
|
||||
assertNotNull( p );
|
||||
|
||||
assertEquals( 1, p.size() );
|
||||
|
||||
assertEquals( "Override the local repository location on a per-build basis.", p.getProperty( "-Dmaven.repo.local=/path/to/local/repo" ) );
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
<paramdoc 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 ../../../../../../../maven-plugin-parameter-documenter/target/generated-site/xsd/paramdoc-1.0.0.xsd ">
|
||||
<expressions>
|
||||
<expression>
|
||||
<syntax>localRepository</syntax>
|
||||
<configuration>
|
||||
<![CDATA[
|
||||
Inside ~/.m2/settings.xml:
|
||||
|
||||
<localRepository>/path/to/local/repository</localRepository>
|
||||
]]></configuration>
|
||||
<description>The ArtifactRepository instance referencing the local artifact
|
||||
repository.</description>
|
||||
<cliOptions>
|
||||
<cliOption>
|
||||
<key>-Dmaven.repo.local=/path/to/local/repo</key>
|
||||
<value>Override the local repository location on a per-build basis.</value>
|
||||
</cliOption>
|
||||
</cliOptions>
|
||||
</expression>
|
||||
<expression>
|
||||
<syntax>reactorProjects</syntax>
|
||||
<description>This is the current list of projects being built by
|
||||
Maven.</description>
|
||||
</expression>
|
||||
</expressions>
|
||||
</paramdoc>
|
1
pom.xml
1
pom.xml
|
@ -116,7 +116,6 @@ under the License.
|
|||
<module>maven-model</module>
|
||||
<module>maven-plugin-api</module>
|
||||
<module>maven-plugin-descriptor</module>
|
||||
<module>maven-plugin-parameter-documenter</module>
|
||||
<module>maven-profile</module>
|
||||
<module>maven-project</module>
|
||||
<module>maven-reporting</module>
|
||||
|
|
Loading…
Reference in New Issue