]> source.dussan.org Git - vaadin-framework.git/commitdiff
Test that ensures the license is included in all java files
authorArtur Signell <artur.signell@itmill.com>
Tue, 23 Aug 2011 15:40:53 +0000 (15:40 +0000)
committerArtur Signell <artur.signell@itmill.com>
Tue, 23 Aug 2011 15:40:53 +0000 (15:40 +0000)
svn changeset:20594/svn branch:6.7

tests/src/com/vaadin/tests/server/LicenseInJavaFiles.java [new file with mode: 0644]

diff --git a/tests/src/com/vaadin/tests/server/LicenseInJavaFiles.java b/tests/src/com/vaadin/tests/server/LicenseInJavaFiles.java
new file mode 100644 (file)
index 0000000..5307da3
--- /dev/null
@@ -0,0 +1,49 @@
+package com.vaadin.tests.server;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.HashSet;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.commons.io.IOUtils;
+
+public class LicenseInJavaFiles extends TestCase {
+
+    public void testJavaFilesContainsLicense() throws IOException {
+        File srcDir = new File("src");
+        System.out.println(new File(".").getAbsolutePath());
+        HashSet<String> missing = new HashSet<String>();
+        checkForLicense(srcDir, missing);
+        if (!missing.isEmpty()) {
+            throw new RuntimeException(
+                    "The following files are missing license information:\n"
+                            + missing.toString());
+        }
+    }
+
+    private void checkForLicense(File srcDir, HashSet<String> missing)
+            throws IOException {
+        Assert.assertTrue("Source directory " + srcDir + " does not exist",
+                srcDir.exists());
+
+        for (File f : srcDir.listFiles()) {
+            if (f.isDirectory()) {
+                checkForLicense(f, missing);
+            } else if (f.getName().endsWith(".java")) {
+                checkForLicenseInFile(f, missing);
+            }
+        }
+    }
+
+    private void checkForLicenseInFile(File f, HashSet<String> missing)
+            throws IOException {
+        String contents = IOUtils.toString(new FileInputStream(f));
+        if (!contents.contains("@" + "ITMillApache2LicenseForJavaFiles" + "@")) {
+            missing.add(f.getPath());
+        }
+
+    }
+}