本文整理汇总了Java中com.sun.squawk.builder.util.FileSet.replaceBaseDir方法的典型用法代码示例。如果您正苦于以下问题:Java FileSet.replaceBaseDir方法的具体用法?Java FileSet.replaceBaseDir怎么用?Java FileSet.replaceBaseDir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.squawk.builder.util.FileSet
的用法示例。
在下文中一共展示了FileSet.replaceBaseDir方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: 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;
}
示例3: 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;
}
示例4: 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;
}