use of org.apache.tools.ant.types.Path in project cuke4duke by cucumber.
the class AbstractJRubyMojo method append.
protected void append(Path classPath, List<?> artifacts) throws DependencyResolutionRequiredException {
List<String> list = new ArrayList<String>(artifacts.size());
for (Object elem : artifacts) {
String path;
if (elem instanceof Artifact) {
Artifact a = (Artifact) elem;
File file = a.getFile();
if (file == null) {
throw new DependencyResolutionRequiredException(a);
}
path = file.getPath();
} else {
path = elem.toString();
}
list.add(path);
}
Path p = new Path(classPath.getProject());
p.setPath(StringUtils.join(list.iterator(), File.pathSeparator));
classPath.append(p);
}
use of org.apache.tools.ant.types.Path in project tomcat by apache.
the class AntCompiler method generateClass.
// --------------------------------------------------------- Public Methods
/**
* Compile the servlet from .java file to .class file
*/
@Override
protected void generateClass(Map<String, SmapStratum> smaps) throws FileNotFoundException, JasperException, Exception {
long t1 = 0;
if (log.isDebugEnabled()) {
t1 = System.currentTimeMillis();
}
String javaEncoding = ctxt.getOptions().getJavaEncoding();
String javaFileName = ctxt.getServletJavaFileName();
String classpath = ctxt.getClassPath();
StringBuilder errorReport = new StringBuilder();
StringBuilder info = new StringBuilder();
info.append("Compile: javaFileName=" + javaFileName + "\n");
info.append(" classpath=" + classpath + "\n");
// Start capturing the System.err output for this thread
SystemLogHandler.setThread();
// Initializing javac task
getProject();
Javac javac = (Javac) project.createTask("javac");
// Initializing classpath
Path path = new Path(project);
path.setPath(System.getProperty("java.class.path"));
info.append(" cp=" + System.getProperty("java.class.path") + "\n");
StringTokenizer tokenizer = new StringTokenizer(classpath, File.pathSeparator);
while (tokenizer.hasMoreElements()) {
String pathElement = tokenizer.nextToken();
File repository = new File(pathElement);
path.setLocation(repository);
info.append(" cp=" + repository + "\n");
}
if (log.isDebugEnabled()) {
log.debug("Using classpath: " + System.getProperty("java.class.path") + File.pathSeparator + classpath);
}
// Initializing sourcepath
Path srcPath = new Path(project);
srcPath.setLocation(options.getScratchDir());
info.append(" work dir=" + options.getScratchDir() + "\n");
// Initialize and set java extensions
String exts = System.getProperty("java.ext.dirs");
if (exts != null) {
Path extdirs = new Path(project);
extdirs.setPath(exts);
javac.setExtdirs(extdirs);
info.append(" extension dir=" + exts + "\n");
}
// Configure the compiler object
javac.setEncoding(javaEncoding);
javac.setClasspath(path);
javac.setDebug(ctxt.getOptions().getClassDebugInfo());
javac.setSrcdir(srcPath);
javac.setTempdir(options.getScratchDir());
javac.setFork(ctxt.getOptions().getFork());
info.append(" srcDir=" + srcPath + "\n");
// Set the Java compiler to use
if (options.getCompiler() != null) {
javac.setCompiler(options.getCompiler());
info.append(" compiler=" + options.getCompiler() + "\n");
}
if (options.getCompilerTargetVM() != null) {
javac.setTarget(options.getCompilerTargetVM());
info.append(" compilerTargetVM=" + options.getCompilerTargetVM() + "\n");
}
if (options.getCompilerSourceVM() != null) {
javac.setSource(options.getCompilerSourceVM());
info.append(" compilerSourceVM=" + options.getCompilerSourceVM() + "\n");
}
// Build includes path
PatternSet.NameEntry includes = javac.createInclude();
includes.setName(ctxt.getJavaPath());
info.append(" include=" + ctxt.getJavaPath() + "\n");
BuildException be = null;
try {
if (ctxt.getOptions().getFork()) {
javac.execute();
} else {
synchronized (javacLock) {
javac.execute();
}
}
} catch (BuildException e) {
be = e;
log.error(Localizer.getMessage("jsp.error.javac"), e);
log.error(Localizer.getMessage("jsp.error.javac.env") + info.toString());
}
errorReport.append(logger.getReport());
// Stop capturing the System.err output for this thread
String errorCapture = SystemLogHandler.unsetThread();
if (errorCapture != null) {
errorReport.append(System.lineSeparator());
errorReport.append(errorCapture);
}
if (!ctxt.keepGenerated()) {
File javaFile = new File(javaFileName);
if (!javaFile.delete()) {
throw new JasperException(Localizer.getMessage("jsp.warning.compiler.javafile.delete.fail", javaFile));
}
}
if (be != null) {
String errorReportString = errorReport.toString();
log.error(Localizer.getMessage("jsp.error.compilation", javaFileName, errorReportString));
JavacErrorDetail[] javacErrors = ErrorDispatcher.parseJavacErrors(errorReportString, javaFileName, pageNodes);
if (javacErrors != null) {
errDispatcher.javacError(javacErrors);
} else {
errDispatcher.javacError(errorReportString, be);
}
}
if (log.isDebugEnabled()) {
long t2 = System.currentTimeMillis();
log.debug("Compiled " + ctxt.getServletJavaFileName() + " " + (t2 - t1) + "ms");
}
logger = null;
project = null;
if (ctxt.isPrototypeMode()) {
return;
}
// JSR45 Support
if (!options.isSmapSuppressed()) {
SmapUtil.installSmap(smaps);
}
}
use of org.apache.tools.ant.types.Path in project checkstyle by checkstyle.
the class CheckstyleAntTaskTest method testSetClasspathRef.
@Test
public void testSetClasspathRef() {
final CheckstyleAntTask antTask = new CheckstyleAntTask();
antTask.setClasspathRef(new Reference(new Project(), "id"));
assertWithMessage("Classpath should not be null").that(TestUtil.<Path>getInternalState(antTask, "classpath")).isNotNull();
}
use of org.apache.tools.ant.types.Path in project cayenne by apache.
the class CayenneGeneratorTaskCrossMapRelationshipsTest method testCrossDataMapRelationships.
/**
* Tests pairs generation with a cross-DataMap relationship.
*/
@Test
public void testCrossDataMapRelationships() throws Exception {
CayenneGeneratorTask task = new CayenneGeneratorTask();
task.setProject(new Project());
task.setTaskName("Test");
task.setLocation(Location.UNKNOWN_LOCATION);
// prepare destination directory
File destDir = new File(FileUtil.baseTestDirectory(), "cgen12");
// prepare destination directory
if (!destDir.exists()) {
assertTrue(destDir.mkdirs());
}
File map = new File(destDir, "cgen-dependent.map.xml");
ResourceUtil.copyResourceToFile("org/apache/cayenne/tools/cgen-dependent.map.xml", map);
File[] additionalMaps = new File[1];
additionalMaps[0] = new File(destDir, "cgen.map.xml");
ResourceUtil.copyResourceToFile("org/apache/cayenne/tools/cgen.map.xml", additionalMaps[0]);
FileList additionalMapsFilelist = new FileList();
additionalMapsFilelist.setDir(additionalMaps[0].getParentFile());
additionalMapsFilelist.setFiles(additionalMaps[0].getName());
Path additionalMapsPath = new Path(task.getProject());
additionalMapsPath.addFilelist(additionalMapsFilelist);
// setup task
task.setMap(map);
task.setAdditionalMaps(additionalMapsPath);
task.setMakepairs(true);
task.setOverwrite(false);
task.setMode("entity");
task.setIncludeEntities("MyArtGroup");
task.setDestDir(destDir);
task.setSuperpkg("org.apache.cayenne.testdo.cgen2.auto");
task.setUsepkgpath(true);
// run task
task.execute();
// check results
File a = new File(destDir, convertPath("org/apache/cayenne/testdo/cgen2/MyArtGroup.java"));
assertTrue(a.isFile());
assertContents(a, "MyArtGroup", "org.apache.cayenne.testdo.cgen2", "_MyArtGroup");
File _a = new File(destDir, convertPath("org/apache/cayenne/testdo/cgen2/auto/_MyArtGroup.java"));
assertTrue(_a.exists());
assertContents(_a, "_MyArtGroup", "org.apache.cayenne.testdo.cgen2.auto", "BaseDataObject");
assertContents(_a, "import org.apache.cayenne.testdo.testmap.ArtGroup;");
assertContents(_a, " ArtGroup getToParentGroup()");
assertContents(_a, "setToParentGroup(ArtGroup toParentGroup)");
}
use of org.apache.tools.ant.types.Path in project closure-compiler by google.
the class CompileTask method getLastModifiedTime.
/**
* Returns the most recent modified timestamp of the file collection.
*
* Note: this must be combined into one method to account for both
* Path and FileList erasure types.
*
* @param fileLists Collection of FileList or Path
* @return Most recent modified timestamp
*/
private long getLastModifiedTime(List<?> fileLists) {
long lastModified = 0;
for (Object entry : fileLists) {
if (entry instanceof FileList) {
FileList list = (FileList) entry;
for (String fileName : list.getFiles(this.getProject())) {
File path = list.getDir(this.getProject());
File file = new File(path, fileName);
lastModified = max(getLastModifiedTime(file), lastModified);
}
} else if (entry instanceof Path) {
Path path = (Path) entry;
for (String src : path.list()) {
File file = new File(src);
lastModified = max(getLastModifiedTime(file), lastModified);
}
}
}
return lastModified;
}
Aggregations