You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by kh...@apache.org on 2017/03/17 13:10:26 UTC

svn commit: r1787361 - in /creadur/rat/trunk/apache-rat-core/src: main/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20.java test/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20ShortTest.java

Author: khmarbaise
Date: Fri Mar 17 13:10:25 2017
New Revision: 1787361

URL: http://svn.apache.org/viewvc?rev=1787361&view=rev
Log:
[RAT-230] Short Apache header is not accepted by apache-rat-plugin
 o Added the short line as supplemental first license line.
 o Added appropriate unit test.

Added:
    creadur/rat/trunk/apache-rat-core/src/test/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20ShortTest.java
Modified:
    creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20.java

Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20.java?rev=1787361&r1=1787360&r2=1787361&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20.java Fri Mar 17 13:10:25 2017
@@ -26,10 +26,11 @@ import org.apache.rat.api.MetaData;
  */
 public final class ApacheSoftwareLicense20 extends SimplePatternBasedLicense {
     public static final String FIRST_LICENSE_LINE = "Licensed under the Apache License, Version 2.0 (the \"License\")";
+    public static final String FIRST_LICENSE_LINE_SHORT = "Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0.";
     public static final String LICENSE_REFERENCE_LINE = "http://www.apache.org/licenses/LICENSE-2.0";
 
     public ApacheSoftwareLicense20() {
         super(MetaData.RAT_LICENSE_FAMILY_CATEGORY_DATUM_ASL, MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_APACHE_LICENSE_VERSION_2_0,
-                "", new String[]{FIRST_LICENSE_LINE, LICENSE_REFERENCE_LINE});
+                "", new String[]{FIRST_LICENSE_LINE, FIRST_LICENSE_LINE_SHORT, LICENSE_REFERENCE_LINE, });
     }
 }

Added: creadur/rat/trunk/apache-rat-core/src/test/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20ShortTest.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/test/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20ShortTest.java?rev=1787361&view=auto
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/test/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20ShortTest.java (added)
+++ creadur/rat/trunk/apache-rat-core/src/test/java/org/apache/rat/analysis/license/ApacheSoftwareLicense20ShortTest.java Fri Mar 17 13:10:25 2017
@@ -0,0 +1,56 @@
+/*
+ * 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.analysis.license;
+
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+/**
+ * Test to see if short form license informations will be correctly recognized.
+ * 
+ * @see https://www.apache.org/legal/src-headers.html#is-a-short-form-of-the-
+ *      source-header-available
+ * 
+ * @author Karl Heinz Marbaise
+ *
+ */
+public class ApacheSoftwareLicense20ShortTest {
+
+	public static final String SHORT_LICENSE = "Licensed to the Apache Software Foundation (ASF) "
+			+ "under one or more contributor license agreements; and to You under the Apache License, Version 2.0.";
+
+	@Test
+	public void apacheShortLicenseShouldBeIdentified() {
+		ApacheSoftwareLicense20 worker = new ApacheSoftwareLicense20();
+		assertTrue(worker.matches(ApacheSoftwareLicense20.FIRST_LICENSE_LINE_SHORT));
+	}
+
+	@Test
+	public void apacheShortLicenseShouldBeIdentifiedWithDifferentPreAndPostFixes() throws Exception {
+		ApacheSoftwareLicense20 worker = new ApacheSoftwareLicense20();
+		assertTrue(worker.matches(SHORT_LICENSE));
+		assertTrue(worker.matches("# " + SHORT_LICENSE));
+		assertTrue(worker.matches("##" + SHORT_LICENSE));
+		assertTrue(worker.matches("##" + SHORT_LICENSE + "##"));
+		assertTrue(worker.matches("/* " + SHORT_LICENSE + "*/"));
+		assertTrue(worker.matches("/* " + SHORT_LICENSE + "*/"));
+	}
+
+}