當前位置: 首頁>>代碼示例>>Java>>正文


Java FileSet.replaceBaseDir方法代碼示例

本文整理匯總了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();
            }
        }
    }
}
 
開發者ID:tomatsu,項目名稱:squawk,代碼行數:22,代碼來源:SourceProcessor.java

示例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;
}
 
開發者ID:tomatsu,項目名稱:squawk,代碼行數:36,代碼來源:Build.java

示例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;
    }
 
開發者ID:tomatsu,項目名稱:squawk,代碼行數:62,代碼來源:Build.java

示例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;
}
 
開發者ID:sics-sse,項目名稱:moped,代碼行數:68,代碼來源:Build.java


注:本文中的com.sun.squawk.builder.util.FileSet.replaceBaseDir方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。