From b9421dc80af485591a9c50cc8921f912e0def11e Mon Sep 17 00:00:00 2001
From: Ashlee Young Runs the rmic compiler for a certain class. 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 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 most attributes of It is possible to use different compilers. This can be selected
-with the "build.rmic" property, the The miniRMI
-project contains a compiler implementation for this task as well,
-please consult miniRMI's documentation to learn how to use it. *1:
-Rmic
-Description
-Outer$$Inner
instead of
-Outer.Inner
.<fileset>
-(dir
becomes base
) as well as the nested
-<include>
, <exclude>
and
-<patternset>
elements.compiler
-attribute. or a nested element.
-Here are the choices:
-
-
-Parameters
-
-
-
-
-
- Attribute
- Description
- Required
-
-
- base
- the location to store the compiled files.
- Also serves as the parent directory for any non-Fileset includes, etc.
- (This functionality has remained unchanged.)
- *1
-
-
- destdir
- the location to store the compiled files.
-
-
- classname
- the class for which to run
- rmic
.No
-
-
- filtering
- indicates whether token filtering should take place
- No
-
-
- sourcebase
- Pass the "-keepgenerated" flag to rmic and
- move the generated source file to the given sourcebase directory.
- No
-
-
- stubversion
- Specify the JDK version for the generated stub code.
- Specify "1.1" to pass the "-v1.1" option to rmic,
- "1.2" for -v12, compat for -vcompat.
-
- Since Ant1.7, if you do not specify a version, and do not ask
- for iiop or idl files, "compat" is selected.
-
- No, default="compat"
-
-
- classpath
- The classpath to use during compilation
- No
-
-
- classpathref
- The classpath to use during compilation, given as reference to a PATH defined elsewhere
- No
-
-
- includes
- comma- or space-separated list of patterns of files that must be
- included. All files are included when omitted.
- No
-
-
- includesfile
- the name of a file. Each line of this file is
- taken to be an include pattern
- No
-
-
- excludes
- comma- or space-separated list of patterns of files that must be
- excluded. No files (except default excludes) are excluded when omitted.
- No
-
-
- excludesfile
- the name of a file. Each line of this file is
- taken to be an exclude pattern
- No
-
-
- defaultexcludes
- indicates whether default excludes should be used or not
- ("yes"/"no"). Default excludes are used when omitted.
- No
-
-
- verify
- check that classes implement Remote before handing them
- to rmic (default is false)
- No
-
-
- iiop
- indicates that portable (RMI/IIOP) stubs should be generated
- No
-
-
- iiopopts
- additional arguments for IIOP class generation
- No
-
-
- idl
- indicates that IDL output files should be generated
- No
-
-
- idlopts
- additional arguments for IDL file generation
- No
-
-
- debug
- generate debug info (passes -g to rmic). Defaults to false.
- No
-
-
- includeAntRuntime
- whether to include the Ant run-time libraries;
- defaults to
- yes
.No
-
-
- includeJavaRuntime
- whether to include the default run-time
- libraries from the executing VM; defaults to
- no
.No
-
-
- extdirs
- location of installed extensions.
- No
-
-
- compiler
- The compiler implementation to use.
- If this attribute is not set, the value of the
-
- build.rmic
property, if set, will be used.
- Otherwise, the default compiler for the current VM will be used.
- (See the above list of valid
- compilers.)No
-
-
- executable
- Complete path to the
- rmic
- executable to use in case of the forking
- or xnew
compiler.
- Defaults to the rmic compiler of the Java version that is currently
- running Ant.
- Since Ant 1.8.0.No
-
-
-listfiles
- Indicates whether the source files to be compiled will
- be listed; defaults to
- no
.
- Since Ant 1.8.0.No
-
-
-base
, when specified by
- itself, serves as both the parent directory for any source files
- AND the output directory.destdir
can be used to specify the output
- directory, allowing for base
to be used as the parent
- directory for any source files.base
or destdir
- must be specified and exist, or a runtime error will
- occur.
Rmic
's classpath and extdirs attributes are PATH like structure and can also be set via a nested
-classpath and extdirs elements.
You can specify additional command line arguments for the compiler
-with nested <compilerarg>
elements. These elements
-are specified like Command-line
-Arguments but have an additional attribute that can be used to
-enable arguments only if a given compiler implementation will be
-used.
Attribute | -Description | -Required | -
value | -See - Command-line Arguments. | -Exactly one of these. | -
line | -||
file | -||
path | -||
prefix | -See - Command-line Arguments. - Since Ant 1.8. | -No | -
suffix | -No | -|
compiler | -Only pass the specified argument if the chosen - compiler implementation matches the value of this attribute. - Legal values are the - same as those in the above list of valid - compilers.) | -No | -
A PATH like structure holding the - classpath to use when loading the compiler implementation if a - custom class has been specified. Doesn't have any effect when - using one of the built-in compilers.
- -If a defined type implements the RmicAdapter
- interface a nested element of that type can be used as an
- alternative to the compiler
attribute.
<rmic classname="com.xyz.FooBar" base="${build}/classes"/>-
runs the rmic compiler for the class com.xyz.FooBar
. The
-compiled files will be stored in the directory ${build}/classes
.
<rmic base="${build}/classes" includes="**/Remote*.class"/>-
runs the rmic compiler for all classes with .class
-files below ${build}/classes
whose classname starts with
-Remote. The compiled files will be stored in the directory
-${build}/classes
.
If you want to use a custom
- RmicAdapter org.example.MyAdapter
you can either
- use the compiler attribute:
-<rmic classname="com.xyz.FooBar" - base="${build}/classes" - compiler="org.example.MyAdapter"/> --
or a define a type and nest this into the task like in:
--<componentdef classname="org.example.MyAdapter" - name="myadapter"/> -<rmic classname="com.xyz.FooBar" - base="${build}/classes"> - <myadapter/> -</rmic> --
in which case your compiler adapter can support attributes and - nested elements of its own.
- - - - -- cgit 1.2.3-korg