1.1 --- a/make/tools/StripProperties/StripPropertiesTask.java Thu Sep 17 13:46:52 2009 -0700 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,87 +0,0 @@ 1.4 -/* 1.5 - * Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. 1.6 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 - * 1.8 - * This code is free software; you can redistribute it and/or modify it 1.9 - * under the terms of the GNU General Public License version 2 only, as 1.10 - * published by the Free Software Foundation. Sun designates this 1.11 - * particular file as subject to the "Classpath" exception as provided 1.12 - * by Sun in the LICENSE file that accompanied this code. 1.13 - * 1.14 - * This code is distributed in the hope that it will be useful, but WITHOUT 1.15 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.16 - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.17 - * version 2 for more details (a copy is included in the LICENSE file that 1.18 - * accompanied this code). 1.19 - * 1.20 - * You should have received a copy of the GNU General Public License version 1.21 - * 2 along with this work; if not, write to the Free Software Foundation, 1.22 - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.23 - * 1.24 - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1.25 - * CA 95054 USA or visit www.sun.com if you need additional information or 1.26 - * have any questions. 1.27 - */ 1.28 - 1.29 -import java.io.File; 1.30 -import java.util.ArrayList; 1.31 -import java.util.List; 1.32 - 1.33 -import org.apache.tools.ant.BuildException; 1.34 -import org.apache.tools.ant.DirectoryScanner; 1.35 -import org.apache.tools.ant.Project; 1.36 -import org.apache.tools.ant.taskdefs.MatchingTask; 1.37 - 1.38 -public class StripPropertiesTask extends MatchingTask { 1.39 - public void setSrcDir(File srcDir) { 1.40 - this.srcDir = srcDir; 1.41 - } 1.42 - 1.43 - public void setDestDir(File destDir) { 1.44 - this.destDir = destDir; 1.45 - } 1.46 - 1.47 - public void execute() { 1.48 - StripProperties.Log log = new StripProperties.Log() { 1.49 - public void error(String msg, Exception e) { 1.50 - log(msg, Project.MSG_ERR); 1.51 - } 1.52 - public void info(String msg) { 1.53 - log(msg, Project.MSG_INFO); 1.54 - } 1.55 - public void verbose(String msg) { 1.56 - log(msg, Project.MSG_VERBOSE); 1.57 - } 1.58 - }; 1.59 - List<String> mainOpts = new ArrayList<String>(); 1.60 - int count = 0; 1.61 - DirectoryScanner s = getDirectoryScanner(srcDir); 1.62 - for (String path: s.getIncludedFiles()) { 1.63 - if (path.endsWith(".properties")) { 1.64 - File srcFile = new File(srcDir, path); 1.65 - File destFile = new File(destDir, path); 1.66 - // Arguably, the comparison in the next line should be ">", not ">=" 1.67 - // but that assumes the resolution of the last modified time is fine 1.68 - // grained enough; in practice, it is better to use ">=". 1.69 - if (destFile.exists() && destFile.lastModified() >= srcFile.lastModified()) 1.70 - continue; 1.71 - destFile.getParentFile().mkdirs(); 1.72 - mainOpts.add("-strip"); 1.73 - mainOpts.add(srcFile.getPath()); 1.74 - mainOpts.add(destFile.getPath()); 1.75 - count++; 1.76 - } 1.77 - } 1.78 - if (mainOpts.size() > 0) { 1.79 - log("Generating " + count + " resource files to " + destDir, Project.MSG_INFO); 1.80 - StripProperties sp = new StripProperties(); 1.81 - sp.setLog(log); 1.82 - boolean ok = sp.run((String[])mainOpts.toArray(new String[mainOpts.size()])); 1.83 - if (!ok) 1.84 - throw new BuildException("StripProperties failed."); 1.85 - } 1.86 - } 1.87 - 1.88 - private File srcDir; 1.89 - private File destDir; 1.90 -}