Module Natures¶
This page describes the most common module natures as follows:
- Plugin Name: the build type name, derived from the module nature name:
com.microej.gradle.[NATURE_NAME]
. - Documentation: a link to the documentation.
- Tasks: tasks available from the module nature, with the graph of their relationships.
- Configuration: properties that can be defined to configure the module. Properties are defined inside the
microej
block of thebuild.gradle.kts
file.
Add-On Library¶
Plugin Name: com.microej.gradle.addon-library
Documentation: Libraries
Tasks:
This plugin adds the following tasks to your project:
- tasks of the Gradle Java plugin
- adp
- loadVee
- loadApplicationConfiguration
- runOnSimulator
- loadTestApplicationConfiguration
- checkModule
Configuration:
This module nature inherits from the configuration of all its tasks.
Application¶
Plugin Name: com.microej.gradle.application
Documentation: Standalone Application
Tasks:
This plugin adds the following tasks to your project:
- tasks of the Gradle Java plugin
- adp
- loadVee
- loadApplicationConfiguration
- runOnSimulator
- loadTestApplicationConfiguration
- checkModule
- loadExecutableConfiguration
- buildExecutable
- buildWPK
- buildVirtualDevice
- loadKernelExecutable
- loadFeatureConfiguration
- buildFeature
- runOnDevice
- execTool
- compileWrapperJava
J2SE Library¶
Plugin Name: com.microej.gradle.j2se-library
Tasks:
This plugin adds the following tasks to your project:
- tasks of the Gradle Java plugin
- checkModule
Configuration:
This module nature inherits from the configuration of all its tasks.
Mock¶
Plugin Name: com.microej.gradle.mock
Tasks:
This plugin adds the following tasks to your project:
- tasks of the Gradle Java plugin
- checkModule
- buildMockRip
Configuration:
This module nature inherits from the configuration of all its tasks.
Tasks¶
This page describes the module nature tasks as follows:
- Description: description and link to the related documentation.
- Module Natures: list of Module Natures using this task.
- Configuration: properties that can be defined to configure the task.
adp¶
Description: Executes the Addon Processors.
Inputs:
- The project directory
Outputs:
- The directory for each ADP output type (
build/adp/all/main/java
,build/adp/all/main/resources
,build/adp/all/test/java
,build/adp/all/test/resources
)
Module Natures:
This task is used by the following module natures:
loadVee¶
Description: Loads the VEE.
Inputs:
- The list of VEE archive files or folders.
Outputs:
- The directory where the VEE is copied/extracted (
build/vee
)
Module Natures:
This task is used by the following module natures:
loadApplicationConfiguration¶
Description: Loads the configuration for the Application to execute.
Inputs:
- The extracted VEE Port folder
- The project classpath which contains the MicroEJ dependent application classes and resources
- The Full Qualified Name of the Application main class or Feature class
- The folder containing the application configuration (
configuration
) - The System properties
- The debug mode
- The debug port
Outputs:
- The configuration file with all the properties set to launch the application (
build/properties/target.properties
)
Module Natures:
This task is used by the following module natures:
Configuration:
This task provides the following properties that can be defined in the microej
extension:
Name | Description | Default |
---|---|---|
applicationEntryPoint |
Full Qualified Name of the main class or the Feature class of the application. This option is required. | Not set |
For example:
microej {
applicationEntryPoint = "com.company.Main"
}
runOnSimulator¶
Description: Executes the Application with the Simulator.
Inputs:
- The extracted VEE Port folder
- The configuration file with all the properties set to launch the application (
build/properties/target.properties
)
Module Natures:
This task is used by the following module natures:
loadTestApplicationConfiguration¶
Description: Loads the configuration for the Test Application to execute.
Inputs:
- The extracted VEE Port folder
Outputs:
- The configuration file with all the properties set to launch the test application (
build/testsuite/properties/microej-testsuite.properties
)
Module Natures:
This task is used by the following module natures:
checkModule¶
Description: Checks the compliance of the module.
Inputs:
- The list of the checkers to execute, separated by comas. If not set, all the checkers are executed.
- The list of the checkers to skip, separated by comas.
Module Natures:
This task is used by the following module natures:
Configuration:
This task is not bound by default on any lifecycle task, which means that it should be called explicitly if it must be executed.
This task provides the following properties that can be defined in the microej
extension:
Name | Description | Default |
---|---|---|
checkers |
Comma-separated list of the names of the checkers to execute. An empty list means that all checkers are executed. | "" |
skippedCheckers |
Comma-separated list of the names of the checkers to exclude.
Only one property of checkers and skippedCheckers can be defined. |
"" |
For example:
microej {
checkers = "readme,license"
}
loadExecutableConfiguration¶
Description: Loads the configuration to build the Executable of an Application.
Inputs:
- The extracted VEE Port folder
- The project classpath which contains the MicroEJ dependent application classes and resources
- The Full Qualified Name of the Application main class
- The folder containing the application configuration (
configuration
)
Outputs:
- The configuration file with all the properties set to launch the build of the Executable (
build/properties/target.properties
)
Module Natures:
This task is used by the following module natures:
buildExecutable¶
Description: Builds the Executable of an Application.
Inputs:
- The extracted VEE Port folder
- The configuration file with all the properties set to launch the build of the Executable (
build/properties/target.properties
) - The project build classpath
Outputs:
- The directory in which the Executable file and the build files are generated (
build/executable/application
) - The Zip file containing the generated build files (
build/executable/buildFiles.zip
)
Module Natures:
This task is used by the following module natures:
buildWPK¶
Description: Builds the WPK of the Application.
Inputs:
- The Application name
- The Application version
- The Full Qualified Name of the Application main class or Feature class
- The Application JAR file
- The Application Javadoc
- The Jar files of the Application classpath
- The folder containing the application configuration (
configuration
)
Outputs:
- The WPK of the Application (
build/libs/<application_name>.wpk
)
Module Natures:
This task is used by the following module natures:
buildVirtualDevice¶
Inputs:
- The extracted VEE Port folder
- The WPK of the Application
- The project build classpath
- The WPK of the Applications that must be pre-installed in the Virtual Device
Outputs:
- The Zip file of the Virtual Device (
build/libs/<application_name>-virtualDevice.zip
)
Description: Build the Virtual Device of an Application.
Module Natures:
This task is used by the following module natures:
loadKernelExecutable¶
Description: Loads the Kernel Executable file.
Inputs:
- The list of Kernel Executable files.
Outputs:
- The loaded Kernel Executable file is copied (
build/kernelExecutable/kernel.out
)
Module Natures:
This task is used by the following module natures:
loadFeatureConfiguration¶
Description: Loads the configuration to build the Feature file of an Application.
Inputs:
- The Kernel Virtual Device
- The folder containing the Kernel Executable file (
build/kernelExecutable
) - The project classpath
- The path of the folder where the Feature file must be generated (
build/feature
)
Outputs:
- The configuration file with all the properties set to launch the build of the Feature file (
build/properties/target.properties
)
Module Natures:
This task is used by the following module natures:
buildFeature¶
Description: Build the Feature file of an Application.
Inputs:
- The Kernel Virtual Device
- The folder containing the Kernel Executable file (
build/kernelExecutable
) - The project classpath
Outputs:
- The folder in which the Feature file is generated (
build/feature
)
Module Natures:
This task is used by the following module natures:
runOnDevice¶
Description: Runs the Executable on a Device.
Inputs:
- The extracted VEE Port folder
- The folder containing the Executable file (
build/executable/application
) - The configuration file with all the properties set to launch the build of the Executable (
build/properties/target.properties
)
Module Natures:
This task is used by the following module natures:
buildMockRip¶
Description: Builds the Mock RIP.
Inputs:
- The Mock JAR file
Outputs:
- the RIP file of the Mock (
build/libs/<projectName>-<projectVersion>.rip
)
Module Natures:
This task is used by the following module natures:
execTool¶
Description: Runs the given MicroEJ Tool.
Inputs:
- The extracted VEE Port folder
- The configuration file with all the properties set to launch the application (
build/properties/target.properties
) - The folder containing the application configuration (
configuration
)
Module Natures:
This task is used by the following module natures:
compileWrapperJava¶
Description: Compiles Application wrapper class to be able to run the Application on a VEE Port and a Kernel.
Inputs:
- The project classpath which contains the MicroEJ dependent application classes and resources
Outputs:
- The directory in which the compiled wrapper class is generated (
build/generated/microej-app-wrapper/classes
)
Module Natures:
This task is used by the following module natures:
Global Properties¶
The following properties are available in any module:
Name | Description | Default |
---|---|---|
microejConflictResolutionRulesEnabled |
Boolean to enabled or disabled the MicroEJ conflict resolution rules. | true |
For example:
microej {
microejConflictResolutionRulesEnabled = false
}