本文整理汇总了Java中com.sun.squawk.builder.util.FileSet类的典型用法代码示例。如果您正苦于以下问题:Java FileSet类的具体用法?Java FileSet怎么用?Java FileSet使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FileSet类属于com.sun.squawk.builder.util包,在下文中一共展示了FileSet类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: execute
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* Processes a set of files placing the resulting output in a given directory.
*
* @param inputFiles the files to be processed
* @param destDir the directory where the processed files are to be written
*/
public void execute(FileSet inputFiles, File destDir) {
Iterator iterator = inputFiles.list().iterator();
while (iterator.hasNext()) {
File inputFile = (File)iterator.next();
if (inputFile.length() != 0) {
File outputFile = inputFiles.replaceBaseDir(inputFile, destDir);
try {
execute(inputFile, outputFile);
} catch (IOException ex) {
System.out.println("Error processing import file " + inputFile);
ex.printStackTrace();
}
}
}
}
示例2: createJar
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* Convenience method that creates a jar-file using all the files in
* <code>srcFolder</code> and the specified <code>manifest</code>.
*
* @param dest The jar-file to be created.
* @param srcFolder The source for the jar.
* @param manifest The manifest for the jar. If this value is null, then no
* manifest will be included.
*
* @throws BuildException if the build fails.
*
* @see Build#createJar(File, FileSet[], Manifest)
*/
protected void createJar(File dest, File... srcFolders) throws BuildException {
Manifest mf = null;
ArrayList<FileSet> fileSets = new ArrayList<FileSet>();
for (File srcFolder: srcFolders) {
if (mf == null) {
File manifestFile = getFile(srcFolder.getParentFile(), "resources", "META-INF", "MANIFEST.MF");
if (manifestFile.canRead()) {
try {
mf = new Manifest(new FileInputStream(manifestFile));
} catch (Exception e) {
throw new BuildException("Error reading manifest: " + manifestFile, e);
}
}
}
fileSets.add(new FileSet(srcFolder, (FileSet.Selector) null));
}
env.createJar(dest, fileSets.toArray(new FileSet[fileSets.size()]), mf);
}
示例3: genJNAPhase2
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* genJNAPhase2
* Create final JNA impl source by compiling and running C code.
*
* @param includeDirs include directorys to compile against
* @param sourceDir the directory containing the C source code to compile and run
* @param baseDir the directory under which the "build" directory exists
* @param dstDir the directory to create the generated Java files (typically "native").
* @return the preprocessor output directory
*/
public File genJNAPhase2(
File[] includeDirs,
File sourceDir,
File baseDir,
File dstDir) {
final File buildDir = mkdir(baseDir, "build");
System.out.println(" Compiling and running JNA C files...");
FileSet fs = new FileSet(buildDir, Build.C_SOURCE_SELECTOR);
Iterator iterator = fs.list().iterator();
while (iterator.hasNext()) {
File inputFile = (File) iterator.next();
if (inputFile.length() != 0 && inputFile.getName().indexOf('$') < 0) { // only look at outer classes. Inner classes will get sucked up by them
File oFile = env.ccompiler.compile(includeDirs, inputFile, inputFile.getParentFile(), true);
File exeFile = env.ccompiler.link(new File[]{oFile}, inputFile.getParentFile() + "/a.out", false);
String outFileName = env.stripSuffix(inputFile.getName()) + ".java";
File generatedFile = fs.replaceBaseDir(new File(inputFile.getParentFile(), outFileName), dstDir);
String cmd = exeFile + " " + generatedFile;
env.exec(cmd);
}
}
System.out.println(" Generated JNA files in " + dstDir);
return dstDir;
}
示例4: preverify
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
public void preverify(String classPath, File classesDir, File j2meclassesDir) {
// See if any of the classes actually need re-preverifying
FileSet.Selector outOfDate = new FileSet.DependSelector(new FileSet.SourceDestDirMapper(classesDir, j2meclassesDir));
if (!new FileSet(classesDir, outOfDate).list().iterator().hasNext()) {
return;
}
log(info, "[running preverifier ...]");
// Ensure that the preverifier is executable which may not be the case if
// Squawk was checked out with a Java CVS client (Java doesn't know anything
// about 'execute' file permissions and so cannot preserve them).
chmod(platform.preverifier(), "+x");
if (classPath == null) {
classPath = "";
} else {
classPath = " -classpath " + toPlatformPath(classPath, true);
}
exec(platform.preverifier() + (verbose?" -verbose ":"") + classPath + " -d " + j2meclassesDir + " " + classesDir);
}
示例5: processImports
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* Preprocess a given set of Java import file source files.
*
* @param dstDir the directory containing the generated Java src files (typically "native")
* @param srcDirs the set of directories that are searched recursively for the source files to be imported
* @param j2me specifies if the classes being compiled are to be deployed on a J2ME platform
* @return the preprocessor output directory
*/
public File processImports(
File dstDir,
File[] srcDirs,
boolean j2me) {
// Get the preprocessor output directory
SourceProcessor sp = new SourceProcessor();
for (int i = 0; i != srcDirs.length; ++i) {
File sourceDir = srcDirs[i];
// A selector that matches a source file whose preprocessed copy does not exist,
// is younger than the source file or has a last modification date
// earlier than the last modification date of the properties
FileSet.Selector outOfDate = new FileSet.DependSelector(new FileSet.SourceDestDirMapper(sourceDir, dstDir)) {
public boolean isSelected(
File file) {
if (super.isSelected(file)) {
return true;
}
File preprocessedFile = getMapper().map(file);
long fileLastModified = preprocessedFile.lastModified();
return (fileLastModified < env.propertiesLastModified);
}
};
FileSet.Selector selector = new FileSet.AndSelector(JAVA_SOURCE_SELECTOR, outOfDate);
FileSet fs = new FileSet(sourceDir, selector);
sp.execute(fs, dstDir);
}
return dstDir;
}
示例6: extractPackages
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* Extracts a list of packages from a given set of Java source files.
*
* @param fs the Java source files
* @param packages the list to append any unique package names to
*/
private void extractPackages(FileSet fs, List<String> packages) {
for (File file: fs.list()) {
assert file.getPath().endsWith(".java");
// Make file relative
String packagePath = fs.getRelativePath(file.getParentFile());
if (packagePath.length() > 0) {
String pkg = packagePath.replace(File.separatorChar, '.');
if (!packages.contains(pkg)) {
packages.add(pkg);
}
}
}
}
示例7: preverify
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* Run the CLDC preverifier over a set of classes in the "classes" directory
* and write the resulting classes to the "j2meclasses" directory.
*
* @param classPath directories in which to look for classes
* @param baseDir the directory under which the "j2meclasses" and "classes" directories
*/
public void preverify(String classPath, File baseDir) {
// Get the preverifier input and output directories
File classesDir = isJava5SyntaxSupported()?new File(baseDir, "weaved"):new File(baseDir, "classes");
File j2meclassesDir = mkdir(baseDir, "j2meclasses");
// See if any of the classes actually need re-preverifying
FileSet.Selector outOfDate = new FileSet.DependSelector(new FileSet.SourceDestDirMapper(classesDir, j2meclassesDir));
if (!new FileSet(classesDir, outOfDate).list().iterator().hasNext()) {
return;
}
log(info, "[running preverifier ...]");
// Ensure that the preverifier is executable which may not be the case if
// Squawk was checked out with a Java CVS client (Java doesn't know anything
// about 'execute' file permissions and so cannot preserve them).
chmod(platform.preverifier(), "+x");
if (classPath == null) {
classPath = "";
} else {
classPath = " -classpath " + toPlatformPath(classPath, true);
}
exec(platform.preverifier() + (verbose?" -verbose ":"") + classPath + " -d " + j2meclassesDir + " " + classesDir);
}
示例8: preprocess
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
public File preprocess(File baseDir, File[] srcDirs, boolean j2me, boolean vm2c, boolean stripHostCode) {
// Get the preprocessor output directory
final File preprocessedDir;
boolean resetJava5Syntax = false;
if (vm2c && !isJava5SyntaxSupported()) {
log(brief, "[preprocessing with forced JAVA5SYNTAX for vm2c]");
preprocessedDir = mkdir(baseDir, RomCommand.PREPROCESSED_FOR_VM2C_DIR_NAME);
updateProperty("JAVA5SYNTAX", "true");
isJava5SyntaxSupported = true;
resetJava5Syntax = true;
} else {
preprocessedDir = mkdir(baseDir, stripHostCode ? "preprocessed.target" : "preprocessed");
}
// Preprocess the sources
preprocessor.processAssertions = j2me;
preprocessor.verbose = verbose;
// @TODO: Should be true for desktop builds. host == target?
preprocessor.showLineNumbers = true;
preprocessor.hosted = !stripHostCode;
for (int i = 0; i != srcDirs.length; ++i) {
File sourceDir = srcDirs[i];
// A selector that matches a source file whose preprocessed copy does not exist,
// is younger than the source file or has a last modification date
// earlier than the last modification date of the properties
FileSet.Selector outOfDate = new FileSet.DependSelector(new FileSet.SourceDestDirMapper(sourceDir, preprocessedDir)) {
public boolean isSelected(File file) {
if (super.isSelected(file)) {
return true;
}
File preprocessedFile = getMapper().map(file);
long fileLastModified = preprocessedFile.lastModified();
return (fileLastModified < propertiesLastModified);
}
};
FileSet.Selector selector = new FileSet.AndSelector(JAVA_SOURCE_SELECTOR, outOfDate);
FileSet fs = new FileSet(sourceDir, selector);
preprocessor.execute(fs, preprocessedDir);
FileSet htmlFiles = new FileSet(sourceDir, HTML_SELECTOR);
for (Iterator iterator = htmlFiles.list().iterator(); iterator.hasNext();) {
File htmlFile = (File) iterator.next();
File toHtmlFile = htmlFiles.replaceBaseDir(htmlFile, preprocessedDir);
cp(htmlFile, toHtmlFile, false);
}
}
if (resetJava5Syntax) {
updateProperty("JAVA5SYNTAX", "false");
isJava5SyntaxSupported = false;
}
return preprocessedDir;
}
示例9: preprocess
import com.sun.squawk.builder.util.FileSet; //导入依赖的package包/类
/**
* Preprocess a given set of Java source files.
*
* @param baseDir the directory under which the "preprocessed" directory exists
* @param srcDirs the set of directories that are searched recursively for the source files to be compiled
* @param j2me specifies if the classes being compiled are to be deployed on a J2ME platform
* @param vm2c use true if preprocessing as part of vm2c compile
* @return the preprocessor output directory
*/
public File preprocess(File baseDir, File[] srcDirs, boolean j2me, boolean vm2c) {
// Get the preprocessor output directory
final File preprocessedDir;
boolean resetJava5Syntax = false;
if (vm2c && !isJava5SyntaxSupported()) {
log(brief, "[preprocessing with forced JAVA5SYNTAX for vm2c]");
preprocessedDir = mkdir(baseDir, RomCommand.PREPROCESSED_FOR_VM2C_DIR_NAME);
updateProperty("JAVA5SYNTAX", "true");
isJava5SyntaxSupported = true;
resetJava5Syntax = true;
} else {
preprocessedDir = mkdir(baseDir, "preprocessed");
}
// Preprocess the sources
preprocessor.processAssertions = j2me;
preprocessor.verbose = verbose;
// @TODO: Should be true for desktop builds. host == target?
preprocessor.showLineNumbers = true;
for (int i = 0; i != srcDirs.length; ++i) {
File sourceDir = srcDirs[i];
// A selector that matches a source file whose preprocessed copy does not exist,
// is younger than the source file or has a last modification date
// earlier than the last modification date of the properties
FileSet.Selector outOfDate = new FileSet.DependSelector(new FileSet.SourceDestDirMapper(sourceDir, preprocessedDir)) {
public boolean isSelected(File file) {
if (super.isSelected(file)) {
return true;
}
File preprocessedFile = getMapper().map(file);
long fileLastModified = preprocessedFile.lastModified();
return (fileLastModified < propertiesLastModified);
}
};
FileSet.Selector selector = new FileSet.AndSelector(JAVA_SOURCE_SELECTOR, outOfDate);
FileSet fs = new FileSet(sourceDir, selector);
preprocessor.execute(fs, preprocessedDir);
FileSet htmlFiles = new FileSet(sourceDir, HTML_SELECTOR);
for (Iterator iterator = htmlFiles.list().iterator(); iterator.hasNext();) {
File htmlFile = (File) iterator.next();
File toHtmlFile = htmlFiles.replaceBaseDir(htmlFile, preprocessedDir);
cp(htmlFile, toHtmlFile, false);
}
}
if (resetJava5Syntax) {
updateProperty("JAVA5SYNTAX", "false");
isJava5SyntaxSupported = false;
}
return preprocessedDir;
}