You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/05/31 14:30:39 UTC
git commit: improved documentation
Repository: maven-integration-testing
Updated Branches:
refs/heads/master 22c1e01c8 -> 192dd12ce
improved documentation
Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/192dd12c
Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/192dd12c
Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/192dd12c
Branch: refs/heads/master
Commit: 192dd12ce20f71b46255d3c57dfb29fae0376679
Parents: 22c1e01
Author: Hervé Boutemy <hb...@apache.org>
Authored: Sat May 31 14:30:29 2014 +0200
Committer: Hervé Boutemy <hb...@apache.org>
Committed: Sat May 31 14:30:29 2014 +0200
----------------------------------------------------------------------
.../maven-it-plugin-touch/pom.xml | 1 +
.../apache/maven/plugin/coreit/CopyPomMojo.java | 6 +-
.../apache/maven/plugin/coreit/CoreItMojo.java | 156 -----------------
.../maven/plugin/coreit/CoreItTouchMojo.java | 167 +++++++++++++++++++
4 files changed, 170 insertions(+), 160 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/192dd12c/core-it-support/core-it-plugins/maven-it-plugin-touch/pom.xml
----------------------------------------------------------------------
diff --git a/core-it-support/core-it-plugins/maven-it-plugin-touch/pom.xml b/core-it-support/core-it-plugins/maven-it-plugin-touch/pom.xml
index 104cdf0..7169276 100644
--- a/core-it-support/core-it-plugins/maven-it-plugin-touch/pom.xml
+++ b/core-it-support/core-it-plugins/maven-it-plugin-touch/pom.xml
@@ -32,6 +32,7 @@ under the License.
<packaging>maven-plugin</packaging>
<name>Maven IT Plugin :: Touch</name>
+ <description>Plugin to touch files.</description>
<inceptionYear>2001</inceptionYear>
<dependencies>
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/192dd12c/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CopyPomMojo.java
----------------------------------------------------------------------
diff --git a/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CopyPomMojo.java b/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CopyPomMojo.java
index 9eb43e3..578422a 100644
--- a/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CopyPomMojo.java
+++ b/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CopyPomMojo.java
@@ -21,7 +21,6 @@ package org.apache.maven.plugin.coreit;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
import java.io.File;
import java.io.FileInputStream;
@@ -29,11 +28,10 @@ import java.io.FileOutputStream;
import java.io.IOException;
/**
- * @goal copy-pom
+ * Mojo which makes a copy of the POM using MavenProject.getFile() to locate the file.
*
+ * @goal copy-pom
* @phase generate-sources
- *
- * @description Mojo which makes a copy of the POM using MavenProject.getFile() to locate the file.
*/
public class CopyPomMojo
extends AbstractMojo
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/192dd12c/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
----------------------------------------------------------------------
diff --git a/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java b/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
deleted file mode 100644
index 3d84794..0000000
--- a/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package org.apache.maven.plugin.coreit;
-
-/*
- * 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 org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * @goal touch
- *
- * @phase process-sources
- *
- * @description Goal which cleans the build
- */
-public class CoreItMojo
- extends AbstractMojo
-{
- /**
- * @parameter default-value="${project}"
- */
- private MavenProject project;
-
- /**
- * @parameter default-value="${project.build.directory}"
- * @required
- */
- private String outputDirectory;
-
- /** Test setting of plugin-artifacts on the PluginDescriptor instance.
- * @parameter default-value="${plugin.artifactMap}"
- * @required
- */
- private Map pluginArtifacts;
-
- /**
- * @parameter default-value="target/test-basedir-alignment"
- */
- private File basedirAlignmentDirectory;
-
- /**
- * @parameter alias="pluginFile"
- */
- private String pluginItem = "foo";
-
- /**
- * @parameter
- */
- private String goalItem = "bar";
-
- /**
- * @parameter property="artifactToFile"
- */
- private String artifactToFile;
-
- /**
- * @parameter property="fail"
- */
- private boolean fail = false;
-
- public void execute()
- throws MojoExecutionException
- {
- if ( fail )
- {
- throw new MojoExecutionException( "Failing per \'fail\' parameter (specified in pom or system properties)" );
- }
-
- touch( new File( outputDirectory ), "touch.txt" );
-
- // This parameter should be aligned to the basedir as the parameter type is specified
- // as java.io.File
-
- if ( !basedirAlignmentDirectory.isAbsolute() )
- {
- throw new MojoExecutionException( "basedirAlignmentDirectory not aligned" );
- }
-
- touch( basedirAlignmentDirectory, "touch.txt" );
-
- File outDir = new File( outputDirectory );
-
- // Test parameter setting
- if ( pluginItem != null )
- {
- touch( outDir, pluginItem );
- }
-
- if ( goalItem != null )
- {
- touch( outDir, goalItem );
- }
-
- if ( artifactToFile != null )
- {
- Artifact artifact = (Artifact) pluginArtifacts.get( artifactToFile );
-
- File artifactFile = artifact.getFile();
-
- String filename = artifactFile.getAbsolutePath().replace('/', '_').replace(':', '_') + ".txt";
-
- touch( outDir, filename );
- }
-
- project.getBuild().setFinalName( "coreitified" );
- }
-
- private void touch( File dir, String file )
- throws MojoExecutionException
- {
- try
- {
- if ( !dir.exists() )
- {
- dir.mkdirs();
- }
-
- File touch = new File( dir, file );
-
- getLog().info( "Touching file: " + touch.getAbsolutePath() );
-
- FileWriter w = new FileWriter( touch );
-
- w.write( file );
-
- w.close();
- }
- catch ( IOException e )
- {
- throw new MojoExecutionException( "Error touching file", e );
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/192dd12c/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItTouchMojo.java
----------------------------------------------------------------------
diff --git a/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItTouchMojo.java b/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItTouchMojo.java
new file mode 100644
index 0000000..e8e25cf
--- /dev/null
+++ b/core-it-support/core-it-plugins/maven-it-plugin-touch/src/main/java/org/apache/maven/plugin/coreit/CoreItTouchMojo.java
@@ -0,0 +1,167 @@
+package org.apache.maven.plugin.coreit;
+
+/*
+ * 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 org.apache.maven.artifact.Artifact;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Mojo that touches one <code>touch.txt</code> or more files with configured filenames,
+ * or cause failure if desired, and set build final name to '<code>coreitified</code>'
+ *
+ * @goal touch
+ * @phase process-sources
+ */
+public class CoreItTouchMojo
+ extends AbstractMojo
+{
+ /**
+ * @parameter default-value="${project}"
+ */
+ private MavenProject project;
+
+ /**
+ * Output directory for touched files.
+ *
+ * @parameter default-value="${project.build.directory}"
+ * @required
+ */
+ private String outputDirectory;
+
+ /**
+ * Test setting of plugin-artifacts on the PluginDescriptor instance.
+ *
+ * @parameter default-value="${plugin.artifactMap}"
+ * @required
+ */
+ private Map<String, Artifact> pluginArtifacts;
+
+ /**
+ * Parameter to check that File attribute is injected with absolute path, even if parameter
+ * value is relative: a <code>touch.txt</code> file will be created in specified directory, to be able
+ * to check that absolute value is at right place.
+ *
+ * @parameter default-value="target/test-basedir-alignment"
+ */
+ private File basedirAlignmentDirectory;
+
+ /**
+ * @parameter alias="pluginFile"
+ */
+ private String pluginItem = "foo";
+
+ /**
+ * @parameter
+ */
+ private String goalItem = "bar";
+
+ /**
+ * Touch a file named after artifact absolute file name, replacing '/' and ':' by '_' and adding ".txt".
+ *
+ * @parameter property="artifactToFile"
+ */
+ private String artifactToFile;
+
+ /**
+ * Should the goal cause a failure before doing anything else?
+ *
+ * @parameter property="fail"
+ */
+ private boolean fail = false;
+
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( fail )
+ {
+ throw new MojoExecutionException( "Failing per \'fail\' parameter (specified in pom or system properties)" );
+ }
+
+ File outDir = new File( outputDirectory );
+
+ touch( outDir, "touch.txt" );
+
+ // This parameter should be aligned to the basedir as the parameter type is specified
+ // as java.io.File
+ if ( !basedirAlignmentDirectory.isAbsolute() )
+ {
+ throw new MojoExecutionException( "basedirAlignmentDirectory not aligned" );
+ }
+ touch( basedirAlignmentDirectory, "touch.txt" );
+
+ // Test parameter setting
+ if ( pluginItem != null )
+ {
+ touch( outDir, pluginItem );
+ }
+
+ if ( goalItem != null )
+ {
+ touch( outDir, goalItem );
+ }
+
+ if ( artifactToFile != null )
+ {
+ Artifact artifact = pluginArtifacts.get( artifactToFile );
+
+ File artifactFile = artifact.getFile();
+
+ String filename = artifactFile.getAbsolutePath().replace( '/', '_' ).replace( ':', '_' ) + ".txt";
+
+ touch( outDir, filename );
+ }
+
+ project.getBuild().setFinalName( "coreitified" );
+ }
+
+ private void touch( File dir, String file )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( !dir.exists() )
+ {
+ dir.mkdirs();
+ }
+
+ File touch = new File( dir, file );
+
+ getLog().info( "Touching file: " + touch.getAbsolutePath() );
+
+ FileWriter w = new FileWriter( touch );
+
+ w.write( file );
+
+ w.close();
+ }
+
+ catch ( IOException e )
+ {
+ throw new MojoExecutionException( "Error touching file", e );
+ }
+ }
+}