RAT-195: Merged rat-api from GSOC branch.
* Cleaned up mess with pom coordinates of it test projects.
* Enhanced SVN:ignore to not take care of *.iml.
* Activated RAT::API as default module.
git-svn-id: https://svn.apache.org/repos/asf/creadur/rat/trunk@1661803 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/apache-rat-api/pom.xml b/apache-rat-api/pom.xml
new file mode 100644
index 0000000..7ecfc3c
--- /dev/null
+++ b/apache-rat-api/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-project</artifactId>
+ <version>0.12-SNAPSHOT</version>
+ </parent>
+ <packaging>jar</packaging>
+
+ <artifactId>apache-rat-api</artifactId>
+
+ <name>Apache Creadur Rat::API</name>
+ <description>Shared beans and services.</description>
+
+ <dependencies>
+ <!-- Test Dependencies -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamily.java b/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamily.java
new file mode 100644
index 0000000..4d4ee4f
--- /dev/null
+++ b/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamily.java
@@ -0,0 +1,99 @@
+/*
+ * 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.
+ */
+package org.apache.rat.api.domain;
+
+/**
+ * Licenses are grouped into families. Each family has similar legal semantics,
+ * though some small details may differ.
+ * <p/>
+ * For example, the <a href='http://opensource.org/licenses/BSD-3-Clause'>3
+ * clause BSD license</a> is in a family where members differ by <OWNER>,
+ * <ORGANIZATION> and <YEAR> parameters.
+ *
+ */
+public final class LicenseFamily {
+
+ /**
+ * Further information associated with the license family. Human readable.
+ * Possibly null.
+ */
+ private final String notes;
+ /**
+ * Names of the category containing this license family. Choosing a suitable
+ * URI is recommended. Possibly null;
+ */
+ private final String category;
+ /**
+ * Uniquely identifies this family. Choosing a suitable URI is recommended.
+ * Not null.
+ */
+ private final String name;
+
+ /**
+ * Constructs an immutable license family.
+ *
+ * @param name
+ * the name uniquely identifying this family. Recommended that
+ * this be an URI. Not null.
+ * @param category
+ * the name of the category containing this license family.
+ * Recommended that this be an URI. Possibly null.
+ * @param notes
+ * further information associated with the license family. Human
+ * readable. Possibly null.
+ */
+ public LicenseFamily(final String name, final String category,
+ final String notes) {
+ super();
+ this.notes = notes;
+ this.category = category;
+ this.name = name;
+ }
+
+ /**
+ * Gets further information associated with the license family. Human
+ * readable.
+ *
+ * @return possibly null
+ */
+ public String getNotes() {
+ return this.notes;
+ }
+
+ /**
+ * Gets the name of the category containing this license family. Recommended
+ * that this be an URI.
+ *
+ * @return possibly null
+ */
+ public String getCategory() {
+ return this.category;
+ }
+
+ /**
+ * Gets the name uniquely identifying this family. Recommended that this be
+ * an URI.
+ *
+ * @return not null
+ */
+ public String getName() {
+ return this.name;
+ }
+
+}
diff --git a/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyBuilder.java b/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyBuilder.java
new file mode 100644
index 0000000..9d58a96
--- /dev/null
+++ b/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyBuilder.java
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ */
+package org.apache.rat.api.domain;
+
+/**
+ * Builds {@link LicenseFamily} instances.
+ */
+public final class LicenseFamilyBuilder {
+
+ /**
+ * Begins to build a license family.
+ *
+ * @return a builder for a license family, not null
+ */
+ public static LicenseFamilyBuilder aLicenseFamily() {
+ return new LicenseFamilyBuilder();
+ }
+
+ /** Further information associated with the license family. Human readable. */
+ private String notes;
+ /**
+ * Names of the category containing this license family. Recommended that
+ * this be an URI.
+ */
+ private String category;
+ /** Uniquely identifies this family. Choosing a suitable URI is recommended */
+ private String name;
+
+ /** Use {@link #aLicenseFamily() */
+ private LicenseFamilyBuilder() {
+ }
+
+ /**
+ * Builds a family.
+ *
+ * @return not null
+ */
+ public LicenseFamily build() {
+ return new LicenseFamily(this.name, this.category, this.notes);
+ }
+
+ /**
+ * Builds family with further information associated with the license
+ * family. Human readable.
+ *
+ * @param notes
+ * possibly null
+ * @return this instance, not null
+ */
+ public LicenseFamilyBuilder withNotes(final String notes) {
+ this.notes = notes;
+ return this;
+ }
+
+ /**
+ * Builds family with category containing this license family. Choosing a
+ * suitable URI is recommended
+ *
+ * @param category
+ * possible null
+ * @return this instance, not null
+ */
+ public LicenseFamilyBuilder withCategory(final String category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ *
+ * Uniquely identifies this family. Choosing a suitable URI is recommended.
+ *
+ * @param name
+ * not null
+ * @return this instance, not null
+ */
+ public LicenseFamilyBuilder withName(final String name) {
+ this.name = name;
+ return this;
+ }
+}
diff --git a/apache-rat-api/src/main/java/org/apache/rat/api/domain/RatLicenseFamily.java b/apache-rat-api/src/main/java/org/apache/rat/api/domain/RatLicenseFamily.java
new file mode 100644
index 0000000..1a186bc
--- /dev/null
+++ b/apache-rat-api/src/main/java/org/apache/rat/api/domain/RatLicenseFamily.java
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+package org.apache.rat.api.domain;
+
+import static org.apache.rat.api.domain.LicenseFamilyBuilder.aLicenseFamily;
+
+/**
+ * Enumerates standard license families known to Rat.
+ */
+public enum RatLicenseFamily {
+
+ APACHE(
+ "Apache License Version 2.0",
+ "AL ",
+ "Note that APACHE requires a NOTICE. All modifications require notes. See http://www.apache.org/licenses/LICENSE-2.0."),
+ GPL1(
+ "GNU General Public License, version 1",
+ "GPL1 ",
+ "Note that GPL1 requires a NOTICE. All modifications require notes. See http://www.gnu.org/licenses/gpl-1.0.html."),
+ GPL2(
+ "GNU General Public License, version 2",
+ "GPL2 ",
+ "Note that GPL2 requires a NOTICE. All modifications require notes. See http://www.gnu.org/licenses/gpl-2.0.html."),
+ GPL3(
+ "GNU General Public License, version 3",
+ "GPL3 ",
+ "Note that GPL3 requires a NOTICE. All modifications require notes. See http://www.gnu.org/licenses/gpl-3.0.html."),
+ MIT(
+ "The MIT License",
+ "MIT ",
+ "Note that MIT requires a NOTICE. All modifications require notes. See http://opensource.org/licenses/MIT."),
+ CDDL1(
+ "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0",
+ "CDDL1",
+ "Note that CDDL1 requires a NOTICE. All modifications require notes. See https://oss.oracle.com/licenses/CDDL."),
+ OASIS(
+ "OASIS Open License",
+ "OASIS",
+ "Note that OASIS requires a NOTICE. All modifications require notes. See https://www.oasis-open.org/policies-guidelines/ipr."),
+ TMF854(
+ "Modified BSD License",
+ "TMF ",
+ "Note that TMF854 requires a NOTICE. All modifications require notes. See http://opensource.org/licenses/BSD-3-Clause."),
+ DOJO(
+ "Modified BSD License",
+ "DOJO ",
+ "Note that DOJO requires a NOTICE. All modifications require notes. See http://dojotoolkit.org/community/licensing.shtml."),
+ W3C(
+ "W3C Software Copyright",
+ "W3C ",
+ "Note that W3C requires a NOTICE. All modifications require notes. See http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231."),
+
+ W3C_DOCUMENTATION(
+ "W3C Document Copyright",
+ "W3CD ",
+ "Note that W3CD does not allow modifications. See http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231.");
+
+ /** @see LicenseFamily#getName() */
+ private final String name;
+ /** @see LicenseFamily#getCategory() */
+ private final String category;
+ /** @see LicenseFamily#getNotes() */
+ private final String notes;
+ /** Constructed from other data */
+ private final LicenseFamily licenseFamily;
+
+ /**
+ * Constructs an instance.
+ *
+ * @param name
+ * not null
+ * @param category
+ * not null
+ * @param notes
+ * not null
+ */
+ private RatLicenseFamily(final String name, final String category,
+ final String notes) {
+ this.name = name;
+ this.category = category;
+ this.notes = notes;
+ this.licenseFamily = aLicenseFamily().withCategory(getCategory())
+ .withName(getName()).withNotes(getNotes()).build();
+ }
+
+ /**
+ * @see LicenseFamily#getName()
+ *
+ * @return not null
+ */
+ public String getName() {
+ return this.name;
+ }
+
+ /**
+ * @see LicenseFamily#getCategory()
+ *
+ * @return possibly null
+ */
+ public String getCategory() {
+ return this.category;
+ }
+
+ /**
+ * @see LicenseFamily#getNotes()
+ *
+ * @return possibly null
+ */
+ public String getNotes() {
+ return this.notes;
+ }
+
+ /**
+ * Gets a {@link LicenseFamily} representing this data.
+ *
+ * @return not null
+ */
+ public LicenseFamily licenseFamily() {
+ return this.licenseFamily;
+ }
+}
diff --git a/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyBuilderTest.java b/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyBuilderTest.java
new file mode 100644
index 0000000..739806c
--- /dev/null
+++ b/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyBuilderTest.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+package org.apache.rat.api.domain;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class LicenseFamilyBuilderTest {
+
+ @Test
+ public void testBuilderBuilds() {
+ final LicenseFamily family =
+ LicenseFamilyBuilder.aLicenseFamily().build();
+ assertNotNull("Builder should build", family);
+ }
+
+ @Test
+ public void testWithNotes() {
+ final String someNotes = "Some notes";
+ final LicenseFamily family =
+ LicenseFamilyBuilder.aLicenseFamily().withNotes(someNotes)
+ .build();
+ assertThat(family.getNotes(), is(someNotes));
+ }
+
+ @Test
+ public void testWithCategory() {
+ final String someCategory = "Some license category";
+ final LicenseFamily family =
+ LicenseFamilyBuilder.aLicenseFamily()
+ .withCategory(someCategory).build();
+ assertThat(family.getCategory(), is(someCategory));
+ }
+
+ @Test
+ public void testWithName() {
+ final String someName = "A name for a license";
+ final LicenseFamily family =
+ LicenseFamilyBuilder.aLicenseFamily().withName(someName)
+ .build();
+ assertThat(family.getName(), is(someName));
+
+ }
+}
diff --git a/apache-rat-api/src/test/java/org/apache/rat/api/domain/RatLicenseFamilyTest.java b/apache-rat-api/src/test/java/org/apache/rat/api/domain/RatLicenseFamilyTest.java
new file mode 100644
index 0000000..bf7c7bd
--- /dev/null
+++ b/apache-rat-api/src/test/java/org/apache/rat/api/domain/RatLicenseFamilyTest.java
@@ -0,0 +1,226 @@
+/*
+ * 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.
+ */
+package org.apache.rat.api.domain;
+
+import static org.apache.rat.api.domain.RatLicenseFamily.APACHE;
+import static org.apache.rat.api.domain.RatLicenseFamily.CDDL1;
+import static org.apache.rat.api.domain.RatLicenseFamily.DOJO;
+import static org.apache.rat.api.domain.RatLicenseFamily.GPL1;
+import static org.apache.rat.api.domain.RatLicenseFamily.GPL2;
+import static org.apache.rat.api.domain.RatLicenseFamily.GPL3;
+import static org.apache.rat.api.domain.RatLicenseFamily.MIT;
+import static org.apache.rat.api.domain.RatLicenseFamily.OASIS;
+import static org.apache.rat.api.domain.RatLicenseFamily.TMF854;
+import static org.apache.rat.api.domain.RatLicenseFamily.W3C;
+import static org.apache.rat.api.domain.RatLicenseFamily.W3C_DOCUMENTATION;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class RatLicenseFamilyTest {
+
+ @Test
+ public void testW3CLicenseFamilyCategory() {
+ assertThat(W3C.getCategory(), is("W3C "));
+ }
+
+ @Test
+ public void testW3CLicenseFamilyName() {
+ assertThat(W3C.getName(), is("W3C Software Copyright"));
+ }
+
+ @Test
+ public void testW3CLicenseFamilyNotes() {
+ assertThat(
+ W3C.getNotes(),
+ is("Note that W3C requires a NOTICE. All modifications require notes. See http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231."));
+ }
+
+ @Test
+ public void testW3CDocLicenseFamilyCategory() {
+ assertThat(W3C_DOCUMENTATION.getCategory(), is("W3CD "));
+ }
+
+ @Test
+ public void testW3CDocLicenseFamilyName() {
+ assertThat(W3C_DOCUMENTATION.getName(), is("W3C Document Copyright"));
+ }
+
+ @Test
+ public void testW3CDocLicenseFamilyNotes() {
+ assertThat(
+ W3C_DOCUMENTATION.getNotes(),
+ is("Note that W3CD does not allow modifications. See http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231."));
+ }
+
+ @Test
+ public void testAPACHELicenseFamilyCategory() {
+ assertThat(APACHE.getCategory(), is("AL "));
+ }
+
+ @Test
+ public void testAPACHELicenseFamilyName() {
+ assertThat(APACHE.getName(), is("Apache License Version 2.0"));
+ }
+
+ @Test
+ public void testAPACHELicenseFamilyNotes() {
+ assertThat(
+ APACHE.getNotes(),
+ is("Note that APACHE requires a NOTICE. All modifications require notes. See http://www.apache.org/licenses/LICENSE-2.0."));
+ }
+
+ @Test
+ public void testGPL1LicenseFamilyCategory() {
+ assertThat(GPL1.getCategory(), is("GPL1 "));
+ }
+
+ @Test
+ public void testGPL1LicenseFamilyName() {
+ assertThat(GPL1.getName(), is("GNU General Public License, version 1"));
+ }
+
+ @Test
+ public void testGPL1LicenseFamilyNotes() {
+ assertThat(
+ GPL1.getNotes(),
+ is("Note that GPL1 requires a NOTICE. All modifications require notes. See http://www.gnu.org/licenses/gpl-1.0.html."));
+ }
+
+ @Test
+ public void testGPL2LicenseFamilyCategory() {
+ assertThat(GPL2.getCategory(), is("GPL2 "));
+ }
+
+ @Test
+ public void testGPL2LicenseFamilyName() {
+ assertThat(GPL2.getName(), is("GNU General Public License, version 2"));
+ }
+
+ @Test
+ public void testGPL2LicenseFamilyNotes() {
+ assertThat(
+ GPL2.getNotes(),
+ is("Note that GPL2 requires a NOTICE. All modifications require notes. See http://www.gnu.org/licenses/gpl-2.0.html."));
+ }
+
+ @Test
+ public void testGPL3LicenseFamilyCategory() {
+ assertThat(GPL3.getCategory(), is("GPL3 "));
+ }
+
+ @Test
+ public void testGPL3LicenseFamilyName() {
+ assertThat(GPL3.getName(), is("GNU General Public License, version 3"));
+ }
+
+ @Test
+ public void testGPL3LicenseFamilyNotes() {
+ assertThat(
+ GPL3.getNotes(),
+ is("Note that GPL3 requires a NOTICE. All modifications require notes. See http://www.gnu.org/licenses/gpl-3.0.html."));
+ }
+
+ @Test
+ public void testMITLicenseFamilyCategory() {
+ assertThat(MIT.getCategory(), is("MIT "));
+ }
+
+ @Test
+ public void testMITLicenseFamilyName() {
+ assertThat(MIT.getName(), is("The MIT License"));
+ }
+
+ @Test
+ public void testMITLicenseFamilyNotes() {
+ assertThat(
+ MIT.getNotes(),
+ is("Note that MIT requires a NOTICE. All modifications require notes. See http://opensource.org/licenses/MIT."));
+ }
+
+ @Test
+ public void testCDDL1LicenseFamilyCategory() {
+ assertThat(CDDL1.getCategory(), is("CDDL1"));
+ }
+
+ @Test
+ public void testCDDL1LicenseFamilyName() {
+ assertThat(CDDL1.getName(),
+ is("COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0"));
+ }
+
+ @Test
+ public void testCDDL1LicenseFamilyNotes() {
+ assertThat(
+ CDDL1.getNotes(),
+ is("Note that CDDL1 requires a NOTICE. All modifications require notes. See https://oss.oracle.com/licenses/CDDL."));
+ }
+
+ @Test
+ public void testOASISLicenseFamilyCategory() {
+ assertThat(OASIS.getCategory(), is("OASIS"));
+ }
+
+ @Test
+ public void testOASISLicenseFamilyName() {
+ assertThat(OASIS.getName(), is("OASIS Open License"));
+ }
+
+ @Test
+ public void testOASISLicenseFamilyNotes() {
+ assertThat(
+ OASIS.getNotes(),
+ is("Note that OASIS requires a NOTICE. All modifications require notes. See https://www.oasis-open.org/policies-guidelines/ipr."));
+ }
+
+ @Test
+ public void testTMF854LicenseFamilyCategory() {
+ assertThat(TMF854.getCategory(), is("TMF "));
+ }
+
+ @Test
+ public void testTMF854LicenseFamilyName() {
+ assertThat(TMF854.getName(), is("Modified BSD License"));
+ }
+
+ @Test
+ public void testTMF854LicenseFamilyNotes() {
+ assertThat(
+ TMF854.getNotes(),
+ is("Note that TMF854 requires a NOTICE. All modifications require notes. See http://opensource.org/licenses/BSD-3-Clause."));
+ }
+
+ @Test
+ public void testDOJOLicenseFamilyCategory() {
+ assertThat(DOJO.getCategory(), is("DOJO "));
+ }
+
+ @Test
+ public void testDOJOLicenseFamilyName() {
+ assertThat(DOJO.getName(), is("Modified BSD License"));
+ }
+
+ @Test
+ public void testDOJOLicenseFamilyNotes() {
+ assertThat(
+ DOJO.getNotes(),
+ is("Note that DOJO requires a NOTICE. All modifications require notes. See http://dojotoolkit.org/community/licensing.shtml."));
+ }
+}
diff --git a/apache-rat-core/pom.xml b/apache-rat-core/pom.xml
index e77fd6e..1516a60 100644
--- a/apache-rat-core/pom.xml
+++ b/apache-rat-core/pom.xml
@@ -75,6 +75,10 @@
<dependencies>
<dependency>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
diff --git a/apache-rat-core/src/main/java/org/apache/rat/Report.java b/apache-rat-core/src/main/java/org/apache/rat/Report.java
index 509ec69..6492577 100644
--- a/apache-rat-core/src/main/java/org/apache/rat/Report.java
+++ b/apache-rat-core/src/main/java/org/apache/rat/Report.java
@@ -332,7 +332,7 @@
* Output a report in the default style and default licence
* header matcher.
*
- * @param out - the output stream to recieve the styled report
+ * @param out - the output stream to receive the styled report
* @param configuration the configuration to use
* @throws Exception in case of errors.
* @since Rat 0.8
@@ -375,7 +375,6 @@
* @param style an input stream representing the stylesheet to use for styling the report
* @param pConfiguration current report configuration.
*
- * @throws FileNotFoundException in case of I/O errors.
* @throws IOException in case of I/O errors.
* @throws TransformerConfigurationException in case of XML errors.
* @throws InterruptedException in case of threading errors.
@@ -385,7 +384,7 @@
*/
public static ClaimStatistic report(Writer out, IReportable base, final InputStream style,
ReportConfiguration pConfiguration)
- throws IOException, TransformerConfigurationException, FileNotFoundException, InterruptedException, RatException {
+ throws IOException, TransformerConfigurationException, InterruptedException, RatException {
PipedReader reader = new PipedReader();
PipedWriter writer = new PipedWriter(reader);
ReportTransformer transformer = new ReportTransformer(out, style, reader);
diff --git a/apache-rat-plugin/pom.xml b/apache-rat-plugin/pom.xml
index e07b0f2..31f60db 100644
--- a/apache-rat-plugin/pom.xml
+++ b/apache-rat-plugin/pom.xml
@@ -70,6 +70,7 @@
<exclude>src/it/it1/src.apt</exclude>
<exclude>src/test/resources/unit/it2/src.txt</exclude>
<exclude>src/test/resources/unit/it3/src.apt</exclude>
+ <exclude>**/*.iml</exclude>
</excludes>
</configuration>
</plugin>
diff --git a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml b/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
index bfc69b3..0a419e3 100644
--- a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
+++ b/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
@@ -21,7 +21,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.rat.test</groupId>
- <artifactId>it1</artifactId>
+ <artifactId>it4rat168</artifactId>
<version>1.0</version>
<build>
<plugins>
diff --git a/pom.xml b/pom.xml
index a85cb01..919f6e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -83,6 +83,11 @@
<dependencies>
<dependency>
<groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.rat</groupId>
<artifactId>apache-rat-core</artifactId>
<version>${project.version}</version>
</dependency>
@@ -126,11 +131,23 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <version>1.2.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.1</version>
@@ -568,6 +585,7 @@
</site>
</distributionManagement>
<modules>
+ <module>apache-rat-api</module>
<module>apache-rat-core</module>
<module>apache-rat-plugin</module>
<module>apache-rat-tasks</module>