Class Jmod
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.modules.Jmod
- All Implemented Interfaces:
- Cloneable
Creates a linkable .jmod file from a modular jar file, and optionally from
 other resource files such as native libraries and documents.  Equivalent
 to the JDK's
 jmod
 tool.
 
Supported attributes:
- destFile
- Required, jmod file to create.
- classpath- classpathref
- Where to locate files to be placed in the jmod file.
- modulepath- modulepathref
- Where to locate dependencies.
- commandpath- commandpathref
- Directories containing native commands to include in jmod.
- headerpath- headerpathref
- Directories containing header files to include in jmod.
- configpath- configpathref
- Directories containing user-editable configuration files to include in jmod.
- legalpath- legalpathref
- Directories containing legal licenses and notices to include in jmod.
- nativelibpath- nativelibpathref
- Directories containing native libraries to include in jmod.
- manpath- manpathref
- Directories containing man pages to include in jmod.
- version
- Module version.
- mainclass
- Main class of module.
- platform
- The target platform for the jmod.  A particular JDK's platform
 can be seen by running
 jmod describe $JDK_HOME/jmods/java.base.jmod | grep -i platform.
- hashModulesPattern
- Regular expression for names of modules in the module path which depend on the jmod being created, and which should have hashes generated for them and included in the new jmod.
- resolveByDefault
- Boolean indicating whether the jmod should be one of the default resolved modules in an application. Default is true.
- moduleWarnings
- Whether to emit warnings when resolving modules which are
     not recommended for use.  Comma-separated list of one of more of
     the following:
     - deprecated
- Warn if module is deprecated
- leaving
- Warn if module is deprecated for removal
- incubating
- Warn if module is an incubating (not yet official) module
 
Supported nested elements:
- <classpath>
- Path indicating where to locate files to be placed in the jmod file.
- <modulepath>
- Path indicating where to locate dependencies.
- <commandpath>
- Path of directories containing native commands to include in jmod.
- <headerpath>
- Path of directories containing header files to include in jmod.
- <configpath>
- Path of directories containing user-editable configuration files to include in jmod.
- <legalpath>
- Path of directories containing legal notices to include in jmod.
- <nativelibpath>
- Path of directories containing native libraries to include in jmod.
- <manpath>
- Path of directories containing man pages to include in jmod.
- <version>
- Module version of jmod.
     Must have a required numberattribute. May also have optionalpreReleaseandbuildattributes.
- <moduleWarning>
- Has one required attribute, reason. SeemoduleWarningsattribute above. This element may be specified multiple times.
destFile and classpath are required data.
- Since:
- 1.10.6
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classPermissible reasons for jmod creation to emit warnings.classChild element which enables jmod tool warnings.
- 
Field SummaryFields inherited from class org.apache.tools.ant.ProjectComponentdescription, location, project
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionAdds an unconfigured<classpath>child element which can specify the files which will comprise the created jmod.Creates a child element which can contain a list of directories containing native executable files to include in the created jmod.Creates a child element which can contain a list of directories containing user configuration files to include in the created jmod.Creates a child element which can contain a list of directories containing compile-time header files for third party use, to include in the created jmod.Creates a child element which can contain a list of directories containing license files to include in the created jmod.Creates a child element which can contain a list of directories containing man pages (program manuals, typically in troff format) to include in the created jmod.Creates a child<modulePath>element which can contain a path of directories containing modules upon which modules in the classpath depend.Creates a child element which can specify the circumstances under which jmod creation emits warnings.Creates a child element which can contain a list of directories containing native libraries to include in the created jmod.Creates an uninitialized child element representing the version of the module represented by the created jmod.voidexecute()Creates a jmod file according to this task's properties and child elements.Attribute which specifies the files (usually modular .jar files) which will comprise the created jmod file.Attribute containing path of directories which contain native executable files to include in the created jmod.Attribute containing list of directories which contain user configuration files.Attribute containing the location of the jmod file to create.Attribute containing a regular expression which specifies which of the modules that depend on the jmod being created should have hashes generated and added to the jmod.Attribute containing a path of directories which hold compile-time header files for third party use, all of which will be included in the created jmod.Attribute containing list of directories which hold license files to include in the created jmod.Attribute containing the class that acts as the executable entry point of the created jmod.Attribute containing list of directories containing man pages to include in created jmod.Attribute containing path of directories which contain modules on which the created jmod's constituent modules depend.Attribute containing list of directories which hold native libraries to include in the created jmod.Attribute containing the platform for which the jmod will be built.booleanAttribute indicating whether the created jmod should be visible in a module path, even when not specified explicitly.Attribute which specifies a module version for created jmod.voidsetClasspath(Path path) Sets attribute specifying the files that will comprise the created jmod file.voidsetClasspathRef(Reference ref) Sets classpath attribute from a path reference.voidsetCommandPath(Path path) Sets attribute containing path of directories which contain native executable files to include in the created jmod.voidSets command path from a path reference.voidsetConfigPath(Path path) Sets attribute containing list of directories which contain user configuration files.voidSets configuration file path from a path reference.voidsetDestFile(File file) Sets attribute containing the location of the jmod file to create.voidsetHashModulesPattern(String pattern) Sets attribute containing a regular expression which specifies which of the modules that depend on the jmod being created should have hashes generated and added to the jmod.voidsetHeaderPath(Path path) Sets attribute containing a path of directories which hold compile-time header files for third party use, all of which will be included in the created jmod.voidSets header path from a path reference.voidsetLegalPath(Path path) Sets attribute containing list of directories which hold license files to include in the created jmod.voidsetLegalPathRef(Reference ref) Sets legal licenses path from a path reference.voidsetMainClass(String className) Sets attribute containing the class that acts as the executable entry point of the created jmod.voidsetManPath(Path path) Sets attribute containing list of directories containing man pages to include in created jmod.voidsetManPathRef(Reference ref) Sets man pages path from a path reference.voidsetModulePath(Path path) Sets attribute containing path of directories which contain modules on which the created jmod's constituent modules depend.voidSets module path from a path reference.voidsetModuleWarnings(String warningList) Sets attribute containing a comma-separated list of reasons for jmod creation to emit warnings.voidsetNativeLibPath(Path path) Sets attribute containing list of directories which hold native libraries to include in the created jmod.voidSets native library path from a path reference.voidsetPlatform(String platform) Sets attribute containing the platform for which the jmod will be built.voidsetResolveByDefault(boolean resolve) Sets attribute indicating whether the created jmod should be visible in a module path, even when not specified explicitly.voidsetVersion(String version) Sets the module version for the created jmod.Methods inherited from class org.apache.tools.ant.TaskbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypeMethods inherited from class org.apache.tools.ant.ProjectComponentclone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
- 
Constructor Details- 
Jmodpublic Jmod()
 
- 
- 
Method Details- 
getDestFileAttribute containing the location of the jmod file to create.- Returns:
- location of jmod file
- See Also:
 
- 
setDestFileSets attribute containing the location of the jmod file to create. This value is required.- Parameters:
- file- location where jmod file will be created.
 
- 
createClasspathAdds an unconfigured<classpath>child element which can specify the files which will comprise the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getClasspathAttribute which specifies the files (usually modular .jar files) which will comprise the created jmod file.- Returns:
- path of constituent files
- See Also:
 
- 
setClasspathSets attribute specifying the files that will comprise the created jmod file. Usually this contains a single modular .jar file.The classpath is required and must not be empty. - Parameters:
- path- path of files that will comprise jmod
- See Also:
 
- 
setClasspathRefSets classpath attribute from a path reference.- Parameters:
- ref- reference to path which will act as classpath
 
- 
createModulePath
- 
getModulePathAttribute containing path of directories which contain modules on which the created jmod's constituent modules depend.- Returns:
- path of directories containing modules needed by classpath modules
- See Also:
 
- 
setModulePathSets attribute containing path of directories which contain modules on which the created jmod's constituent modules depend.- Parameters:
- path- path of directories containing modules needed by classpath modules
- See Also:
 
- 
setModulePathRefSets module path from a path reference.- Parameters:
- ref- reference to path which will act as module path
 
- 
createCommandPathCreates a child element which can contain a list of directories containing native executable files to include in the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getCommandPathAttribute containing path of directories which contain native executable files to include in the created jmod.- Returns:
- list of directories containing native executables
- See Also:
 
- 
setCommandPathSets attribute containing path of directories which contain native executable files to include in the created jmod.- Parameters:
- path- list of directories containing native executables
- See Also:
 
- 
setCommandPathRefSets command path from a path reference.- Parameters:
- ref- reference to path which will act as command path
 
- 
createConfigPathCreates a child element which can contain a list of directories containing user configuration files to include in the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getConfigPathAttribute containing list of directories which contain user configuration files.- Returns:
- list of directories containing user configuration files
- See Also:
 
- 
setConfigPathSets attribute containing list of directories which contain user configuration files.- Parameters:
- path- list of directories containing user configuration files
- See Also:
 
- 
setConfigPathRefSets configuration file path from a path reference.- Parameters:
- ref- reference to path which will act as configuration file path
 
- 
createHeaderPathCreates a child element which can contain a list of directories containing compile-time header files for third party use, to include in the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getHeaderPathAttribute containing a path of directories which hold compile-time header files for third party use, all of which will be included in the created jmod.- Returns:
- path of directories containing header files
 
- 
setHeaderPathSets attribute containing a path of directories which hold compile-time header files for third party use, all of which will be included in the created jmod.- Parameters:
- path- path of directories containing header files
- See Also:
 
- 
setHeaderPathRefSets header path from a path reference.- Parameters:
- ref- reference to path which will act as header path
 
- 
createLegalPathCreates a child element which can contain a list of directories containing license files to include in the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getLegalPathAttribute containing list of directories which hold license files to include in the created jmod.- Returns:
- path containing directories which hold license files
 
- 
setLegalPathSets attribute containing list of directories which hold license files to include in the created jmod.- Parameters:
- path- path containing directories which hold license files
- See Also:
 
- 
setLegalPathRefSets legal licenses path from a path reference.- Parameters:
- ref- reference to path which will act as legal path
 
- 
createNativeLibPathCreates a child element which can contain a list of directories containing native libraries to include in the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getNativeLibPathAttribute containing list of directories which hold native libraries to include in the created jmod.- Returns:
- path of directories containing native libraries
 
- 
setNativeLibPathSets attribute containing list of directories which hold native libraries to include in the created jmod.- Parameters:
- path- path of directories containing native libraries
- See Also:
 
- 
setNativeLibPathRefSets native library path from a path reference.- Parameters:
- ref- reference to path which will act as native library path
 
- 
createManPathCreates a child element which can contain a list of directories containing man pages (program manuals, typically in troff format) to include in the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getManPathAttribute containing list of directories containing man pages to include in created jmod. Man pages are textual program manuals, typically in troff format.- Returns:
- path containing directories which hold man pages to include in jmod
 
- 
setManPathSets attribute containing list of directories containing man pages to include in created jmod. Man pages are textual program manuals, typically in troff format.- Parameters:
- path- path containing directories which hold man pages to include in jmod
- See Also:
 
- 
setManPathRefSets man pages path from a path reference.- Parameters:
- ref- reference to path which will act as module path
 
- 
createVersionCreates an uninitialized child element representing the version of the module represented by the created jmod.- Returns:
- new, unconfigured child element
- See Also:
 
- 
getVersionAttribute which specifies a module version for created jmod.- Returns:
- module version for created jmod
 
- 
setVersionSets the module version for the created jmod.- Parameters:
- version- module version of created jmod
- See Also:
 
- 
getMainClassAttribute containing the class that acts as the executable entry point of the created jmod.- Returns:
- fully-qualified name of jmod's main class
 
- 
setMainClassSets attribute containing the class that acts as the executable entry point of the created jmod.- Parameters:
- className- fully-qualified name of jmod's main class
 
- 
getPlatformAttribute containing the platform for which the jmod will be built. Platform values are defined in thejava.base.jmodof JDKs, and usually take the form OS-architecture. If unset, current platform is used.- Returns:
- OS and architecture for which jmod will be built, or null
 
- 
setPlatformSets attribute containing the platform for which the jmod will be built. Platform values are defined in thejava.base.jmodof JDKs, and usually take the form OS-architecture. If unset, current platform is used.A JDK's platform can be viewed with a command like: jmod describe $JDK_HOME/jmods/java.base.jmod | grep -i platform. o *- Parameters:
- platform- platform for which jmod will be created, or- null
 
- 
getHashModulesPatternAttribute containing a regular expression which specifies which of the modules that depend on the jmod being created should have hashes generated and added to the jmod.- Returns:
- regex specifying which dependent modules should have their generated hashes included
 
- 
setHashModulesPatternSets attribute containing a regular expression which specifies which of the modules that depend on the jmod being created should have hashes generated and added to the jmod.- Parameters:
- pattern- regex specifying which dependent modules should have their generated hashes included
 
- 
getResolveByDefaultpublic boolean getResolveByDefault()Attribute indicating whether the created jmod should be visible in a module path, even when not specified explicitly. True by default.- Returns:
- whether jmod should be visible in module paths
 
- 
setResolveByDefaultpublic void setResolveByDefault(boolean resolve) Sets attribute indicating whether the created jmod should be visible in a module path, even when not specified explicitly. True by default.- Parameters:
- resolve- whether jmod should be visible in module paths
 
- 
createModuleWarningCreates a child element which can specify the circumstances under which jmod creation emits warnings.- Returns:
- new, unconfigured child element
- See Also:
 
- 
setModuleWarningsSets attribute containing a comma-separated list of reasons for jmod creation to emit warnings. Valid values in list are:deprecated,leaving,incubating.- Parameters:
- warningList- list containing one or more of the above values, separated by commas
- See Also:
 
- 
executeCreates a jmod file according to this task's properties and child elements.- Overrides:
- executein class- Task
- Throws:
- BuildException- if destFile is not set
- BuildException- if classpath is not set or is empty
- BuildException- if any path other than classpath refers to an existing file which is not a directory
- BuildException- if both- versionattribute and- <version>child element are present
- BuildException- if- hashModulesPatternis set, but module path is not defined
 
 
-