You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2013/08/09 14:03:31 UTC

svn commit: r1512271 - in /maven/shared/trunk/maven-mapping/src: main/java/org/apache/maven/shared/mapping/MappingUtils.java site/ site/apt/ site/apt/index.apt.vm site/site.xml

Author: dennisl
Date: Fri Aug  9 12:03:31 2013
New Revision: 1512271

URL: http://svn.apache.org/r1512271
Log:
Add documentation.

Added:
    maven/shared/trunk/maven-mapping/src/site/
    maven/shared/trunk/maven-mapping/src/site/apt/
    maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm   (with props)
    maven/shared/trunk/maven-mapping/src/site/site.xml   (with props)
Modified:
    maven/shared/trunk/maven-mapping/src/main/java/org/apache/maven/shared/mapping/MappingUtils.java

Modified: maven/shared/trunk/maven-mapping/src/main/java/org/apache/maven/shared/mapping/MappingUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-mapping/src/main/java/org/apache/maven/shared/mapping/MappingUtils.java?rev=1512271&r1=1512270&r2=1512271&view=diff
==============================================================================
--- maven/shared/trunk/maven-mapping/src/main/java/org/apache/maven/shared/mapping/MappingUtils.java (original)
+++ maven/shared/trunk/maven-mapping/src/main/java/org/apache/maven/shared/mapping/MappingUtils.java Fri Aug  9 12:03:31 2013
@@ -26,7 +26,7 @@ import org.codehaus.plexus.interpolation
 
 /**
  * <p>
- * Utilities used to evaluate expression.
+ * Utilities used to evaluate an expression.
  * </p>
  * <p>
  * The expression might use any field of the {@link Artifact} interface. Some

Added: maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm?rev=1512271&view=auto
==============================================================================
--- maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm (added)
+++ maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm Fri Aug  9 12:03:31 2013
@@ -0,0 +1,85 @@
+ ------
+ Introduction
+ ------
+ Dennis Lundberg
+ ------
+ 2013-08-09
+ ------
+
+ ~~ 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.name}
+
+  These classes originates from the file name mapping code in Maven WAR Plugin.
+
+  The goal is to provide a shared component for all plugins that need to do
+  mapping.
+
+
+* MappingUtils
+
+  This class ha a single method <<<evaluateFileNameMapping>>> that take an
+  expression and an <<<Artifact>>> as parameters. It returns a <<<String>>>
+  which is the result of interpolating the values from the <<<Artifact>>>
+  object into the expression.
+
+  Here is a bit of code from the WAR Plugin showing how you can use it:
+
++-----
+    protected String getFileName( Artifact artifact )
+    {
+        if ( getOutputFileNameMapping() != null )
+        {
+            // The user has specified a custom file name mapping expression
+            return MappingUtils.evaluateFileNameMapping( getOutputFileNameMapping(), artifact );
+        }
+
+        String classifier = artifact.getClassifier();
+        if ( ( classifier != null ) && !( "".equals( classifier.trim() ) ) )
+        {
+            // The artifact has a classifier - use the default expression for artifacts with classifier
+            return MappingUtils.evaluateFileNameMapping( MappingUtils.DEFAULT_FILE_NAME_MAPPING_CLASSIFIER,
+                                                         artifact );
+        }
+        else
+        {
+            // The artifact does not have a classifier - use the default expression for artifacts
+            return MappingUtils.evaluateFileNameMapping( MappingUtils.DEFAULT_FILE_NAME_MAPPING, artifact );
+        }
+    }
++-----
+
+
+* DashClassifierValueSource
+
+  This is an implementation of the <<<ValueSource>>> interface, and can be used
+  for interpolation. <<<MappingUtils>>> uses it internally. It adds these two
+  tokens to an <<<Interpolator>>>:
+
+  * <<<dashClassifier>>>
+
+  * <<<dashClassifier?>>>
+
+  []
+
+  You can invoke it like this:
+
++-----
+        Interpolator interpolator = StringSearchInterpolator());
+        interpolator.addValueSource( new DashClassifierValueSource( artifact.getClassifier() ) );
++-----

Propchange: maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-mapping/src/site/apt/index.apt.vm
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author Id

Added: maven/shared/trunk/maven-mapping/src/site/site.xml
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-mapping/src/site/site.xml?rev=1512271&view=auto
==============================================================================
--- maven/shared/trunk/maven-mapping/src/site/site.xml (added)
+++ maven/shared/trunk/maven-mapping/src/site/site.xml Fri Aug  9 12:03:31 2013
@@ -0,0 +1,32 @@
+<?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.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
+  <body>
+    <menu name="Overview">
+      <item name="Introduction" href="index.html"/>
+      <!--<item name="Usage" href="usage.html"/>-->
+      <item name="JavaDocs" href="apidocs/index.html"/>
+      <item name="Source Xref" href="xref/index.html"/>
+      <!--item name="FAQ" href="faq.html"/-->
+    </menu>
+  </body>
+</project>

Propchange: maven/shared/trunk/maven-mapping/src/site/site.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/shared/trunk/maven-mapping/src/site/site.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author Id