Example usage for org.aspectj.util FileUtil hasSourceSuffix

List of usage examples for org.aspectj.util FileUtil hasSourceSuffix

Introduction

In this page you can find the example usage for org.aspectj.util FileUtil hasSourceSuffix.

Prototype

public static boolean hasSourceSuffix(String path) 

Source Link

Usage

From source file:org.eclipse.ajdt.core.ant.AjcTask.java

License:Open Source License

/**
 * Add to list any path or plural arguments.
 *//*from w w w.  j  a v a2  s.c o m*/
protected void addListArgs(List list) throws BuildException {
    addFlaggedPath("-classpath", classpath, list);
    addFlaggedPath("-bootclasspath", bootclasspath, list);
    addFlaggedPath("-extdirs", extdirs, list);
    addFlaggedPath("-aspectpath", aspectpath, list);
    addFlaggedPath("-injars", injars, list);
    addFlaggedPath("-inpath", inpath, list);
    addFlaggedPath("-sourceroots", sourceRoots, list);

    if (argfiles != null) {
        String[] files = argfiles.list();
        for (int i = 0; i < files.length; i++) {
            File argfile = project.resolveFile(files[i]);
            if (check(argfile, files[i], false, location)) {
                list.add("-argfile");
                list.add(argfile.getAbsolutePath());
            }
        }
    }
    if (inxmlfiles != null) {
        String[] files = inxmlfiles.list();
        for (int i = 0; i < files.length; i++) {
            File inxmlfile = project.resolveFile(files[i]);
            if (check(inxmlfile, files[i], false, location)) {
                list.add("-xmlConfigured");
                list.add(inxmlfile.getAbsolutePath());
            }
        }
    }
    if (srcdir != null) {
        // todo: ignore any srcdir if any argfiles and no explicit includes
        String[] dirs = srcdir.list();
        for (int i = 0; i < dirs.length; i++) {
            File dir = project.resolveFile(dirs[i]);
            check(dir, dirs[i], true, location);
            // relies on compiler to prune non-source files
            String[] files = getDirectoryScanner(dir).getIncludedFiles();
            for (int j = 0; j < files.length; j++) {
                File file = new File(dir, files[j]);
                if (FileUtil.hasSourceSuffix(file)) {
                    if (!list.contains(file.getAbsolutePath())) {
                        list.add(file.getAbsolutePath());
                    }
                }
            }
        }
    }
    if (0 < adapterFiles.size()) {
        for (Iterator iter = adapterFiles.iterator(); iter.hasNext();) {
            File file = (File) iter.next();
            if (file.canRead() && FileUtil.hasSourceSuffix(file)) {
                list.add(file.getAbsolutePath());
            } else {
                this.logger.warning("skipping file: " + file);
            }
        }
    }
}

From source file:org.eclipse.ajdt.core.ant.AjcTask.java

License:Open Source License

/**
 * Read arguments in as if from a command line, mainly to support compiler adapter compilerarg subelement.
 * //w  w w. j  a  v a 2 s.c  o m
 * @param args the String[] of arguments to read
 */
public void readArguments(String[] args) { // XXX slow, stupid, unmaintainable
    if ((null == args) || (0 == args.length)) {
        return;
    }
    /** String[] wrapper with increment, error reporting */
    class Args {
        final String[] args;
        int index = 0;

        Args(String[] args) {
            this.args = args; // not null or empty
        }

        boolean hasNext() {
            return index < args.length;
        }

        String next() {
            String err = null;
            if (!hasNext()) {
                err = "need arg for flag " + args[args.length - 1];
            } else {
                String s = args[index++];
                if (null == s) {
                    err = "null value";
                } else {
                    s = s.trim();
                    if (0 == s.trim().length()) {
                        err = "no value";
                    } else {
                        return s;
                    }
                }
            }
            err += " at [" + index + "] of " + Arrays.asList(args);
            throw new BuildException(err);
        }
    } // class Args

    Args in = new Args(args);
    String flag;
    while (in.hasNext()) {
        flag = in.next();
        if ("-1.3".equals(flag)) {
            setCompliance(flag);
        } else if ("-1.4".equals(flag)) {
            setCompliance(flag);
        } else if ("-1.5".equals(flag)) {
            setCompliance("1.5");
        } else if ("-argfile".equals(flag)) {
            setArgfiles(new Path(project, in.next()));
        } else if ("-aspectpath".equals(flag)) {
            setAspectpath(new Path(project, in.next()));
        } else if ("-classpath".equals(flag)) {
            setClasspath(new Path(project, in.next()));
        } else if ("-extdirs".equals(flag)) {
            setExtdirs(new Path(project, in.next()));
        } else if ("-Xcopyinjars".equals(flag)) {
            setCopyInjars(true); // ignored - will be flagged by setter
        } else if ("-g".equals(flag)) {
            setDebug(true);
        } else if (flag.startsWith("-g:")) {
            setDebugLevel(flag.substring(2));
        } else if ("-deprecation".equals(flag)) {
            setDeprecation(true);
        } else if ("-d".equals(flag)) {
            setDestdir(new File(in.next()));
        } else if ("-crossrefs".equals(flag)) {
            setCrossrefs(true);
        } else if ("-emacssym".equals(flag)) {
            setEmacssym(true);
        } else if ("-encoding".equals(flag)) {
            setEncoding(in.next());
        } else if ("-Xfailonerror".equals(flag)) {
            setFailonerror(true);
        } else if ("-fork".equals(flag)) {
            setFork(true);
        } else if ("-forkclasspath".equals(flag)) {
            setForkclasspath(new Path(project, in.next()));
        } else if ("-help".equals(flag)) {
            setHelp(true);
        } else if ("-incremental".equals(flag)) {
            setIncremental(true);
        } else if ("-injars".equals(flag)) {
            setInjars(new Path(project, in.next()));
        } else if ("-inpath".equals(flag)) {
            setInpath(new Path(project, in.next()));
        } else if ("-Xlistfileargs".equals(flag)) {
            setListFileArgs(true);
        } else if ("-Xmaxmem".equals(flag)) {
            setMaxmem(in.next());
        } else if ("-Xmessageholderclass".equals(flag)) {
            setMessageHolderClass(in.next());
        } else if ("-noexit".equals(flag)) {
            setNoExit(true);
        } else if ("-noimport".equals(flag)) {
            setNoExit(true);
        } else if ("-noExit".equals(flag)) {
            setNoExit(true);
        } else if ("-noImportError".equals(flag)) {
            setNoImportError(true);
        } else if ("-noWarn".equals(flag)) {
            setNowarn(true);
        } else if ("-noexit".equals(flag)) {
            setNoExit(true);
        } else if ("-outjar".equals(flag)) {
            setOutjar(new File(in.next()));
        } else if ("-outxml".equals(flag)) {
            setOutxml(true);
        } else if ("-outxmlfile".equals(flag)) {
            setOutxmlfile(in.next());
        } else if ("-preserveAllLocals".equals(flag)) {
            setPreserveAllLocals(true);
        } else if ("-proceedOnError".equals(flag)) {
            setProceedOnError(true);
        } else if ("-referenceInfo".equals(flag)) {
            setReferenceInfo(true);
        } else if ("-source".equals(flag)) {
            setSource(in.next());
        } else if ("-Xsourcerootcopyfilter".equals(flag)) {
            setSourceRootCopyFilter(in.next());
        } else if ("-sourceroots".equals(flag)) {
            setSourceRoots(new Path(project, in.next()));
        } else if ("-Xsrcdir".equals(flag)) {
            setSrcDir(new Path(project, in.next()));
        } else if ("-Xtagfile".equals(flag)) {
            setTagFile(new File(in.next()));
        } else if ("-target".equals(flag)) {
            setTarget(in.next());
        } else if ("-time".equals(flag)) {
            setTime(true);
        } else if ("-time".equals(flag)) {
            setTime(true);
        } else if ("-verbose".equals(flag)) {
            setVerbose(true);
        } else if ("-showWeaveInfo".equals(flag)) {
            setShowWeaveInfo(true);
        } else if ("-version".equals(flag)) {
            setVersion(true);
        } else if ("-warn".equals(flag)) {
            setWarn(in.next());
        } else if (flag.startsWith("-warn:")) {
            setWarn(flag.substring(6));
        } else if ("-Xlint".equals(flag)) {
            setXlintwarnings(true);
        } else if (flag.startsWith("-Xlint:")) {
            setXlint(flag.substring(7));
        } else if ("-Xlintfile".equals(flag)) {
            setXlintfile(new File(in.next()));
        } else if ("-XterminateAfterCompilation".equals(flag)) {
            setXTerminateAfterCompilation(true);
        } else if ("-Xreweavable".equals(flag)) {
            setXReweavable(true);
        } else if ("-XnotReweavable".equals(flag)) {
            setXNotReweavable(true);
        } else if (flag.startsWith("@")) {
            File file = new File(flag.substring(1));
            if (file.canRead()) {
                setArgfiles(new Path(project, file.getPath()));
            } else {
                ignore(flag);
            }
        } else {
            File file = new File(flag);
            if (file.isFile() && file.canRead() && FileUtil.hasSourceSuffix(file)) {
                addFile(file);
            } else {
                ignore(flag);
            }
        }
    }

}