Methods Summary |
---|
public void | execute()Do the work.
The work is actually done by creating a separate JVM to run a helper task.
This approach allows the classpath of the helper task to be set. Since the
weblogic tools require the class files of the project's home and remote
interfaces to be available in the classpath, this also avoids having to
start ant with the class path of the project it is building.
if (descriptorDirectory == null
|| !descriptorDirectory.isDirectory()) {
throw new BuildException("descriptors directory "
+ descriptorDirectory.getPath() + " is not valid");
}
if (generatedFilesDirectory == null
|| !generatedFilesDirectory.isDirectory()) {
throw new BuildException("dest directory "
+ generatedFilesDirectory.getPath() + " is not valid");
}
if (sourceDirectory == null
|| !sourceDirectory.isDirectory()) {
throw new BuildException("src directory "
+ sourceDirectory.getPath() + " is not valid");
}
String systemClassPath = System.getProperty("java.class.path");
String execClassPath
= FileUtils.translatePath(systemClassPath + ":" + classpath
+ ":" + generatedFilesDirectory);
// get all the files in the descriptor directory
DirectoryScanner ds = super.getDirectoryScanner(descriptorDirectory);
String[] files = ds.getIncludedFiles();
Java helperTask = new Java(this);
helperTask.setFork(true);
helperTask.setClassname("org.apache.tools.ant.taskdefs.optional.ejb.EjbcHelper");
String args = "";
args += " " + descriptorDirectory;
args += " " + generatedFilesDirectory;
args += " " + sourceDirectory;
args += " " + generatedManifestFile;
args += " " + keepgenerated;
for (int i = 0; i < files.length; ++i) {
args += " " + files[i];
}
Commandline.Argument arguments = helperTask.createArg();
arguments.setLine(args);
helperTask.setClasspath(new Path(getProject(), execClassPath));
if (helperTask.executeJava() != 0) {
throw new BuildException("Execution of ejbc helper failed");
}
|
public boolean | getKeepgenerated()get the keep generated attribute.
return keepgenerated;
|
public void | setClasspath(java.lang.String s)Set the classpath to be used for this compilation.
this.classpath = FileUtils.translatePath(s);
|
public void | setDescriptors(java.lang.String dirName)Set the directory from where the serialized deployment descriptors are
to be read.
descriptorDirectory = new File(dirName);
|
public void | setDest(java.lang.String dirName)Set the directory into which the support classes, RMI stubs, etc are to be written.
generatedFilesDirectory = new File(dirName);
|
public void | setKeepgenerated(java.lang.String newKeepgenerated)If true, ejbc will keep the
intermediate Java files used to build the class files.
This can be useful when debugging.
keepgenerated = Boolean.valueOf(newKeepgenerated.trim()).booleanValue();
|
public void | setManifest(java.lang.String manifestFilename)Set the name of the generated manifest file.
For each EJB that is processed an entry is created in this file. This can then be used
to create a jar file for dploying the beans.
generatedManifestFile = new File(manifestFilename);
|
public void | setSrc(java.lang.String dirName)Set the directory containing the source code for the home interface, remote interface
and public key class definitions.
sourceDirectory = new File(dirName);
|