/** * This method will create an ANT based LoadFile task based on an infile and a property name. The * property will be loaded with the infile for use later by the Replace task. * * @param inFile The file to process * @param propName the name to assign it to * @return The ANT LoadFile task that loads a property with a file */ protected LoadFile createLoadFileTask(String inFile, String propName) { LoadFile loadFileTask = (LoadFile) antProject.createTask("loadfile"); loadFileTask.init(); loadFileTask.setProperty(propName); loadFileTask.setSrcFile(new File(inFile)); return loadFileTask; }
/** * This method will movie files from the source directory to the destination directory based on * the pattern. * * @param inSourceDirectory The source directory to copy from. * @param inDestinationDirectory The destination directory to copy to. * @param inPattern The file pattern to match to locate files to copy. */ protected void moveFiles( final String inSourceDirectory, final String inDestinationDirectory, final String inPattern) { Move moveTask = (Move) antProject.createTask("move"); FileSet fileSet = AntUtils.createFileset(inSourceDirectory, inPattern, new ArrayList()); moveTask.setTodir(new File(inDestinationDirectory)); moveTask.addFileset(fileSet); moveTask.execute(); }
public File resolve(final Extension extension, final Project project) throws BuildException { validate(); final Ant ant = (Ant) project.createTask("ant"); ant.setInheritAll(false); ant.setAntfile(m_antfile.getName()); try { final File dir = m_antfile.getParentFile().getCanonicalFile(); ant.setDir(dir); } catch (final IOException ioe) { throw new BuildException(ioe.getMessage(), ioe); } if (null != m_target) { ant.setTarget(m_target); } ant.execute(); return m_destfile; }
public boolean execute(Project project, long contentLength, InputStream content) throws Throwable { Ant ant = (Ant) project.createTask("ant"); File baseDir = project.getBaseDir(); if (dir != null) baseDir = new File(dir); ant.setDir(baseDir); ant.setInheritAll(inheritall); ant.setInheritRefs(interitrefs); if (target != null) ant.setTarget(target); if (antFile != null) ant.setAntfile(antFile); Enumeration e = properties.elements(); PropertyContainer pc = null; Property p = null; while (e.hasMoreElements()) { pc = (PropertyContainer) e.nextElement(); p = ant.createProperty(); p.setName(pc.getName()); p.setValue(pc.getValue()); } e = references.elements(); ReferenceContainer rc = null; Ant.Reference ref = null; while (e.hasMoreElements()) { rc = (ReferenceContainer) e.nextElement(); ref = new Ant.Reference(); ref.setRefId(rc.getRefId()); ref.setToRefid(rc.getToRefId()); ant.addReference(ref); } ant.execute(); return false; }
/** Compile the servlet from .java file to .class file */ @Override protected void generateClass(String[] smap) 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(); String sep = System.getProperty("path.separator"); 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, sep); 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") + sep + 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"); } // Add endorsed directories if any are specified and we're forking // See Bugzilla 31257 if (ctxt.getOptions().getFork()) { String endorsed = System.getProperty("java.endorsed.dirs"); if (endorsed != null) { Javac.ImplementationSpecificArgument endorsedArg = javac.createCompilerArg(); endorsedArg.setLine("-J-Djava.endorsed.dirs=" + quotePathList(endorsed)); info.append(" endorsed dir=" + quotePathList(endorsed) + "\n"); } else { info.append(" no endorsed dirs specified\n"); } } // Configure the compiler object javac.setEncoding(javaEncoding); javac.setClasspath(path); javac.setDebug(ctxt.getOptions().getClassDebugInfo()); javac.setSrcdir(srcPath); javac.setTempdir(options.getScratchDir()); javac.setOptimize(!ctxt.getOptions().getClassDebugInfo()); 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(Constants.NEWLINE); errorReport.append(errorCapture); } if (!ctxt.keepGenerated()) { File javaFile = new File(javaFileName); javaFile.delete(); } 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(smap); } }