Java tutorial
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 { /** * The tests are run in the build directory. */ public static String SRC_DIR = "../src"; public void testJavaFilesContainsLicense() throws IOException { File srcDir = new File(SRC_DIR); 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()) { if (f.getPath().endsWith("com/vaadin/external")) { continue; } 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("@" + "VaadinApache2LicenseForJavaFiles" + "@")) { missing.add(f.getPath()); } } }