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
- runOnSimulator
- checkModule
- execTool
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:
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.
Runtime API¶
Plugin Name: com.microej.gradle.runtime-api
Tasks:
This plugin adds the following tasks to your project:
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 |
---|---|---|
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"
}
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"
}
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/feature/application
)
Outputs:
- The generated Feature file (
build/feature/application/application.fo
) - The Zip file containing the generated build files (
build/"libs/<application_name>-feature.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/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/<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.
shrinkRuntimeApi¶
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/runtimeApi/shrunkSources
)
Module Natures:
This task is used by the following module natures:
The shrinkRuntimeApi
task is used internally by the SDK and it is not intended to be executed by the user.
compileRuntimeApi¶
Description: Compiles the Runtime API Kernel APIs.
Inputs:
- The directory in which shrunk Java sources are generated (
build/runtimeApi/shrunkSources
) - The project classpath
Outputs:
- The directory in which shrunk Java classes are generated (
build/runtimeApi/shrunkClasses
)
Module Natures:
This task is used by the following module natures:
The compileRuntimeApi
task is used internally by the SDK and it is not intended to be executed by the user.
buildRuntimeApiJar¶
Description: Builds the Runtime API Jar file.
Inputs:
- The directory in which shrunk Java classes are generated (
build/runtimeApi/shrunkClasses
)
Outputs:
- The Jar file of the Runtime API (
build/libs/<project_name>-<project_version>-runtime-api.jar
)
Module Natures:
This task is used by the following module natures:
The buildRuntimeApiJar
task is used internally by the SDK and it is not intended to be executed by the user.
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
}