You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2014/08/09 11:26:40 UTC

svn commit: r1616926 - /tomee/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Legal.java

Author: andygumbrecht
Date: Sat Aug  9 09:26:39 2014
New Revision: 1616926

URL: http://svn.apache.org/r1616926
Log:
Clean content

Modified:
    tomee/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Legal.java

Modified: tomee/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Legal.java
URL: http://svn.apache.org/viewvc/tomee/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Legal.java?rev=1616926&r1=1616925&r2=1616926&view=diff
==============================================================================
--- tomee/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Legal.java (original)
+++ tomee/sandbox/release-tools/src/main/java/org/apache/openejb/tools/release/cmd/Legal.java Sat Aug  9 09:26:39 2014
@@ -31,7 +31,7 @@ import static org.apache.openejb.tools.r
 public class Legal {
 
     public static void main(final String[] args) throws Exception {
-        String legal = Files.file(Release.builddir, "staging-" + Release.build, "legal").getAbsolutePath();
+        final String legal = Files.file(Release.builddir, "staging-" + Release.build, "legal").getAbsolutePath();
         org.apache.creadur.tentacles.Main.main(new String[]{
                 Release.staging,
                 legal
@@ -43,31 +43,54 @@ public class Legal {
             exec("rm", "-R", repo.getAbsolutePath());
         }
 
-        legal = new File(legal,"content").getAbsolutePath();
+        //Clean all but required
+        clean(new File(legal, "content").getAbsoluteFile());
+    }
+
+    private static void clean(final File f) {
+        if (f == null) {
+            return;
+        }
+
+        if (f.isDirectory()) {
+
+            final File[] files = f.listFiles();
+
+            if (files != null && files.length > 0) {
+                for (final File file : files) {
+                    if (file.isDirectory()) {
+                        clean(file);
+                    } else {
+                        if (!isLicenceOrNotice(file) && !file.delete()) {
+                            file.deleteOnExit();
+                        }
+                    }
+                }
+            }
+
+            if (isEmpty(f) && !f.delete()) {
+                f.deleteOnExit();
+            }
 
-        //Clean up other files
-        exec("find", legal, "-name", "*.class", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.properties", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.gif", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.png", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.jpg", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.j", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.js", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.jar", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.sh", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.exe", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.zip", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.gz", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.java", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.original", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.xml", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.xsd", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.dtd", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.htm", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.html", "-type", "f", "-delete");
-        exec("find", legal, "-name", "*.conf", "-type", "f", "-delete");
+        } else if (!isLicenceOrNotice(f) && !f.delete()) {
+            f.deleteOnExit();
+        }
+    }
+
+    private static boolean isEmpty(final File f) {
+        if (!f.isDirectory()) {
+            return false;
+        }
+        File[] list = f.listFiles();
+        return (list == null || list.length == 0);
+    }
+
+    private static boolean isLicenceOrNotice(final File f) {
+        if (f.isDirectory()) {
+            return false;
+        }
 
-        exec("find", legal, "-type", "d", "-name", "\"*-javadoc.*\"", "-delete");
-        exec("find", legal, "-empty", "-type", "d", "-delete");
+        final String name = f.getName().toLowerCase();
+        return (name.contains("license") || name.contains("notice"));
     }
 }