当前位置: 首页>>代码示例>>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;未经允许,请勿转载。