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
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:
Java SE Library
Plugin Name: com.microej.gradle.jse-library
Tasks:
This plugin adds the following tasks to your project:
tasks of the Gradle Java plugin
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
Configuration:
This module nature inherits from the configuration of all its tasks.
Runtime Environment
Plugin Name: com.microej.gradle.runtime-environment
Tasks:
This plugin adds the following tasks to your project:
tasks of the Gradle Java plugin
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:
The loadVee
task is used internally by the SDK and it is not intended to be executed by the user.
runOnSimulator
Description: Executes the Application with the Simulator.
Inputs:
The extracted VEE 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
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 |
---|---|---|
|
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"
}
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 |
---|---|---|
|
Comma-separated list of the names of the checkers to execute. An empty list means that all checkers are executed. |
|
|
Comma-separated list of the names of the checkers to exclude.
Only one property of |
|
For example:
microej {
checkers = "readme,license"
}
buildApplicationObjectFile
Description: Build the object file of the 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 EntryPoint
The folder containing the application configuration (
configuration
)
Outputs:
The object file (.o) of the Application and the archive of the build files (
build/application/object/bsp/lib/microejapp.o
)The Zip file containing the generated build files (
build/application/applicationObjectBuildFiles.zip
)
Module Natures:
This task is used by the following module natures:
The buildApplicationObjectFile
task is used internally by the SDK and it is not intended to be executed by the user.
buildExecutable
Description: Builds the Executable of an Application.
Inputs:
The extracted VEE Port folder
The folder containing the application configuration (
configuration
)The object file (.o) of the Application
Outputs:
The directory in which the Executable file and the build files are generated (
build/application/executable
)
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
Description: Builds the Virtual Device of an Application.
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
)
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:
The loadKernelExecutable
task is used internally by the SDK and it is not intended to be executed by the user.
buildFeature
Description: Builds 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/application/feature
)
Outputs:
The generated Feature file (
build/application/feature/application.fo
)The Zip file containing the generated build files (
build/libs/<application_name>-buildFiles.zip
)
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/application/executable
)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/<project_name>-<project_version>.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:
generateApplicationWrapper
Description: Generates the Application Wrapper to be able to run the Application on a VEE Port and a Kernel.
Inputs:
The Application EntryPoint
The configuration directory of the project
The project classpath which contains the MicroEJ dependent application classes and resources
Outputs:
The directory in which the Wrapper Java class has been generated (
build/generated/microej-app-wrapper/java
)The directory in which the Wrapper resources have been generated (
build/generated/microej-app-wrapper/resources
)
Module Natures:
This task is used by the following module natures:
The generateApplicationWrapper
task is used internally by the SDK and it is not intended to be executed by the user.
compileWrapperJava
Description: Compiles the Application Wrapper to be able to run the Application on a VEE Port and a Kernel.
Inputs:
The directory containing the Wrapper Java class (
build/generated/microej-app-wrapper/java
)
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:
The compileWrapperJava
task is used internally by the SDK and it is not intended to be executed by the user.
shrinkRuntimeEnvironment
Description: Shrinks the Java source files according to the provided Kernel APIs.
Inputs:
Project Kernel API (
src/main/resources/kernel.api
)Project Java sources (
src/main/java
)The Kernel API files of the Runtime classpath.
Outputs:
The directory in which shrunk Java sources are generated (
build/runtimeEnvironment/shrunkSources
)
Module Natures:
This task is used by the following module natures:
The shrinkRuntimeEnvironment
task is used internally by the SDK and it is not intended to be executed by the user.
compileRuntimeEnvironment
Description: Compiles the Runtime Environment Kernel APIs.
Inputs:
The directory in which shrunk Java sources are generated (
build/runtimeEnvironment/shrunkSources
)The project classpath
Outputs:
The directory in which shrunk Java classes are generated (
build/runtimeEnvironment/shrunkClasses
)
Module Natures:
This task is used by the following module natures:
The compileRuntimeEnvironment
task is used internally by the SDK and it is not intended to be executed by the user.
buildRuntimeEnvironmentJar
Description: Builds the Runtime Environment Jar file.
Inputs:
The directory in which shrunk Java classes are generated (
build/runtimeEnvironment/shrunkClasses
)
Outputs:
The Jar file of the Runtime Environment (
build/libs/<project_name>-<project_version>-runtime-environment.jar
)
Module Natures:
This task is used by the following module natures:
The buildRuntimeEnvironmentJar
task is used internally by the SDK and it is not intended to be executed by the user.
buildFeatureFromWPK
Description: Builds the Feature binary file from a dependent Application.
Inputs:
The Kernel Virtual Device
The folder containing the Kernel Executable file (
build/kernelExecutable
)The WPK of the dependent Application
The path of the folder where the Feature file must be generated (
build/application/wpkFeature
)
Outputs:
The generated Feature file (
build/application/wpkFeature/application.fo
)The Zip file containing the generated build files (
build/libs/wpkFeature-buildFiles.zip
)
Module Natures:
This task is used by the following module natures:
Global Properties
The following properties are available in any module:
Name |
Description |
Default |
---|---|---|
|
Boolean to enabled or disabled the MicroEJ conflict resolution rules. |
|
For example:
microej {
microejConflictResolutionRulesEnabled = false
}