You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by se...@apache.org on 2014/08/12 03:25:39 UTC

svn commit: r1617391 - in /creadur/rat/trunk: apache-rat-core/ apache-rat-core/src/main/java/org/apache/rat/analysis/license/ apache-rat-core/src/main/java/org/apache/rat/annotation/ apache-rat-core/src/main/java/org/apache/rat/document/impl/ apache-ra...

Author: sebb
Date: Tue Aug 12 01:25:38 2014
New Revision: 1617391

URL: http://svn.apache.org/r1617391
Log:
Tab police
Also removed trailing spaces in files that had tabs

Modified:
    creadur/rat/trunk/apache-rat-core/pom.xml
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/ArchiveGuesser.java
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/NoteGuesser.java
    creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java
    creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatCheckMojo.java
    creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java
    creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/AbstractRatMojoTest.java
    creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java
    creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java

Modified: creadur/rat/trunk/apache-rat-core/pom.xml
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/pom.xml?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/pom.xml (original)
+++ creadur/rat/trunk/apache-rat-core/pom.xml Tue Aug 12 01:25:38 2014
@@ -28,7 +28,7 @@
   <description>The core functionality, shared by the Ant tasks
     and the Maven plugin.</description>
 
-  <build>   
+  <build>
     <resources>
       <resource>
         <filtering>false</filtering>
@@ -89,7 +89,7 @@
       <artifactId>commons-collections</artifactId>
     </dependency>
     <dependency>
-	  <groupId>commons-lang</groupId>
+      <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
     </dependency>
     <dependency>

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java Tue Aug 12 01:25:38 2014
@@ -34,7 +34,7 @@ public class CDDL1License extends Simple
 
     public static final String LICENSE_URL =
             ".*https://oss.oracle.com/licenses/CDDL.*";
-    private static final Pattern LICENSE_URL_PATTERN = Pattern.compile(LICENSE_URL);    
+    private static final Pattern LICENSE_URL_PATTERN = Pattern.compile(LICENSE_URL);
 
 
     public CDDL1License() {
@@ -46,10 +46,10 @@ public class CDDL1License extends Simple
     @Override
     protected boolean matches(final String pLine) {
         if (pLine != null) {
-        	return 
-        			super.matches(pLine) ||
-        			LICENSE_LINE_PATTERN.matcher(pLine).find() ||
-        			LICENSE_URL_PATTERN.matcher(pLine).find();
+            return
+                    super.matches(pLine) ||
+                    LICENSE_LINE_PATTERN.matcher(pLine).find() ||
+                    LICENSE_URL_PATTERN.matcher(pLine).find();
         }
         return false;
     }

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/annotation/AbstractLicenceAppender.java Tue Aug 12 01:25:38 2014
@@ -15,7 +15,7 @@
  * KIND, either express or implied.  See the License for the    *
  * specific language governing permissions and limitations      *
  * under the License.                                           *
- */ 
+ */
 package org.apache.rat.annotation;
 
 import java.io.BufferedReader;
@@ -36,11 +36,11 @@ import java.util.Map;
  * existence of an existing licence header, it is assumed that either a second
  * licence header is intentional or that there is no licence header present
  * already.
- * 
+ *
  */
 public abstract class AbstractLicenceAppender {
     private static final String DOT = ".";
-	private static final int TYPE_UNKNOWN = 0;
+    private static final int TYPE_UNKNOWN = 0;
     private static final int TYPE_JAVA = 1;
     private static final int TYPE_XML = 2;
     private static final int TYPE_HTML = 3;
@@ -188,7 +188,7 @@ public abstract class AbstractLicenceApp
 
     /**
      * Append the default licence header to the supplied document.
-     * 
+     *
      * @param document document to append to.
      * @throws IOException
      *           if there is a problem while reading or writing the file
@@ -341,7 +341,7 @@ public abstract class AbstractLicenceApp
 
     /**
      * Detect the type of document.
-     * 
+     *
      * @param document to retrieve type from.
      * @return not null
      * @TODO use existing mechanism to detect the type of a file and record it in the report output, thus we will not need this duplication here.
@@ -363,7 +363,7 @@ public abstract class AbstractLicenceApp
      * Set the force flag on this appender. If this flag is set
      * to true then files will be modified directly, otherwise
      * new files will be created alongside the existing files.
-     * 
+     *
      * @param force force flag.
      */
     public void setForce(boolean force) {
@@ -372,14 +372,14 @@ public abstract class AbstractLicenceApp
 
     /**
      * @return Get the licence header of a document.
-     * @param document document to extract from. 
+     * @param document document to extract from.
      */
     public abstract String getLicenceHeader(File document);
 
     /**
      * Get the first line of the licence header formatted
      * for the given type of file.
-     * 
+     *
      * @param type the type of file, see the TYPE_* constants
      * @return not null
      */
@@ -396,7 +396,7 @@ public abstract class AbstractLicenceApp
     /**
      * Get the last line of the licence header formatted
      * for the given type of file.
-     * 
+     *
      * @param type the type of file, see the TYPE_* constants
      * @return not null
      */
@@ -413,7 +413,7 @@ public abstract class AbstractLicenceApp
     /**
      * Get a line of the licence header formatted
      * for the given type of file.
-     * 
+     *
      * @param type the type of file, see the TYPE_* constants
      * @param content the content for this line
      * @return not null

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/MonolithicFileDocument.java Tue Aug 12 01:25:38 2014
@@ -15,7 +15,7 @@
  * KIND, either express or implied.  See the License for the    *
  * specific language governing permissions and limitations      *
  * under the License.                                           *
- */ 
+ */
 package org.apache.rat.document.impl;
 
 import java.io.File;
@@ -32,13 +32,14 @@ import org.apache.rat.api.Document;
 
 public class MonolithicFileDocument extends AbstractMonolithicDocument {
     private static final String UTF_8 = "UTF-8";
-	private static final String FILE_URL_PREFIX = "file";
-	
-	private final File file;
+
+    private static final String FILE_URL_PREFIX = "file";
+
+    private final File file;
 
     /**
-     * @return Creates and returns a new instance. 
-     * 
+     * @return Creates and returns a new instance.
+     *
      * @param url The document is read from the given URL.
      */
     public static Document newInstance(final URL url) {

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/ArchiveGuesser.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/ArchiveGuesser.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/ArchiveGuesser.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/ArchiveGuesser.java Tue Aug 12 01:25:38 2014
@@ -15,7 +15,7 @@
  * KIND, either express or implied.  See the License for the    *
  * specific language governing permissions and limitations      *
  * under the License.                                           *
- */ 
+ */
 package org.apache.rat.document.impl.guesser;
 
 import java.util.Locale;
@@ -23,9 +23,10 @@ import java.util.Locale;
 import org.apache.rat.api.Document;
 
 public class ArchiveGuesser {
-    
+
     private static final String DOT = ".";
-	public static final String[] ARCHIVE_EXTENSIONS = {
+
+    public static final String[] ARCHIVE_EXTENSIONS = {
         "jar", "gz",
         "zip", "tar",
         "bz", "bz2",
@@ -38,7 +39,7 @@ public class ArchiveGuesser {
     };
 
     /**
-     * @param document the current document. 
+     * @param document the current document.
      * @return whether the given document is an archive.
      */
     public static final boolean isArchive(final Document document) {

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/BinaryGuesser.java Tue Aug 12 01:25:38 2014
@@ -38,7 +38,7 @@ public class BinaryGuesser {
 
     private static final String DOT = ".";
 
-	private static boolean isBinaryDocument(Document document) {
+    private static boolean isBinaryDocument(Document document) {
         boolean result = false;
         InputStream stream = null;
         try

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/NoteGuesser.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/NoteGuesser.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/NoteGuesser.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/document/impl/guesser/NoteGuesser.java Tue Aug 12 01:25:38 2014
@@ -15,7 +15,7 @@
  * KIND, either express or implied.  See the License for the    *
  * specific language governing permissions and limitations      *
  * under the License.                                           *
- */ 
+ */
 package org.apache.rat.document.impl.guesser;
 
 import java.util.Arrays;
@@ -26,11 +26,12 @@ import org.apache.rat.api.Document;
 public class NoteGuesser {
 
     private static final String DOT = ".";
-	public static final String[] NOTE_FILE_NAMES = {
+
+    public static final String[] NOTE_FILE_NAMES = {
         "NOTICE", "LICENSE",
         "LICENSE.TXT", "NOTICE.TXT",
         "INSTALL", "INSTALL.TXT",
-        "README", "README.TXT", 
+        "README", "README.TXT",
         "NEWS", "NEWS.TXT",
         "AUTHOR", "AUTHOR.TXT",
         "AUTHORS", "AUTHORS.txt",
@@ -50,17 +51,17 @@ public class NoteGuesser {
         "LICENSE", "LICENSE.TXT",
         "NOTICE", "NOTICE.TXT",
     };
-    
+
     /**
      * @return Is a file by that name a note file?
      * @param name file name.
      */
     public static final boolean isNote(final String name) {
         if (name == null) {return false;}
-    
+
         List<String> l = Arrays.asList(NoteGuesser.NOTE_FILE_NAMES);
         String normalisedName = GuessUtils.normalise(name);
-        
+
         if (l.contains(name) || l.contains(normalisedName)) {
             return true;
         }
@@ -70,7 +71,7 @@ public class NoteGuesser {
                 return true;
             }
         }
-        
+
         return false;
     }
 

Modified: creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java (original)
+++ creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java Tue Aug 12 01:25:38 2014
@@ -51,457 +51,457 @@ import org.codehaus.plexus.util.Director
  * Abstract base class for Mojos, which are running Rat.
  */
 public abstract class AbstractRatMojo extends AbstractMojo {
-	/**
-	 * The Maven specific default excludes.
-	 */
-	static final List<String> MAVEN_DEFAULT_EXCLUDES = Collections
-			.unmodifiableList(Arrays.asList("target/**/*", //
-					"cobertura.ser", //
-					"release.properties", //
-					"pom.xml.releaseBackup"));
-
-	/**
-	 * The Eclipse specific default excludes.
-	 */
-	static final List<String> ECLIPSE_DEFAULT_EXCLUDES = Collections
-			.unmodifiableList(Arrays.asList(".classpath",//
-					".project", //
-					".settings/**/*"));
-
-	/**
-	 * The IDEA specific default excludes.
-	 */
-	static final List<String> IDEA_DEFAULT_EXCLUDES = Collections
-			.unmodifiableList(Arrays.asList(//
-					"*.iml", //
-					"*.ipr", //
-					"*.iws", //
-					".idea/**/*"));
-
-	/**
-	 * The base directory, in which to search for files.
-	 *
-	 */
-	@Parameter(property = "rat.basedir", defaultValue = "${basedir}", required = true)
-	private File basedir;
-
-	/**
-	 * Specifies the licenses to accept. Deprecated, use {@link #licenses}
-	 * instead.
-	 *
-	 * @deprecated Use {@link #licenses} instead.
-	 */
-	@Deprecated
-	@Parameter
-	private HeaderMatcherSpecification[] licenseMatchers;
-
-	/**
-	 * Specifies the licenses to accept. By default, these are added to the
-	 * default licenses, unless you set {@link #addDefaultLicenseMatchers} to
-	 * true.
-	 *
-	 * @since 0.8
-	 */
-	@Parameter
-	private IHeaderMatcher[] licenses;
-
-	/**
-	 * The set of approved license family names.
-	 * 
-	 * @deprecated Use {@link #licenseFamilies} instead.
-	 */
-	@Deprecated
-	private LicenseFamilySpecification[] licenseFamilyNames;
-
-	/**
-	 * Specifies the license families to accept.
-	 *
-	 * @since 0.8
-	 */
-	@Parameter
-	private ILicenseFamily[] licenseFamilies;
-
-	/**
-	 * Whether to add the default list of license matchers.
-	 *
-	 */
-	@Parameter(property = "rat.addDefaultLicenseMatchers", defaultValue = "true")
-	private boolean addDefaultLicenseMatchers;
-
-	/**
-	 * Specifies files, which are included in the report. By default, all files
-	 * are included.
-	 *
-	 */
-	@Parameter
-	private String[] includes;
-
-	/**
-	 * Specifies files, which are excluded in the report. By default, no files
-	 * are excluded.
-	 *
-	 */
-	@Parameter
-	private String[] excludes;
-
-	/**
-	 * Whether to use the default excludes when scanning for files. The default
-	 * excludes are:
-	 * <ul>
-	 * <li>meta data files for version control systems</li>
-	 * <li>temporary files used by Maven, see <a
-	 * href="#useMavenDefaultExcludes">useMavenDefaultExcludes</a></li>
-	 * <li>configuration files for Eclipse, see <a
-	 * href="#useEclipseDefaultExcludes">useEclipseDefaultExcludes</a></li>
-	 * <li>configuration files for IDEA, see <a
-	 * href="#useIdeaDefaultExcludes">useIdeaDefaultExcludes</a></li>
-	 * </ul>
-	 */
-	@Parameter(property = "rat.useDefaultExcludes", defaultValue = "true")
-	private boolean useDefaultExcludes;
-
-	/**
-	 * Whether to use the Maven specific default excludes when scanning for
-	 * files. Maven specific default excludes are given by the constant
-	 * MAVEN_DEFAULT_EXCLUDES: The <code>target</code> directory, the
-	 * <code>cobertura.ser</code> file, and so on.
-	 */
-	@Parameter(property = "rat.useMavenDefaultExcludes", defaultValue = "true")
-	private boolean useMavenDefaultExcludes;
-
-	/**
-	 * Whether to use the Eclipse specific default excludes when scanning for
-	 * files. Eclipse specific default excludes are given by the constant
-	 * ECLIPSE_DEFAULT_EXCLUDES: The <code>.classpath</code> and
-	 * <code>.project</code> files, the <code>.settings</code> directory, and so
-	 * on.
-	 */
-	@Parameter(property = "rat.useEclipseDefaultExcludes", defaultValue = "true")
-	private boolean useEclipseDefaultExcludes;
-
-	/**
-	 * Whether to use the IDEA specific default excludes when scanning for
-	 * files. IDEA specific default excludes are given by the constant
-	 * IDEA_DEFAULT_EXCLUDES: The <code>*.iml</code>, <code>*.ipr</code> and
-	 * <code>*.iws</code> files and the <code>.idea</code> directory.
-	 */
-	@Parameter(property = "rat.useIdeaDefaultExcludes", defaultValue = "true")
-	private boolean useIdeaDefaultExcludes;
-
-	/**
-	 * Whether to exclude subprojects. This is recommended, if you want a
-	 * separate apache-rat-plugin report for each subproject.
-	 *
-	 */
-	@Parameter(property = "rat.excludeSubprojects", defaultValue = "true")
-	private boolean excludeSubProjects;
+    /**
+     * The Maven specific default excludes.
+     */
+    static final List<String> MAVEN_DEFAULT_EXCLUDES = Collections
+            .unmodifiableList(Arrays.asList("target/**/*", //
+                    "cobertura.ser", //
+                    "release.properties", //
+                    "pom.xml.releaseBackup"));
+
+    /**
+     * The Eclipse specific default excludes.
+     */
+    static final List<String> ECLIPSE_DEFAULT_EXCLUDES = Collections
+            .unmodifiableList(Arrays.asList(".classpath",//
+                    ".project", //
+                    ".settings/**/*"));
+
+    /**
+     * The IDEA specific default excludes.
+     */
+    static final List<String> IDEA_DEFAULT_EXCLUDES = Collections
+            .unmodifiableList(Arrays.asList(//
+                    "*.iml", //
+                    "*.ipr", //
+                    "*.iws", //
+                    ".idea/**/*"));
+
+    /**
+     * The base directory, in which to search for files.
+     *
+     */
+    @Parameter(property = "rat.basedir", defaultValue = "${basedir}", required = true)
+    private File basedir;
+
+    /**
+     * Specifies the licenses to accept. Deprecated, use {@link #licenses}
+     * instead.
+     *
+     * @deprecated Use {@link #licenses} instead.
+     */
+    @Deprecated
+    @Parameter
+    private HeaderMatcherSpecification[] licenseMatchers;
+
+    /**
+     * Specifies the licenses to accept. By default, these are added to the
+     * default licenses, unless you set {@link #addDefaultLicenseMatchers} to
+     * true.
+     *
+     * @since 0.8
+     */
+    @Parameter
+    private IHeaderMatcher[] licenses;
+
+    /**
+     * The set of approved license family names.
+     *
+     * @deprecated Use {@link #licenseFamilies} instead.
+     */
+    @Deprecated
+    private LicenseFamilySpecification[] licenseFamilyNames;
+
+    /**
+     * Specifies the license families to accept.
+     *
+     * @since 0.8
+     */
+    @Parameter
+    private ILicenseFamily[] licenseFamilies;
+
+    /**
+     * Whether to add the default list of license matchers.
+     *
+     */
+    @Parameter(property = "rat.addDefaultLicenseMatchers", defaultValue = "true")
+    private boolean addDefaultLicenseMatchers;
+
+    /**
+     * Specifies files, which are included in the report. By default, all files
+     * are included.
+     *
+     */
+    @Parameter
+    private String[] includes;
+
+    /**
+     * Specifies files, which are excluded in the report. By default, no files
+     * are excluded.
+     *
+     */
+    @Parameter
+    private String[] excludes;
+
+    /**
+     * Whether to use the default excludes when scanning for files. The default
+     * excludes are:
+     * <ul>
+     * <li>meta data files for version control systems</li>
+     * <li>temporary files used by Maven, see <a
+     * href="#useMavenDefaultExcludes">useMavenDefaultExcludes</a></li>
+     * <li>configuration files for Eclipse, see <a
+     * href="#useEclipseDefaultExcludes">useEclipseDefaultExcludes</a></li>
+     * <li>configuration files for IDEA, see <a
+     * href="#useIdeaDefaultExcludes">useIdeaDefaultExcludes</a></li>
+     * </ul>
+     */
+    @Parameter(property = "rat.useDefaultExcludes", defaultValue = "true")
+    private boolean useDefaultExcludes;
+
+    /**
+     * Whether to use the Maven specific default excludes when scanning for
+     * files. Maven specific default excludes are given by the constant
+     * MAVEN_DEFAULT_EXCLUDES: The <code>target</code> directory, the
+     * <code>cobertura.ser</code> file, and so on.
+     */
+    @Parameter(property = "rat.useMavenDefaultExcludes", defaultValue = "true")
+    private boolean useMavenDefaultExcludes;
+
+    /**
+     * Whether to use the Eclipse specific default excludes when scanning for
+     * files. Eclipse specific default excludes are given by the constant
+     * ECLIPSE_DEFAULT_EXCLUDES: The <code>.classpath</code> and
+     * <code>.project</code> files, the <code>.settings</code> directory, and so
+     * on.
+     */
+    @Parameter(property = "rat.useEclipseDefaultExcludes", defaultValue = "true")
+    private boolean useEclipseDefaultExcludes;
+
+    /**
+     * Whether to use the IDEA specific default excludes when scanning for
+     * files. IDEA specific default excludes are given by the constant
+     * IDEA_DEFAULT_EXCLUDES: The <code>*.iml</code>, <code>*.ipr</code> and
+     * <code>*.iws</code> files and the <code>.idea</code> directory.
+     */
+    @Parameter(property = "rat.useIdeaDefaultExcludes", defaultValue = "true")
+    private boolean useIdeaDefaultExcludes;
+
+    /**
+     * Whether to exclude subprojects. This is recommended, if you want a
+     * separate apache-rat-plugin report for each subproject.
+     *
+     */
+    @Parameter(property = "rat.excludeSubprojects", defaultValue = "true")
+    private boolean excludeSubProjects;
 
-	/**
-    * Holds the maven-internal project to allow resolution of artifact properties during mojo runs. 
+    /**
+    * Holds the maven-internal project to allow resolution of artifact properties during mojo runs.
     */
-	@Parameter(property = "project", required = true, readonly = true)
-	private MavenProject project;
+    @Parameter(property = "project", required = true, readonly = true)
+    private MavenProject project;
 
-	/**
-	 * @return Returns the Maven project.
-	 */
-	protected MavenProject getProject() {
-		return project;
-	}
-
-	/**
-	 * Returns the set of {@link IHeaderMatcher header matchers} to use.
-	 *
-	 * @throws MojoFailureException
-	 *             An error in the plugin configuration was detected.
-	 * @throws MojoExecutionException
-	 *             An error occurred while calculating the result.
-	 * @return Array of license matchers to use
-	 */
-	protected IHeaderMatcher[] getLicenseMatchers()
-			throws MojoFailureException, MojoExecutionException {
-		final List<IHeaderMatcher> list = new ArrayList<IHeaderMatcher>();
-		if (licenses != null) {
-			list.addAll(Arrays.asList(licenses));
-		}
-
-		if (licenseMatchers != null) {
-			for (final HeaderMatcherSpecification spec : licenseMatchers) {
-				final String className = spec.getClassName();
-				final IHeaderMatcher headerMatcher = newInstance(
-						IHeaderMatcher.class, className);
-				list.add(headerMatcher);
-			}
-		}
-
-		if (addDefaultLicenseMatchers) {
-			list.addAll(Arrays.asList(Defaults.DEFAULT_MATCHERS));
-		}
-		return list.toArray(new IHeaderMatcher[list.size()]);
-	}
-
-	private <T> T newInstance(final Class<T> clazz, final String className)
-			throws MojoExecutionException, MojoFailureException {
-		try {
-			final ClassLoader cl = Thread.currentThread()
-					.getContextClassLoader();
-			@SuppressWarnings("unchecked") // incorrect cast will be caught below
-			final T o = (T) cl.loadClass(className).newInstance();
-
-			if (!clazz.isAssignableFrom(o.getClass())) {
-				throw new MojoFailureException("The class "
-						+ o.getClass().getName() + " does not implement "
-						+ clazz.getName());
-			}
-			return o;
-		} catch (InstantiationException e) {
-			throw new MojoExecutionException("Failed to instantiate class "
-					+ className + ": " + e.getMessage(), e);
-		} catch (ClassCastException e) {
-			throw new MojoExecutionException("The class " + className
-					+ " is not implementing " + clazz.getName() + ": "
-					+ e.getMessage(), e);
-		} catch (IllegalAccessException e) {
-			throw new MojoExecutionException("Illegal access to class "
-					+ className + ": " + e.getMessage(), e);
-		} catch (ClassNotFoundException e) {
-			throw new MojoExecutionException("Class " + className
-					+ " not found: " + e.getMessage(), e);
-		}
-	}
-
-	/**
-	 * Adds the given string array to the list.
-	 *
-	 * @param pList
-	 *            The list to which the array elements are being added.
-	 * @param pArray
-	 *            The strings to add to the list.
-	 */
-	private static void add(List<String> pList, String[] pArray) {
-		if (pArray != null) {
-			Collections.addAll(pList, pArray);
-		}
-	}
-
-	/**
-	 * Creates an iterator over the files to check.
-	 *
-	 * @return A container of files, which are being checked.
-	 */
-	protected IReportable getResources() {
-		final DirectoryScanner ds = new DirectoryScanner();
-		ds.setBasedir(basedir);
-		setExcludes(ds);
-		setIncludes(ds);
-		ds.scan();
-		whenDebuggingLogExcludedFiles(ds);
-		final String[] files = ds.getIncludedFiles();
-		logAboutIncludedFiles(files);
-		try {
-			return new FilesReportable(basedir, files);
-		} catch (IOException e) {
-			throw new UndeclaredThrowableException(e);
-		}
-	}
-
-	private void logAboutIncludedFiles(final String[] files) {
-		if (files.length == 0) {
-			getLog().warn("No resources included.");
-		} else {
-			getLog().info(
-					files.length
-							+ " resources included (use -debug for more details)");
-			if (getLog().isDebugEnabled()) {
-				for (String resource : files) {
-					getLog().debug(" - included " + resource);
-				}
-			}
-		}
-	}
-
-	private void whenDebuggingLogExcludedFiles(final DirectoryScanner ds) {
-		if (getLog().isDebugEnabled()) {
-			final String[] excludedFiles = ds.getExcludedFiles();
-			if (excludedFiles.length == 0) {
-				getLog().debug("No excluded resources.");
-			} else {
-				getLog().debug(
-						"Excluded " + excludedFiles.length + " resources:");
-				for (final String resource : excludedFiles) {
-					getLog().debug(" - excluded " + resource);
-				}
-			}
-		}
-	}
-
-	private void setIncludes(DirectoryScanner ds) {
-		if (includes != null) {
-			ds.setIncludes(includes);
-		}
-	}
-
-	private void setExcludes(DirectoryScanner ds) {
-		final List<String> excludeList = buildDefaultExclusions();
-		if (excludes == null || excludes.length == 0) {
-			getLog().info("No excludes explicitly specified.");
-		} else {
-			for (String exclude : excludes) {
-				getLog().info("Exclude: " + exclude);
-			}
-		}
-		add(excludeList, excludes);
-		if (!excludeList.isEmpty()) {
-			String[] allExcludes = excludeList.toArray(new String[excludeList
-					.size()]);
-			ds.setExcludes(allExcludes);
-		}
-	}
-
-	private List<String> buildDefaultExclusions() {
-		final List<String> results = new ArrayList<String>();
-
-		addPlexusDefaults(results);
-
-		addMavenDefaults(results);
-
-		addEclipseDefaults(results);
-
-		addIdeaDefaults(results);
-
-		if (excludeSubProjects && project != null
-				&& project.getModules() != null) {
-			for (Object o : project.getModules()) {
-				String moduleSubPath = (String) o;
-				results.add(moduleSubPath + "/**/*");
-			}
-		}
-
-		getLog().debug("Finished creating list of implicit excludes.");
-		if (results.isEmpty()) {
-			getLog().info("No excludes implicitly specified.");
-		} else {
-			getLog().info(
-					results.size()
-							+ " implicit excludes (use -debug for more details).");
-			for (final String exclude : results) {
-				getLog().debug("Implicit exclude: " + exclude);
-			}
-		}
-
-		return results;
-	}
-
-	private void addPlexusDefaults(final List<String> excludeList1) {
-		if (useDefaultExcludes) {
-			getLog().debug("Adding plexus default exclusions...");
-			Collections.addAll(excludeList1, DirectoryScanner.DEFAULTEXCLUDES);
-		} else {
-			getLog().debug(
-					"rat.useDefaultExcludes set to false. "
-							+ "Plexus default exclusions will not be added");
-		}
-	}
-
-	private void addMavenDefaults(final List<String> excludeList1) {
-		if (useMavenDefaultExcludes) {
-			getLog().debug(
-					"Adding exclusions often needed by Maven projects...");
-			excludeList1.addAll(MAVEN_DEFAULT_EXCLUDES);
-		} else {
-			getLog().debug(
-					"rat.useMavenDefaultExcludes set to false. "
-							+ "Exclusions often needed by Maven projects will not be added.");
-		}
-	}
-
-	private void addEclipseDefaults(final List<String> excludeList1) {
-		if (useEclipseDefaultExcludes) {
-			getLog().debug(
-					"Adding exclusions often needed by projects "
-							+ "developed in Eclipse...");
-			excludeList1.addAll(ECLIPSE_DEFAULT_EXCLUDES);
-		} else {
-			getLog().debug(
-					"rat.useEclipseDefaultExcludes set to false. "
-							+ "Exclusions often needed by projects developed in "
-							+ "Eclipse will not be added.");
-		}
-	}
-
-	private void addIdeaDefaults(final List<String> excludeList1) {
-		if (useIdeaDefaultExcludes) {
-			getLog().debug(
-					"Adding exclusions often needed by projects "
-							+ "developed in IDEA...");
-			excludeList1.addAll(IDEA_DEFAULT_EXCLUDES);
-		} else {
-			getLog().debug(
-					"rat.useIdeaDefaultExcludes set to false. "
-							+ "Exclusions often needed by projects developed in "
-							+ "IDEA will not be added.");
-		}
-	}
-
-	/**
-	 * Writes the report to the given stream.
-	 *
-	 * @param out
-	 *            The target writer, to which the report is being written.
-	 * @param style
-	 *            The stylesheet to use, or <code>null</code> for raw XML
-	 * 
-	 * @return the current statistic.
-	 * 
-	 * @throws MojoFailureException
-	 *             An error in the plugin configuration was detected.
-	 * @throws MojoExecutionException
-	 *             Another error occurred while creating the report.
-	 */
-	protected ClaimStatistic createReport(Writer out, InputStream style)
-			throws MojoExecutionException, MojoFailureException {
-		final ReportConfiguration configuration = getConfiguration();
-		try {
-			if (style != null) {
-				return Report.report(out, getResources(), style, configuration);
-			} else {
-				return Report.report(getResources(), out, configuration);
-			}
-		} catch (TransformerConfigurationException e) {
-			throw new MojoExecutionException(e.getMessage(), e);
-		} catch (IOException e) {
-			throw new MojoExecutionException(e.getMessage(), e);
-		} catch (InterruptedException e) {
-			throw new MojoExecutionException(e.getMessage(), e);
-		} catch (RatException e) {
-			throw new MojoExecutionException(e.getMessage(), e);
-		}
-	}
-
-	protected ReportConfiguration getConfiguration()
-			throws MojoFailureException, MojoExecutionException {
-		final ReportConfiguration configuration = new ReportConfiguration();
-		configuration.setHeaderMatcher(new HeaderMatcherMultiplexer(
-				getLicenseMatchers()));
-		configuration.setApprovedLicenseNames(getApprovedLicenseNames());
-		return configuration;
-	}
-
-	private ILicenseFamily[] getApprovedLicenseNames()
-			throws MojoExecutionException, MojoFailureException {
-		final List<ILicenseFamily> list = new ArrayList<ILicenseFamily>();
-		if (licenseFamilies != null) {
-			list.addAll(Arrays.asList(licenseFamilies));
-		}
-		if (licenseFamilyNames != null) {
-			for (LicenseFamilySpecification spec : licenseFamilyNames) {
-				list.add(newInstance(ILicenseFamily.class, spec.getClassName()));
-			}
-		}
-
-		if (list.isEmpty()) {
-			return null;
-		}
-		return list.toArray(new ILicenseFamily[list.size()]);
-	}
+    /**
+     * @return Returns the Maven project.
+     */
+    protected MavenProject getProject() {
+        return project;
+    }
+
+    /**
+     * Returns the set of {@link IHeaderMatcher header matchers} to use.
+     *
+     * @throws MojoFailureException
+     *             An error in the plugin configuration was detected.
+     * @throws MojoExecutionException
+     *             An error occurred while calculating the result.
+     * @return Array of license matchers to use
+     */
+    protected IHeaderMatcher[] getLicenseMatchers()
+            throws MojoFailureException, MojoExecutionException {
+        final List<IHeaderMatcher> list = new ArrayList<IHeaderMatcher>();
+        if (licenses != null) {
+            list.addAll(Arrays.asList(licenses));
+        }
+
+        if (licenseMatchers != null) {
+            for (final HeaderMatcherSpecification spec : licenseMatchers) {
+                final String className = spec.getClassName();
+                final IHeaderMatcher headerMatcher = newInstance(
+                        IHeaderMatcher.class, className);
+                list.add(headerMatcher);
+            }
+        }
+
+        if (addDefaultLicenseMatchers) {
+            list.addAll(Arrays.asList(Defaults.DEFAULT_MATCHERS));
+        }
+        return list.toArray(new IHeaderMatcher[list.size()]);
+    }
+
+    private <T> T newInstance(final Class<T> clazz, final String className)
+            throws MojoExecutionException, MojoFailureException {
+        try {
+            final ClassLoader cl = Thread.currentThread()
+                    .getContextClassLoader();
+            @SuppressWarnings("unchecked") // incorrect cast will be caught below
+            final T o = (T) cl.loadClass(className).newInstance();
+
+            if (!clazz.isAssignableFrom(o.getClass())) {
+                throw new MojoFailureException("The class "
+                        + o.getClass().getName() + " does not implement "
+                        + clazz.getName());
+            }
+            return o;
+        } catch (InstantiationException e) {
+            throw new MojoExecutionException("Failed to instantiate class "
+                    + className + ": " + e.getMessage(), e);
+        } catch (ClassCastException e) {
+            throw new MojoExecutionException("The class " + className
+                    + " is not implementing " + clazz.getName() + ": "
+                    + e.getMessage(), e);
+        } catch (IllegalAccessException e) {
+            throw new MojoExecutionException("Illegal access to class "
+                    + className + ": " + e.getMessage(), e);
+        } catch (ClassNotFoundException e) {
+            throw new MojoExecutionException("Class " + className
+                    + " not found: " + e.getMessage(), e);
+        }
+    }
+
+    /**
+     * Adds the given string array to the list.
+     *
+     * @param pList
+     *            The list to which the array elements are being added.
+     * @param pArray
+     *            The strings to add to the list.
+     */
+    private static void add(List<String> pList, String[] pArray) {
+        if (pArray != null) {
+            Collections.addAll(pList, pArray);
+        }
+    }
+
+    /**
+     * Creates an iterator over the files to check.
+     *
+     * @return A container of files, which are being checked.
+     */
+    protected IReportable getResources() {
+        final DirectoryScanner ds = new DirectoryScanner();
+        ds.setBasedir(basedir);
+        setExcludes(ds);
+        setIncludes(ds);
+        ds.scan();
+        whenDebuggingLogExcludedFiles(ds);
+        final String[] files = ds.getIncludedFiles();
+        logAboutIncludedFiles(files);
+        try {
+            return new FilesReportable(basedir, files);
+        } catch (IOException e) {
+            throw new UndeclaredThrowableException(e);
+        }
+    }
+
+    private void logAboutIncludedFiles(final String[] files) {
+        if (files.length == 0) {
+            getLog().warn("No resources included.");
+        } else {
+            getLog().info(
+                    files.length
+                            + " resources included (use -debug for more details)");
+            if (getLog().isDebugEnabled()) {
+                for (String resource : files) {
+                    getLog().debug(" - included " + resource);
+                }
+            }
+        }
+    }
+
+    private void whenDebuggingLogExcludedFiles(final DirectoryScanner ds) {
+        if (getLog().isDebugEnabled()) {
+            final String[] excludedFiles = ds.getExcludedFiles();
+            if (excludedFiles.length == 0) {
+                getLog().debug("No excluded resources.");
+            } else {
+                getLog().debug(
+                        "Excluded " + excludedFiles.length + " resources:");
+                for (final String resource : excludedFiles) {
+                    getLog().debug(" - excluded " + resource);
+                }
+            }
+        }
+    }
+
+    private void setIncludes(DirectoryScanner ds) {
+        if (includes != null) {
+            ds.setIncludes(includes);
+        }
+    }
+
+    private void setExcludes(DirectoryScanner ds) {
+        final List<String> excludeList = buildDefaultExclusions();
+        if (excludes == null || excludes.length == 0) {
+            getLog().info("No excludes explicitly specified.");
+        } else {
+            for (String exclude : excludes) {
+                getLog().info("Exclude: " + exclude);
+            }
+        }
+        add(excludeList, excludes);
+        if (!excludeList.isEmpty()) {
+            String[] allExcludes = excludeList.toArray(new String[excludeList
+                    .size()]);
+            ds.setExcludes(allExcludes);
+        }
+    }
+
+    private List<String> buildDefaultExclusions() {
+        final List<String> results = new ArrayList<String>();
+
+        addPlexusDefaults(results);
+
+        addMavenDefaults(results);
+
+        addEclipseDefaults(results);
+
+        addIdeaDefaults(results);
+
+        if (excludeSubProjects && project != null
+                && project.getModules() != null) {
+            for (Object o : project.getModules()) {
+                String moduleSubPath = (String) o;
+                results.add(moduleSubPath + "/**/*");
+            }
+        }
+
+        getLog().debug("Finished creating list of implicit excludes.");
+        if (results.isEmpty()) {
+            getLog().info("No excludes implicitly specified.");
+        } else {
+            getLog().info(
+                    results.size()
+                            + " implicit excludes (use -debug for more details).");
+            for (final String exclude : results) {
+                getLog().debug("Implicit exclude: " + exclude);
+            }
+        }
+
+        return results;
+    }
+
+    private void addPlexusDefaults(final List<String> excludeList1) {
+        if (useDefaultExcludes) {
+            getLog().debug("Adding plexus default exclusions...");
+            Collections.addAll(excludeList1, DirectoryScanner.DEFAULTEXCLUDES);
+        } else {
+            getLog().debug(
+                    "rat.useDefaultExcludes set to false. "
+                            + "Plexus default exclusions will not be added");
+        }
+    }
+
+    private void addMavenDefaults(final List<String> excludeList1) {
+        if (useMavenDefaultExcludes) {
+            getLog().debug(
+                    "Adding exclusions often needed by Maven projects...");
+            excludeList1.addAll(MAVEN_DEFAULT_EXCLUDES);
+        } else {
+            getLog().debug(
+                    "rat.useMavenDefaultExcludes set to false. "
+                            + "Exclusions often needed by Maven projects will not be added.");
+        }
+    }
+
+    private void addEclipseDefaults(final List<String> excludeList1) {
+        if (useEclipseDefaultExcludes) {
+            getLog().debug(
+                    "Adding exclusions often needed by projects "
+                            + "developed in Eclipse...");
+            excludeList1.addAll(ECLIPSE_DEFAULT_EXCLUDES);
+        } else {
+            getLog().debug(
+                    "rat.useEclipseDefaultExcludes set to false. "
+                            + "Exclusions often needed by projects developed in "
+                            + "Eclipse will not be added.");
+        }
+    }
+
+    private void addIdeaDefaults(final List<String> excludeList1) {
+        if (useIdeaDefaultExcludes) {
+            getLog().debug(
+                    "Adding exclusions often needed by projects "
+                            + "developed in IDEA...");
+            excludeList1.addAll(IDEA_DEFAULT_EXCLUDES);
+        } else {
+            getLog().debug(
+                    "rat.useIdeaDefaultExcludes set to false. "
+                            + "Exclusions often needed by projects developed in "
+                            + "IDEA will not be added.");
+        }
+    }
+
+    /**
+     * Writes the report to the given stream.
+     *
+     * @param out
+     *            The target writer, to which the report is being written.
+     * @param style
+     *            The stylesheet to use, or <code>null</code> for raw XML
+     *
+     * @return the current statistic.
+     *
+     * @throws MojoFailureException
+     *             An error in the plugin configuration was detected.
+     * @throws MojoExecutionException
+     *             Another error occurred while creating the report.
+     */
+    protected ClaimStatistic createReport(Writer out, InputStream style)
+            throws MojoExecutionException, MojoFailureException {
+        final ReportConfiguration configuration = getConfiguration();
+        try {
+            if (style != null) {
+                return Report.report(out, getResources(), style, configuration);
+            } else {
+                return Report.report(getResources(), out, configuration);
+            }
+        } catch (TransformerConfigurationException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        } catch (IOException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        } catch (InterruptedException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        } catch (RatException e) {
+            throw new MojoExecutionException(e.getMessage(), e);
+        }
+    }
+
+    protected ReportConfiguration getConfiguration()
+            throws MojoFailureException, MojoExecutionException {
+        final ReportConfiguration configuration = new ReportConfiguration();
+        configuration.setHeaderMatcher(new HeaderMatcherMultiplexer(
+                getLicenseMatchers()));
+        configuration.setApprovedLicenseNames(getApprovedLicenseNames());
+        return configuration;
+    }
+
+    private ILicenseFamily[] getApprovedLicenseNames()
+            throws MojoExecutionException, MojoFailureException {
+        final List<ILicenseFamily> list = new ArrayList<ILicenseFamily>();
+        if (licenseFamilies != null) {
+            list.addAll(Arrays.asList(licenseFamilies));
+        }
+        if (licenseFamilyNames != null) {
+            for (LicenseFamilySpecification spec : licenseFamilyNames) {
+                list.add(newInstance(ILicenseFamily.class, spec.getClassName()));
+            }
+        }
+
+        if (list.isEmpty()) {
+            return null;
+        }
+        return list.toArray(new ILicenseFamily[list.size()]);
+    }
 }

Modified: creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatCheckMojo.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatCheckMojo.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatCheckMojo.java (original)
+++ creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatCheckMojo.java Tue Aug 12 01:25:38 2014
@@ -168,11 +168,11 @@ public class RatCheckMojo extends Abstra
      */
     public void execute() throws MojoExecutionException, MojoFailureException
     {
-    	if(skip) {
-    		getLog().info("RAT will not execute since it is configured to be skipped via system property 'rat.skip'.");
-    		return;
-    	}
-    	
+        if(skip) {
+            getLog().info("RAT will not execute since it is configured to be skipped via system property 'rat.skip'.");
+            return;
+        }
+
         final File parent = reportFile.getParentFile();
         if(!parent.mkdirs() && !parent.isDirectory()) {
             throw new MojoExecutionException("Could not create report parent directory " + parent);

Modified: creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java (original)
+++ creadur/rat/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/RatReportMojo.java Tue Aug 12 01:25:38 2014
@@ -74,8 +74,8 @@ public class RatReportMojo extends Abstr
 
     @Component
     private ArtifactResolver resolver;
-	
-	/**
+
+    /**
      * Specifies the directory where the report will be generated
      */
     @Parameter(defaultValue = "${project.reporting.outputDirectory}", required = true)
@@ -86,7 +86,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the skins artifact file.
-     * 
+     *
      * @throws MojoFailureException
      *             An error in the plugin configuration was detected.
      * @throws MojoExecutionException
@@ -110,7 +110,7 @@ public class RatReportMojo extends Abstr
                 factory.createDependencyArtifact( skin.getGroupId(), skin.getArtifactId(), versionSpec, "jar", null,
                                                   null );
 
-			resolver.resolve( artifact, getProject().getRemoteArtifactRepositories(), localRepository );
+            resolver.resolve( artifact, getProject().getRemoteArtifactRepositories(), localRepository );
         }
         catch ( InvalidVersionSpecificationException e )
         {
@@ -130,7 +130,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Creates the report as a string. Currently, this string will be embedded verbatimly into the report document.
-     * 
+     *
      * @throws MojoFailureException
      *             An error in the plugin configuration was detected.
      * @throws MojoExecutionException
@@ -185,7 +185,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Called from Maven to invoke the plugin.
-     * 
+     *
      * @throws MojoFailureException
      *             An error in the plugin configuration was detected.
      * @throws MojoExecutionException
@@ -236,7 +236,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns, whether the report may be generated.
-     * 
+     *
      * @return Always true.
      */
     public boolean canGenerateReport()
@@ -246,7 +246,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Searches for a Rat artifact in the dependency list and returns its version.
-     * 
+     *
      * @return Version number, if found, or null.
      */
     private String getRatVersion()
@@ -265,8 +265,8 @@ public class RatReportMojo extends Abstr
 
     /**
      * Writes the report to the Doxia sink.
-     * 
-     * 
+     *
+     *
      * @param sink
      *            The doxia sink, kind of a SAX handler.
      * @param locale
@@ -326,7 +326,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the reports category name.
-     * 
+     *
      * @return {@link MavenReport#CATEGORY_PROJECT_REPORTS}
      */
     public String getCategoryName()
@@ -336,7 +336,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the reports bundle
-     * 
+     *
      * @param locale
      *            Requested locale of the bundle
      * @return The bundle, which is used to read localized strings.
@@ -348,7 +348,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the reports description.
-     * 
+     *
      * @param locale
      *            Requested locale of the bundle
      * @return Report description, as given by the key "report.rat.description" in the bundle.
@@ -360,7 +360,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the reports name.
-     * 
+     *
      * @param locale
      *            Requested locale of the bundle
      * @return Report name, as given by the key "report.rat.name" in the bundle.
@@ -372,7 +372,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the reports file name.
-     * 
+     *
      * @return "rat-report"
      */
     public String getOutputName()
@@ -382,7 +382,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns the reports output directory.
-     * 
+     *
      * @return Value of the "outputDirectory" parameter.
      */
     public File getReportOutputDirectory()
@@ -392,7 +392,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Returns, whether this is an external report.
-     * 
+     *
      * @return Always false.
      */
     public boolean isExternalReport()
@@ -402,7 +402,7 @@ public class RatReportMojo extends Abstr
 
     /**
      * Sets the reports output directory.
-     * 
+     *
      * @param pOutputDirectory
      *            Reports target directory.
      */

Modified: creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/AbstractRatMojoTest.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/AbstractRatMojoTest.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/AbstractRatMojoTest.java (original)
+++ creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/AbstractRatMojoTest.java Tue Aug 12 01:25:38 2014
@@ -23,11 +23,11 @@ import org.junit.Test;
 
 public class AbstractRatMojoTest {
 
-	@Test
-	public void testAmountOfExclusions() {
-		assertEquals("Did you change the amount of eclipse excludes?", 3, AbstractRatMojo.ECLIPSE_DEFAULT_EXCLUDES.size());
-		assertEquals("Did you change the amount of idea excludes?", 4, AbstractRatMojo.IDEA_DEFAULT_EXCLUDES.size());
-		assertEquals("Did you change the amount of mvn excludes?", 4, AbstractRatMojo.MAVEN_DEFAULT_EXCLUDES.size());
-	}
+    @Test
+    public void testAmountOfExclusions() {
+        assertEquals("Did you change the amount of eclipse excludes?", 3, AbstractRatMojo.ECLIPSE_DEFAULT_EXCLUDES.size());
+        assertEquals("Did you change the amount of idea excludes?", 4, AbstractRatMojo.IDEA_DEFAULT_EXCLUDES.size());
+        assertEquals("Did you change the amount of mvn excludes?", 4, AbstractRatMojo.MAVEN_DEFAULT_EXCLUDES.size());
+    }
 
 }

Modified: creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java (original)
+++ creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java Tue Aug 12 01:25:38 2014
@@ -39,165 +39,165 @@ import org.apache.maven.plugin.testing.s
  */
 public class RatCheckMojoTest extends AbstractMojoTestCase {
 
-	/**
-	 * Creates a new instance of {@link RatCheckMojo}.
-	 * 
-	 * @param pDir
-	 *            The directory, where to look for a pom.xml file.
-	 * @return The configured Mojo.
-	 * @throws Exception
-	 *             An error occurred while creating the Mojo.
-	 */
-	private RatCheckMojo newRatCheckMojo(String pDir) throws Exception {
-		return (RatCheckMojo) newRatMojo(pDir, "check", false);
-	}
-
-	/**
-	 * Creates a new instance of {@link AbstractRatMojo}.
-	 * 
-	 * @param pDir
-	 *            The directory, where to look for a pom.xml file.
-	 * @param pGoal
-	 *            The goal, which the Mojo must implement.
-	 * @return The configured Mojo.
-	 * @throws Exception
-	 *             An error occurred while creating the Mojo.
-	 */
-	private AbstractRatMojo newRatMojo(String pDir, String pGoal,
-			boolean pCreateCopy) throws Exception {
-		final File baseDir = new File(getBasedir());
-		final File testBaseDir = getSourceDirectory(getBasedir(), pDir,
-				pCreateCopy, baseDir);
-		File testPom = new File(testBaseDir, "pom.xml");
-		AbstractRatMojo mojo = (AbstractRatMojo) lookupMojo(pGoal, testPom);
-		assertNotNull(mojo);
-		final File buildDirectory = new File(new File(baseDir, "target/test"),
-				pDir);
-		setVariableValueToObject(mojo, "basedir", testBaseDir);
-		setVariableValueToObject(mojo, "addDefaultLicenseMatchers",
-				Boolean.TRUE);
-		setVariableValueToObject(mojo, "useDefaultExcludes", Boolean.TRUE);
-		setVariableValueToObject(mojo, "useMavenDefaultExcludes", Boolean.TRUE);
-		setVariableValueToObject(mojo, "useEclipseDefaultExcludes",
-				Boolean.TRUE);
-		setVariableValueToObject(mojo, "addLicenseHeaders", "false");
-		final Build build = new Build();
-		build.setDirectory(buildDirectory.getPath());
-		final MavenProjectStub project = new MavenProjectStub() {
-			@Override
-			public Build getBuild() {
-				return build;
-			}
-		};
-		setVariableValueToObject(mojo, "project", project);
-		assertNotNull(
-				"Problem in test setup - you are missing a project in your mojo.",
-				project);
-		assertNotNull(
-				"The mojo is missing its MavenProject, which will result in an NPE during rat runs.",
-				mojo.getProject());
-		assertNotNull(
-				"No artifactRepos found, which will result in an NPE during rat runs.",
-				project.getRemoteArtifactRepositories());
-		
-		if (mojo instanceof RatReportMojo) {
-			setVariableValueToObject(mojo, "localRepository",
-					newArtifactRepository(container));
-			setVariableValueToObject(mojo, "resolver", newArtifactResolver());
-			setVariableValueToObject(mojo, "factory", newArtifactFactory());
-			setVariableValueToObject(mojo, "siteRenderer",
-					newSiteRenderer(container));
-		} else if (mojo instanceof RatCheckMojo) {
-			final File ratTxtFile = new File(buildDirectory, "rat.txt");
-			setVariableValueToObject(mojo, "reportFile", ratTxtFile);
-		}
-		return mojo;
-	}
-	
-	/**
-	 * Reads the location of the rat text file from the Mojo.
-	 * 
-	 * @param pMojo
-	 *            The configured Mojo.
-	 * @return Value of the "reportFile" property.
-	 * @throws Exception
-	 *             An error occurred while reading the property.
-	 */
-	private File getRatTxtFile(RatCheckMojo pMojo) throws Exception {
-		return (File) getVariableValueFromObject(pMojo, "reportFile");
-	}
-
-	/**
-	 * Runs a check, which should expose no problems.
-	 * 
-	 * @throws Exception
-	 *             The test failed.
-	 */
-	public void testIt1() throws Exception {
-		final RatCheckMojo mojo = newRatCheckMojo("it1");
-		final File ratTxtFile = getRatTxtFile(mojo);
-		mojo.execute();
-		ensureRatReportIsCorrect(ratTxtFile, 1, 0);
-	}
-
-	/**
-	 * Runs a check, which should detect a problem.
-	 * 
-	 * @throws Exception
-	 *             The test failed.
-	 */
-	public void testIt2() throws Exception {
-		final RatCheckMojo mojo = newRatCheckMojo("it2");
-		final File ratTxtFile = getRatTxtFile(mojo);
-		try {
-			mojo.execute();
-			fail("Expected RatCheckException");
-		} catch (RatCheckException e) {
-			final String msg = e.getMessage();
-			// default value is "${project.build.directory}/rat.txt"
-			final String REPORTFILE = "rat.txt";
-			
-			assertTrue("report filename was not contained in '" + msg + "'",
-					msg.contains(REPORTFILE));
-			assertFalse("no null allowed in '" + msg + "'", (msg.toUpperCase()
-					.indexOf("NULL") > -1));
-		}
-		ensureRatReportIsCorrect(ratTxtFile, 1, 1);
-	}
-
-	private String getFirstLine(File pFile) throws IOException {
-		final FileInputStream fis = new FileInputStream(pFile);
-		final InputStreamReader reader = new InputStreamReader(fis, "UTF8");
-		final BufferedReader breader = new BufferedReader(reader);
-		final String result = breader.readLine();
-		breader.close();
-		return result;
-	}
-
-	/**
-	 * Tests adding license headers.
-	 */
-	public void testIt3() throws Exception {
-		final RatCheckMojo mojo = (RatCheckMojo) newRatMojo("it3", "check",
-				true);
-		setVariableValueToObject(mojo, "addLicenseHeaders", "true");
-		setVariableValueToObject(mojo, "numUnapprovedLicenses",
-				Integer.valueOf(1));
-		mojo.execute();
-		final File ratTxtFile = getRatTxtFile(mojo);
-		ensureRatReportIsCorrect(ratTxtFile, 1, 1);
-
-		final File baseDir = new File(getBasedir());
-		final File sourcesDir = new File(new File(baseDir, "target/it-source"),
-				"it3");
-		final String firstLineOrig = getFirstLine(new File(sourcesDir,
-				"src.apt"));
-		assertTrue(firstLineOrig.indexOf("--") != -1);
-		assertTrue(firstLineOrig.indexOf("~~") == -1);
-		final String firstLineModified = getFirstLine(new File(sourcesDir,
-				"src.apt.new"));
-		assertTrue(firstLineModified.indexOf("--") == -1);
-		assertTrue(firstLineModified.indexOf("~~") != -1);
-	}
+    /**
+     * Creates a new instance of {@link RatCheckMojo}.
+     *
+     * @param pDir
+     *            The directory, where to look for a pom.xml file.
+     * @return The configured Mojo.
+     * @throws Exception
+     *             An error occurred while creating the Mojo.
+     */
+    private RatCheckMojo newRatCheckMojo(String pDir) throws Exception {
+        return (RatCheckMojo) newRatMojo(pDir, "check", false);
+    }
+
+    /**
+     * Creates a new instance of {@link AbstractRatMojo}.
+     *
+     * @param pDir
+     *            The directory, where to look for a pom.xml file.
+     * @param pGoal
+     *            The goal, which the Mojo must implement.
+     * @return The configured Mojo.
+     * @throws Exception
+     *             An error occurred while creating the Mojo.
+     */
+    private AbstractRatMojo newRatMojo(String pDir, String pGoal,
+            boolean pCreateCopy) throws Exception {
+        final File baseDir = new File(getBasedir());
+        final File testBaseDir = getSourceDirectory(getBasedir(), pDir,
+                pCreateCopy, baseDir);
+        File testPom = new File(testBaseDir, "pom.xml");
+        AbstractRatMojo mojo = (AbstractRatMojo) lookupMojo(pGoal, testPom);
+        assertNotNull(mojo);
+        final File buildDirectory = new File(new File(baseDir, "target/test"),
+                pDir);
+        setVariableValueToObject(mojo, "basedir", testBaseDir);
+        setVariableValueToObject(mojo, "addDefaultLicenseMatchers",
+                Boolean.TRUE);
+        setVariableValueToObject(mojo, "useDefaultExcludes", Boolean.TRUE);
+        setVariableValueToObject(mojo, "useMavenDefaultExcludes", Boolean.TRUE);
+        setVariableValueToObject(mojo, "useEclipseDefaultExcludes",
+                Boolean.TRUE);
+        setVariableValueToObject(mojo, "addLicenseHeaders", "false");
+        final Build build = new Build();
+        build.setDirectory(buildDirectory.getPath());
+        final MavenProjectStub project = new MavenProjectStub() {
+            @Override
+            public Build getBuild() {
+                return build;
+            }
+        };
+        setVariableValueToObject(mojo, "project", project);
+        assertNotNull(
+                "Problem in test setup - you are missing a project in your mojo.",
+                project);
+        assertNotNull(
+                "The mojo is missing its MavenProject, which will result in an NPE during rat runs.",
+                mojo.getProject());
+        assertNotNull(
+                "No artifactRepos found, which will result in an NPE during rat runs.",
+                project.getRemoteArtifactRepositories());
+
+        if (mojo instanceof RatReportMojo) {
+            setVariableValueToObject(mojo, "localRepository",
+                    newArtifactRepository(container));
+            setVariableValueToObject(mojo, "resolver", newArtifactResolver());
+            setVariableValueToObject(mojo, "factory", newArtifactFactory());
+            setVariableValueToObject(mojo, "siteRenderer",
+                    newSiteRenderer(container));
+        } else if (mojo instanceof RatCheckMojo) {
+            final File ratTxtFile = new File(buildDirectory, "rat.txt");
+            setVariableValueToObject(mojo, "reportFile", ratTxtFile);
+        }
+        return mojo;
+    }
+
+    /**
+     * Reads the location of the rat text file from the Mojo.
+     *
+     * @param pMojo
+     *            The configured Mojo.
+     * @return Value of the "reportFile" property.
+     * @throws Exception
+     *             An error occurred while reading the property.
+     */
+    private File getRatTxtFile(RatCheckMojo pMojo) throws Exception {
+        return (File) getVariableValueFromObject(pMojo, "reportFile");
+    }
+
+    /**
+     * Runs a check, which should expose no problems.
+     *
+     * @throws Exception
+     *             The test failed.
+     */
+    public void testIt1() throws Exception {
+        final RatCheckMojo mojo = newRatCheckMojo("it1");
+        final File ratTxtFile = getRatTxtFile(mojo);
+        mojo.execute();
+        ensureRatReportIsCorrect(ratTxtFile, 1, 0);
+    }
+
+    /**
+     * Runs a check, which should detect a problem.
+     *
+     * @throws Exception
+     *             The test failed.
+     */
+    public void testIt2() throws Exception {
+        final RatCheckMojo mojo = newRatCheckMojo("it2");
+        final File ratTxtFile = getRatTxtFile(mojo);
+        try {
+            mojo.execute();
+            fail("Expected RatCheckException");
+        } catch (RatCheckException e) {
+            final String msg = e.getMessage();
+            // default value is "${project.build.directory}/rat.txt"
+            final String REPORTFILE = "rat.txt";
+
+            assertTrue("report filename was not contained in '" + msg + "'",
+                    msg.contains(REPORTFILE));
+            assertFalse("no null allowed in '" + msg + "'", (msg.toUpperCase()
+                    .indexOf("NULL") > -1));
+        }
+        ensureRatReportIsCorrect(ratTxtFile, 1, 1);
+    }
+
+    private String getFirstLine(File pFile) throws IOException {
+        final FileInputStream fis = new FileInputStream(pFile);
+        final InputStreamReader reader = new InputStreamReader(fis, "UTF8");
+        final BufferedReader breader = new BufferedReader(reader);
+        final String result = breader.readLine();
+        breader.close();
+        return result;
+    }
+
+    /**
+     * Tests adding license headers.
+     */
+    public void testIt3() throws Exception {
+        final RatCheckMojo mojo = (RatCheckMojo) newRatMojo("it3", "check",
+                true);
+        setVariableValueToObject(mojo, "addLicenseHeaders", "true");
+        setVariableValueToObject(mojo, "numUnapprovedLicenses",
+                Integer.valueOf(1));
+        mojo.execute();
+        final File ratTxtFile = getRatTxtFile(mojo);
+        ensureRatReportIsCorrect(ratTxtFile, 1, 1);
+
+        final File baseDir = new File(getBasedir());
+        final File sourcesDir = new File(new File(baseDir, "target/it-source"),
+                "it3");
+        final String firstLineOrig = getFirstLine(new File(sourcesDir,
+                "src.apt"));
+        assertTrue(firstLineOrig.indexOf("--") != -1);
+        assertTrue(firstLineOrig.indexOf("~~") == -1);
+        final String firstLineModified = getFirstLine(new File(sourcesDir,
+                "src.apt.new"));
+        assertTrue(firstLineModified.indexOf("--") == -1);
+        assertTrue(firstLineModified.indexOf("~~") != -1);
+    }
 
 }

Modified: creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java?rev=1617391&r1=1617390&r2=1617391&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java (original)
+++ creadur/rat/trunk/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatTestHelpers.java Tue Aug 12 01:25:38 2014
@@ -45,238 +45,238 @@ import org.codehaus.plexus.util.Director
  */
 public final class RatTestHelpers {
 
-	/**
-	 * @param pDir
-	 *            Removes the given directory recursively.
-	 * @throws IOException
-	 *             in case of errors.
-	 */
-	public static void remove(File pDir) throws IOException {
-		if (pDir.isFile()) {
-			if (!pDir.delete()) {
-				throw new IOException("Unable to delete file: " + pDir);
-			}
-		} else if (pDir.isDirectory()) {
-			final File[] files = pDir.listFiles();
-			for (File file : files) {
-				remove(file);
-			}
-			if (!pDir.delete()) {
-				throw new IOException("Unable to delete directory: " + pDir);
-			}
-		} else if (pDir.exists()) {
-			throw new IOException("Unable to delete unknown object " + pDir);
-		}
-	}
-
-	/**
-	 * Copies the given files recursively in order to get all integration test
-	 * files into a target director.
-	 * 
-	 * @param pSource
-	 *            source files.
-	 * @param pTarget
-	 *            target directory
-	 * @throws IOException
-	 *             in case of errors.
-	 */
-	public static void copy(File pSource, File pTarget) throws IOException {
-		if (pSource.isDirectory()) {
-			if (!pTarget.isDirectory() && !pTarget.mkdirs()) {
-				throw new IOException("Unable to create directory: " + pTarget);
-			}
-			final DirectoryScanner scanner = new DirectoryScanner();
-			scanner.setBasedir(pSource);
-			scanner.addDefaultExcludes();
-			scanner.setIncludes(new String[] { "*" });
-			scanner.scan();
-			final String[] dirs = scanner.getIncludedDirectories();
-
-			for (final String dir : dirs) {
-				if (!"".equals(dir)) {
-					copy(new File(pSource, dir), new File(pTarget, dir));
-				}
-			}
-			final String[] files = scanner.getIncludedFiles();
-			for (String file : files) {
-				copy(new File(pSource, file), new File(pTarget, file));
-			}
-		} else if (pSource.isFile()) {
-			final FileInputStream fis = new FileInputStream(pSource);
-			final FileOutputStream fos = new FileOutputStream(pTarget);
-			final byte[] buffer = new byte[8192];
-			for (;;) {
-				int res = fis.read(buffer);
-				if (res == -1) {
-					break;
-				}
-				if (res > 0) {
-					fos.write(buffer, 0, res);
-				}
-			}
-			fos.close();
-			fis.close();
-		} else {
-			throw new IOException("Unable to copy unknown object " + pSource);
-		}
-	}
-
-	/**
-	 * Creates a new instance of {@link Renderer}.
-	 * 
-	 * @param container
-	 *            current plexus container.
-	 * @return A configured instance of {@link DefaultRenderer}.
-	 * @throws Exception
-	 *             Creating the object failed.
-	 */
-	public static Renderer newSiteRenderer(PlexusContainer container)
-			throws Exception {
-		return (Renderer) container.lookup(Renderer.ROLE, "default");
-	}
-
-	/**
-	 * Creates a new instance of {@link ArtifactFactory}.
-	 * 
-	 * @return A configured instance of {@link DefaultArtifactFactory}.
-	 * @throws Exception
-	 *             Creating the object failed.
-	 */
-	public static ArtifactFactory newArtifactFactory() throws Exception {
-		final InvocationHandler handler = new InvocationHandler() {
-			public Object invoke(Object pProxy, Method pMethod, Object[] pArgs)
-					throws Throwable {
-				System.out.println("Invoking method " + pMethod);
-				throw new IllegalStateException("Not implemented");
-			}
-		};
-		return (ArtifactFactory) Proxy.newProxyInstance(Thread.currentThread()
-				.getContextClassLoader(),
-				new Class[] { ArtifactFactory.class }, handler);
-	}
-
-	/**
-	 * Creates a new instance of {@link ArtifactResolver}.
-	 * 
-	 * @return A configured instance of {@link DefaultArtifactResolver}.
-	 * @throws Exception
-	 *             Creating the object failed.
-	 */
-	public static ArtifactResolver newArtifactResolver() throws Exception {
-		final InvocationHandler handler = new InvocationHandler() {
-			public Object invoke(Object pProxy, Method pMethod, Object[] pArgs)
-					throws Throwable {
-				System.out.println("Invoking method " + pMethod);
-				throw new IllegalStateException("Not implemented");
-			}
-		};
-		return (ArtifactResolver) Proxy.newProxyInstance(Thread.currentThread()
-				.getContextClassLoader(),
-				new Class[] { ArtifactResolver.class }, handler);
-	}
-
-	/**
-	 * Creates an instance of {@link ArtifactRepository}.
-	 * 
-	 * @param container
-	 *            current plexus container.
-	 * @return A configured instance of {@link DefaultArtifactRepository}.
-	 * @throws Exception
-	 *             Creating the object failed.
-	 */
-	public static ArtifactRepository newArtifactRepository(
-			PlexusContainer container) throws Exception {
-		File m2Dir = new File(System.getProperty("user.home"), ".m2");
-		File settingsFile = new File(m2Dir, "settings.xml");
-		String localRepo = null;
-		if (settingsFile.exists()) {
-			Settings settings = new SettingsXpp3Reader().read(new FileReader(
-					settingsFile));
-			localRepo = settings.getLocalRepository();
-		}
-		if (localRepo == null) {
-			localRepo = System.getProperty("user.home") + "/.m2/repository";
-		}
-		ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) container
-				.lookup(ArtifactRepositoryLayout.ROLE, "default");
-		return new DefaultArtifactRepository("local", "file://" + localRepo,
-				repositoryLayout);
-	}
-
-	public static File makeSourceDirectory(String mvnBaseDir, File pFile,
-			String pDir, boolean pCreateCopy) throws IOException {
-		if (!pCreateCopy) {
-			return pFile;
-		}
-
-		final File targetDir = new File(new File(new File(mvnBaseDir),
-				"target/it-source"), pDir);
-		remove(targetDir);
-		copy(pFile, targetDir);
-		return targetDir;
-	}
-
-	public static File getSourceDirectory(String mvnBaseDir, String pDir,
-			boolean pCreateCopy, final File baseDir) throws IOException {
-		return makeSourceDirectory(mvnBaseDir, new File(new File(baseDir,
-				"src/test"), pDir), pDir, pCreateCopy);
-	}
-
-	/**
-	 * Reads the created report file and verifies, whether the detected numbers
-	 * are matching.
-	 * 
-	 * @param pRatTxtFile
-	 *            The file to read.
-	 * @param pNumALFiles
-	 *            The number of files with AL.
-	 * @param pNumNoLicenseFiles
-	 *            The number of files without license.
-	 * @throws IOException
-	 *             An error occurred while reading the file or the file does not
-	 *             exist at all.
-	 * @throws IllegalArgumentException
-	 *             In case of mismatches in file numbers passed in as parameter.
-	 */
-	public static void ensureRatReportIsCorrect(File pRatTxtFile,
-			int pNumALFiles, int pNumNoLicenseFiles) throws IOException {
-		if (!pRatTxtFile.exists()) {
-			throw new FileNotFoundException("Could not find " + pRatTxtFile);
-		}
-
-		BufferedReader reader = new BufferedReader(new FileReader(pRatTxtFile));
-		Integer numALFiles = null;
-		Integer numNoLicenseFiles = null;
-		for (;;) {
-			String line = reader.readLine();
-			if (line == null) {
-				break;
-			}
-			int offset = line.indexOf("Apache Licensed: ");
-			if (offset >= 0) {
-				numALFiles = new Integer(line.substring(
-						offset + "Apache Licensed: ".length()).trim());
-			}
-			offset = line.indexOf("Unknown Licenses");
-			if (offset >= 0) {
-				numNoLicenseFiles = new Integer(line.substring(0, offset)
-						.trim());
-			}
-		}
-		reader.close();
-
-		if (!new Integer(pNumALFiles).equals(numALFiles)) {
-			throw new IllegalArgumentException(
-					"Amount of licensed files does not match. Expected "
-							+ pNumALFiles + ", got " + numALFiles);
-		}
-
-		if (!new Integer(pNumNoLicenseFiles).equals(numNoLicenseFiles)) {
-			throw new IllegalArgumentException(
-					"Amount of licensed files does not match. Expected "
-							+ pNumALFiles + ", got " + numALFiles);
-		}
+    /**
+     * @param pDir
+     *            Removes the given directory recursively.
+     * @throws IOException
+     *             in case of errors.
+     */
+    public static void remove(File pDir) throws IOException {
+        if (pDir.isFile()) {
+            if (!pDir.delete()) {
+                throw new IOException("Unable to delete file: " + pDir);
+            }
+        } else if (pDir.isDirectory()) {
+            final File[] files = pDir.listFiles();
+            for (File file : files) {
+                remove(file);
+            }
+            if (!pDir.delete()) {
+                throw new IOException("Unable to delete directory: " + pDir);
+            }
+        } else if (pDir.exists()) {
+            throw new IOException("Unable to delete unknown object " + pDir);
+        }
+    }
+
+    /**
+     * Copies the given files recursively in order to get all integration test
+     * files into a target director.
+     *
+     * @param pSource
+     *            source files.
+     * @param pTarget
+     *            target directory
+     * @throws IOException
+     *             in case of errors.
+     */
+    public static void copy(File pSource, File pTarget) throws IOException {
+        if (pSource.isDirectory()) {
+            if (!pTarget.isDirectory() && !pTarget.mkdirs()) {
+                throw new IOException("Unable to create directory: " + pTarget);
+            }
+            final DirectoryScanner scanner = new DirectoryScanner();
+            scanner.setBasedir(pSource);
+            scanner.addDefaultExcludes();
+            scanner.setIncludes(new String[] { "*" });
+            scanner.scan();
+            final String[] dirs = scanner.getIncludedDirectories();
+
+            for (final String dir : dirs) {
+                if (!"".equals(dir)) {
+                    copy(new File(pSource, dir), new File(pTarget, dir));
+                }
+            }
+            final String[] files = scanner.getIncludedFiles();
+            for (String file : files) {
+                copy(new File(pSource, file), new File(pTarget, file));
+            }
+        } else if (pSource.isFile()) {
+            final FileInputStream fis = new FileInputStream(pSource);
+            final FileOutputStream fos = new FileOutputStream(pTarget);
+            final byte[] buffer = new byte[8192];
+            for (;;) {
+                int res = fis.read(buffer);
+                if (res == -1) {
+                    break;
+                }
+                if (res > 0) {
+                    fos.write(buffer, 0, res);
+                }
+            }
+            fos.close();
+            fis.close();
+        } else {
+            throw new IOException("Unable to copy unknown object " + pSource);
+        }
+    }
+
+    /**
+     * Creates a new instance of {@link Renderer}.
+     *
+     * @param container
+     *            current plexus container.
+     * @return A configured instance of {@link DefaultRenderer}.
+     * @throws Exception
+     *             Creating the object failed.
+     */
+    public static Renderer newSiteRenderer(PlexusContainer container)
+            throws Exception {
+        return (Renderer) container.lookup(Renderer.ROLE, "default");
+    }
+
+    /**
+     * Creates a new instance of {@link ArtifactFactory}.
+     *
+     * @return A configured instance of {@link DefaultArtifactFactory}.
+     * @throws Exception
+     *             Creating the object failed.
+     */
+    public static ArtifactFactory newArtifactFactory() throws Exception {
+        final InvocationHandler handler = new InvocationHandler() {
+            public Object invoke(Object pProxy, Method pMethod, Object[] pArgs)
+                    throws Throwable {
+                System.out.println("Invoking method " + pMethod);
+                throw new IllegalStateException("Not implemented");
+            }
+        };
+        return (ArtifactFactory) Proxy.newProxyInstance(Thread.currentThread()
+                .getContextClassLoader(),
+                new Class[] { ArtifactFactory.class }, handler);
+    }
+
+    /**
+     * Creates a new instance of {@link ArtifactResolver}.
+     *
+     * @return A configured instance of {@link DefaultArtifactResolver}.
+     * @throws Exception
+     *             Creating the object failed.
+     */
+    public static ArtifactResolver newArtifactResolver() throws Exception {
+        final InvocationHandler handler = new InvocationHandler() {
+            public Object invoke(Object pProxy, Method pMethod, Object[] pArgs)
+                    throws Throwable {
+                System.out.println("Invoking method " + pMethod);
+                throw new IllegalStateException("Not implemented");
+            }
+        };
+        return (ArtifactResolver) Proxy.newProxyInstance(Thread.currentThread()
+                .getContextClassLoader(),
+                new Class[] { ArtifactResolver.class }, handler);
+    }
+
+    /**
+     * Creates an instance of {@link ArtifactRepository}.
+     *
+     * @param container
+     *            current plexus container.
+     * @return A configured instance of {@link DefaultArtifactRepository}.
+     * @throws Exception
+     *             Creating the object failed.
+     */
+    public static ArtifactRepository newArtifactRepository(
+            PlexusContainer container) throws Exception {
+        File m2Dir = new File(System.getProperty("user.home"), ".m2");
+        File settingsFile = new File(m2Dir, "settings.xml");
+        String localRepo = null;
+        if (settingsFile.exists()) {
+            Settings settings = new SettingsXpp3Reader().read(new FileReader(
+                    settingsFile));
+            localRepo = settings.getLocalRepository();
+        }
+        if (localRepo == null) {
+            localRepo = System.getProperty("user.home") + "/.m2/repository";
+        }
+        ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) container
+                .lookup(ArtifactRepositoryLayout.ROLE, "default");
+        return new DefaultArtifactRepository("local", "file://" + localRepo,
+                repositoryLayout);
+    }
+
+    public static File makeSourceDirectory(String mvnBaseDir, File pFile,
+            String pDir, boolean pCreateCopy) throws IOException {
+        if (!pCreateCopy) {
+            return pFile;
+        }
+
+        final File targetDir = new File(new File(new File(mvnBaseDir),
+                "target/it-source"), pDir);
+        remove(targetDir);
+        copy(pFile, targetDir);
+        return targetDir;
+    }
+
+    public static File getSourceDirectory(String mvnBaseDir, String pDir,
+            boolean pCreateCopy, final File baseDir) throws IOException {
+        return makeSourceDirectory(mvnBaseDir, new File(new File(baseDir,
+                "src/test"), pDir), pDir, pCreateCopy);
+    }
+
+    /**
+     * Reads the created report file and verifies, whether the detected numbers
+     * are matching.
+     *
+     * @param pRatTxtFile
+     *            The file to read.
+     * @param pNumALFiles
+     *            The number of files with AL.
+     * @param pNumNoLicenseFiles
+     *            The number of files without license.
+     * @throws IOException
+     *             An error occurred while reading the file or the file does not
+     *             exist at all.
+     * @throws IllegalArgumentException
+     *             In case of mismatches in file numbers passed in as parameter.
+     */
+    public static void ensureRatReportIsCorrect(File pRatTxtFile,
+            int pNumALFiles, int pNumNoLicenseFiles) throws IOException {
+        if (!pRatTxtFile.exists()) {
+            throw new FileNotFoundException("Could not find " + pRatTxtFile);
+        }
+
+        BufferedReader reader = new BufferedReader(new FileReader(pRatTxtFile));
+        Integer numALFiles = null;
+        Integer numNoLicenseFiles = null;
+        for (;;) {
+            String line = reader.readLine();
+            if (line == null) {
+                break;
+            }
+            int offset = line.indexOf("Apache Licensed: ");
+            if (offset >= 0) {
+                numALFiles = new Integer(line.substring(
+                        offset + "Apache Licensed: ".length()).trim());
+            }
+            offset = line.indexOf("Unknown Licenses");
+            if (offset >= 0) {
+                numNoLicenseFiles = new Integer(line.substring(0, offset)
+                        .trim());
+            }
+        }
+        reader.close();
+
+        if (!new Integer(pNumALFiles).equals(numALFiles)) {
+            throw new IllegalArgumentException(
+                    "Amount of licensed files does not match. Expected "
+                            + pNumALFiles + ", got " + numALFiles);
+        }
+
+        if (!new Integer(pNumNoLicenseFiles).equals(numNoLicenseFiles)) {
+            throw new IllegalArgumentException(
+                    "Amount of licensed files does not match. Expected "
+                            + pNumALFiles + ", got " + numALFiles);
+        }
 
-	}
+    }
 
 }