|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.tools.ant.ProjectComponent org.apache.tools.ant.Task org.apache.tools.ant.taskdefs.MatchingTask org.apache.tools.ant.taskdefs.Rmic
public class Rmic
Runs the rmic compiler against classes.
Rmic can be run on a single class (as specified with the classname
attribute) or a number of classes at once (all classes below base that
are neither _Stub nor _Skel classes). If you want to rmic a single
class and this class is a class nested into another class, you have to
specify the classname in the form Outer$$Inner
instead of
Outer.Inner
.
It is possible to refine the set of files that are being rmiced. This can be done with the includes, includesfile, excludes, excludesfile and defaultexcludes attributes. With the includes or includesfile attribute you specify the files you want to have included by using patterns. The exclude or excludesfile attribute is used to specify the files you want to have excluded. This is also done with patterns. And finally with the defaultexcludes attribute, you can specify whether you want to use default exclusions or not. See the section on directory based tasks, on how the inclusion/exclusion of files works, and how to write patterns.
This task forms an implicit FileSet and
supports all attributes of <fileset>
(dir
becomes base
) as well as the nested
<include>
, <exclude>
and
<patternset>
elements.
It is possible to use different compilers. This can be selected
with the "build.rmic" property or the compiler
attribute. There are three choices:
The miniRMI project contains a compiler implementation for this task as well, please consult miniRMI's documentation to learn how to use it.
Nested Class Summary | |
---|---|
class |
Rmic.ImplementationSpecificArgument
Adds an "compiler" attribute to Commandline$Attribute used to filter command line attributes based on the current implementation. |
Field Summary | |
---|---|
static java.lang.String |
ERROR_BASE_NOT_SET
base attribute not set message |
static java.lang.String |
ERROR_LOADING_CAUSED_EXCEPTION
loaded error message |
static java.lang.String |
ERROR_NO_BASE_EXISTS
base not exists message |
static java.lang.String |
ERROR_NOT_A_DIR
base not a directory message |
static java.lang.String |
ERROR_NOT_DEFINED
not defined message |
static java.lang.String |
ERROR_NOT_FOUND
could not be found message |
static java.lang.String |
ERROR_RMIC_FAILED
rmic failed message |
static java.lang.String |
ERROR_UNABLE_TO_VERIFY_CLASS
unable to verify message |
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask |
---|
fileset |
Fields inherited from class org.apache.tools.ant.Task |
---|
target, taskName, taskType, wrapper |
Fields inherited from class org.apache.tools.ant.ProjectComponent |
---|
description, location, project |
Constructor Summary | |
---|---|
Rmic()
Constructor for Rmic. |
Method Summary | |
---|---|
Path |
createClasspath()
Creates a nested classpath element. |
Rmic.ImplementationSpecificArgument |
createCompilerArg()
Adds an implementation specific command line argument. |
Path |
createExtdirs()
Maybe creates a nested extdirs element. |
void |
execute()
execute by creating an instance of an implementation class and getting to do the work |
java.io.File |
getBase()
Gets the base directory to output generated class. |
java.lang.String |
getClassname()
Gets the class name to compile. |
Path |
getClasspath()
Gets the classpath. |
java.util.Vector |
getCompileList()
|
java.lang.String |
getCompiler()
get the name of the current compiler |
java.lang.String[] |
getCurrentCompilerArgs()
Get the additional implementation specific command line arguments. |
boolean |
getDebug()
Gets the debug flag. |
Path |
getExtdirs()
Gets the extension directories that will be used during the compilation. |
java.util.Vector |
getFileList()
Gets file list to compile. |
boolean |
getFiltering()
Gets whether token filtering is set |
boolean |
getIdl()
Gets IDL flags. |
java.lang.String |
getIdlopts()
Gets additional arguments for idl compile. |
boolean |
getIiop()
Gets iiop flags. |
java.lang.String |
getIiopopts()
Gets additional arguments for iiop. |
boolean |
getIncludeantruntime()
Gets whether or not the ant classpath is to be included in the task's classpath. |
boolean |
getIncludejavaruntime()
Gets whether or not the java runtime should be included in this task's classpath. |
java.lang.ClassLoader |
getLoader()
Classloader for the user-specified classpath. |
java.lang.Class |
getRemoteInterface(java.lang.Class testClass)
Returns the topmost interface that extends Remote for a given class - if one exists. |
java.io.File |
getSourceBase()
Gets the source dirs to find the source java files. |
java.lang.String |
getStubVersion()
Gets the JDK version for the generated stub code. |
boolean |
getVerify()
Get verify flag. |
boolean |
isValidRmiRemote(java.lang.String classname)
Load named class and test whether it can be rmic'ed |
protected void |
scanDir(java.io.File baseDir,
java.lang.String[] files,
FileNameMapper mapper)
Scans the directory looking for class files to be compiled. |
void |
setBase(java.io.File base)
Sets the location to store the compiled files; required |
void |
setClassname(java.lang.String classname)
Sets the class to run rmic against;
optional |
void |
setClasspath(Path classpath)
Set the classpath to be used for this compilation. |
void |
setClasspathRef(Reference pathRef)
Adds to the classpath a reference to a <path> defined elsewhere. |
void |
setCompiler(java.lang.String compiler)
Sets the compiler implementation to use; optional, defaults to the value of the build.rmic property,
or failing that, default compiler for the current VM |
void |
setDebug(boolean debug)
Generate debug info (passes -g to rmic); optional, defaults to false |
void |
setExtdirs(Path extDirs)
Sets the extension directories that will be used during the compilation; optional. |
void |
setFiltering(boolean filter)
Sets token filtering [optional], default=false |
void |
setIdl(boolean idl)
Indicates that IDL output should be generated. |
void |
setIdlopts(java.lang.String idlOpts)
pass additional arguments for IDL compile |
void |
setIiop(boolean iiop)
Indicates that IIOP compatible stubs should be generated; optional, defaults to false if not set. |
void |
setIiopopts(java.lang.String iiopOpts)
Set additional arguments for iiop |
void |
setIncludeantruntime(boolean include)
Sets whether or not to include ant's own classpath in this task's classpath. |
void |
setIncludejavaruntime(boolean include)
task's classpath. |
void |
setSourceBase(java.io.File sourceBase)
optional directory to save generated source files to. |
void |
setStubVersion(java.lang.String stubVersion)
Specify the JDK version for the generated stub code. |
void |
setVerify(boolean verify)
Flag to enable verification so that the classes found by the directory match are checked to see if they implement java.rmi.Remote. |
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask |
---|
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems |
Methods inherited from class org.apache.tools.ant.Task |
---|
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType |
Methods inherited from class org.apache.tools.ant.ProjectComponent |
---|
clone, getDescription, getLocation, getProject, setDescription, setLocation |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String ERROR_RMIC_FAILED
public static final java.lang.String ERROR_UNABLE_TO_VERIFY_CLASS
public static final java.lang.String ERROR_NOT_FOUND
public static final java.lang.String ERROR_NOT_DEFINED
public static final java.lang.String ERROR_LOADING_CAUSED_EXCEPTION
public static final java.lang.String ERROR_NO_BASE_EXISTS
public static final java.lang.String ERROR_NOT_A_DIR
public static final java.lang.String ERROR_BASE_NOT_SET
Constructor Detail |
---|
public Rmic()
Method Detail |
---|
public void setBase(java.io.File base)
base
- the location to store the compiled filespublic java.io.File getBase()
public void setClassname(java.lang.String classname)
rmic
against;
optional
classname
- the name of the class for rmic to create code forpublic java.lang.String getClassname()
public void setSourceBase(java.io.File sourceBase)
sourceBase
- the directory to save source files to.public java.io.File getSourceBase()
public void setStubVersion(java.lang.String stubVersion)
stubVersion
- the JDK versionpublic java.lang.String getStubVersion()
public void setFiltering(boolean filter)
filter
- turn on token filteringpublic boolean getFiltering()
public void setDebug(boolean debug)
debug
- turn on debug infopublic boolean getDebug()
public void setClasspath(Path classpath)
classpath
- the classpath used for this compilationpublic Path createClasspath()
public void setClasspathRef(Reference pathRef)
pathRef
- the reference to add to the classpathpublic Path getClasspath()
public void setVerify(boolean verify)
verify
- turn on verification for classespublic boolean getVerify()
public void setIiop(boolean iiop)
iiop
- generate IIOP compatible stubspublic boolean getIiop()
public void setIiopopts(java.lang.String iiopOpts)
iiopOpts
- additional arguments for iioppublic java.lang.String getIiopopts()
public void setIdl(boolean idl)
idl
- generate IDL outputpublic boolean getIdl()
public void setIdlopts(java.lang.String idlOpts)
idlOpts
- additional IDL argumentspublic java.lang.String getIdlopts()
public java.util.Vector getFileList()
public void setIncludeantruntime(boolean include)
true
.
include
- if true include ant's classpathpublic boolean getIncludeantruntime()
public void setIncludejavaruntime(boolean include)
include
- if true include default run-time librariespublic boolean getIncludejavaruntime()
public void setExtdirs(Path extDirs)
extDirs
- the extension directories to be usedpublic Path createExtdirs()
public Path getExtdirs()
public java.util.Vector getCompileList()
public void setCompiler(java.lang.String compiler)
build.rmic
property,
or failing that, default compiler for the current VM
compiler
- the compiler implemention to usepublic java.lang.String getCompiler()
public Rmic.ImplementationSpecificArgument createCompilerArg()
public java.lang.String[] getCurrentCompilerArgs()
public void execute() throws BuildException
execute
in class Task
BuildException
- if there's a problem with baseDir or RMICprotected void scanDir(java.io.File baseDir, java.lang.String[] files, FileNameMapper mapper)
baseDir
- the base directionfiles
- the list of files to scanmapper
- the mapper of files to target filespublic boolean isValidRmiRemote(java.lang.String classname)
classname
- the name of the class to be tested
public java.lang.Class getRemoteInterface(java.lang.Class testClass)
testClass
- the class to be tested
public java.lang.ClassLoader getLoader()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |