Module Natures¶
This page describes the most common module natures as follows:
- Skeleton Name: the project skeleton name.
- Build Type Name: the build type name, derived from the module nature name:
com.is2t.easyant.buildtypes#build-[NATURE_NAME]
. - Documentation: a link to the documentation.
- SDK Menu: the menu to the direct wizard in the SDK (if available). Any module nature can be created with the default wizard from File > New > Module Project.
- Configuration: properties that can be defined to configure the module. Properties are defined inside the
ea:build
tag of the module.ivy file, usingea:property
tag as described in the section Build Options. A module nature also inherits the build options from the listed Natures Plugins.
Add-On Library¶
Skeleton Name: microej-javalib
Build Type Name: com.is2t.easyant.buildtypes#build-microej-javalib
Documentation: MicroEJ Libraries
SDK Menu: File > New > Add-On Library Project
Configuration:
This module nature inherits the build options of the following plugins:
Add-On Processor¶
Skeleton Name: addon-processor
Build Type Name: com.is2t.easyant.buildtypes#build-addon-processor
Configuration:
This module nature inherits the build options of the following plugins:
Foundation Library API¶
Skeleton Name: microej-javaapi
Build Type Name: com.is2t.easyant.buildtypes#build-microej-javaapi
Documentation: MicroEJ Libraries
Configuration:
This module nature inherits the build options of the following plugins:
This module nature defines the following dedicated build options:
Name | Description | Default |
---|---|---|
microej.lib.name | Platform library name on the form: [NAME]-[VERSION]-api .
- [NAME] : name of the implemented Foundation Library API module.
- [VERSION] : version of the implemented Foundation Library API module without patch (Major.minor ). |
Not set |
rip.printableName | Printable name for the Platform Editor. | Not set |
Foundation Library Implementation¶
Skeleton Name: microej-javaimpl
Build Type Name: com.is2t.easyant.buildtypes#build-microej-javaimpl
Documentation: MicroEJ Libraries
Configuration:
This module nature inherits the build options of the following plugins:
This module nature defines the following dedicated build options:
Name | Description | Default |
---|---|---|
microej.lib.implfor | Execution target. Possible values are emb (only on Device), sim (only Simulator) and common (both). | common |
Kernel Application¶
Skeleton Name: firmware-multiapp
Build Type Name: com.is2t.easyant.buildtypes#build-firmware-multiapp
Documentation: Kernel Developer Guide
Configuration:
This module nature inherits the build options of the following plugins:
This module nature defines the following dedicated build options:
Name | Description | Default |
---|---|---|
application.main.class | Full Qualified Name of the main class of the kernel. This option is required. | Not set |
runtime.api.name | Name of the Runtime API of the kernel. This option is ignored when a Runtime API is declared in the dependencies. | RUNTIME |
runtime.api.version | Version of the Runtime API of the kernel. This option is ignored when a Runtime API is declared in the dependencies. | 1.0 |
skip.build.virtual.device | When this property is set (any value), the virtual device is not built. | Not set |
virtual.device.sim.only | When this property is set (any value), the firmware is not built. | Not set |
Meta Build¶
Skeleton Name: microej-meta-build
Build Type Name: com.is2t.easyant.buildtypes#microej-meta-build
Documentation: Meta Build
Configuration:
This module nature defines the following dedicated build options:
Name | Description | Default |
---|---|---|
metabuild.root | Path of the root folder containing the modules to build. | ${basedir}/.. |
private.modules.file | Name of the file listing the private modules to build. | private.modules.list |
public.modules.file | Name of the file listing the public modules to build. | public.modules.list |
Mock¶
Skeleton Name: microej-mock
Build Type Name: com.is2t.easyant.buildtypes#build-microej-mock
Documentation: Mock
Configuration:
This module nature inherits the build options of the following plugins:
Module Repository¶
Skeleton Name: artifact-repository
Build Type Name: com.is2t.easyant.buildtypes#build-artifact-repository
Documentation: Module Repository
Configuration:
This module nature inherits the build options of the following plugins:
This module nature defines the following dedicated build options:
Name | Description | Default |
---|---|---|
architecture.configurations.includes [1] | Comma-separated list of configurations to include for the Architecture modules.
Set dist,eval or dist,prod to include only evaluation or production Architectures or dist,eval,prod to include both. |
dist,eval |
bar.check.as.v2.module | When this property is set to true, the artifact checker uses the MicroEJ Module Manager semantic. | false |
bar.javadoc.dir | Path of the folder containing the generated javadoc. | ${target}/javadoc |
bar.notification.email.from | The email address used as the from address when sending the notification emails. | Not set |
bar.notification.email.host | The hostname of the mail service used to send the notification emails. | Not set |
bar.notification.email.password | The password used to authenticate on the mail service. | Not set |
bar.notification.email.port | The port of the mail service used to send the notification emails | Not set |
bar.notification.email.ssl | When this property is set to true, SSL/TLS is used to send the notification emails. | Not set |
bar.notification.email.to | The notification email address destination. | Not set |
bar.notification.email.user | The username used to authenticate on the mail service. | Not set |
bar.populate.from.resolver | Name of the resolver used to fetch the modules to populate the repository. | fetchRelease |
bar.populate.ivy.settings.file | Path of the Ivy settings file used to fetch the modules to populate the repository. | ${project.ivy.settings.file} |
bar.populate.repository.conf | Ivy configuration of included repositories. The modules of the repositories declared as dependency with this configuration are included in the built repository. | repository |
bar.test.haltonerror | When this property is set to true, the artifact checker stops at the first error. | false |
javadoc.excludes | Comma-separated list of packages to exclude from the javadoc. | Empty string |
javadoc.includes | Comma-separated list of packages to include in the javadoc. | ** (all packages) |
javadoc.modules.excludes [2] | Comma-separated list of modules to exclude from the javadoc. | Empty string |
skip.artifact.checker | When this property is set to true, all artifact checkers are skipped. | Not set |
skip.email | When this property is set (any value), the notification email is not sent.
Otherwise the bar.notification.* properties are required. |
Not set |
skip.javadoc | Prevents the generation of the javadoc. | false |
skip.javadoc.deprecated | Prevents the generation of any deprecated API at all in the javadoc. | true |
[1] | Require SDK version 5.4.0 or higher. |
[2] | Require SDK version 5.6.0 or higher. |
Runtime Environment¶
Skeleton Name: runtime-api
Build Type Name: com.is2t.easyant.buildtypes#build-runtime-api
Documentation: Runtime Environment
Configuration:
This module nature inherits the configuration properties of the following plugins:
Sandboxed Application¶
Skeleton Name: application
Build Type Name: com.is2t.easyant.buildtypes#build-application
Documentation: Sandboxed Application
SDK Menu: File > New > Sandboxed Application Project
Configuration:
This module nature inherits the build options of the following plugins:
Standalone Application¶
Skeleton Name: firmware-singleapp
Build Type Name: com.is2t.easyant.buildtypes#build-firmware-singleapp
Documentation: Standalone Application
SDK Menu: File > New > Standalone Application Project
Configuration:
This module nature inherits the build options of the following plugins:
This module nature defines the following dedicated build options:
Name | Description | Default |
---|---|---|
application.main.class | Full Qualified Name of the main class of the application. This option is required. | Not set |
skip.build.virtual.device | When this property is set (any value), the virtual device is not built. | Not set |
virtual.device.sim.only | When this property is set (any value), the firmware is not built. | Not set |
[3] | (1, 2, 3, 4, 5, 6) Require SDK version 5.5.0 or higher. |
Natures Plugins¶
This page describes the most common module nature plugins as follows:
- Documentation: link to documentation.
- Module Natures: list of Module Natures using this plugin.
- Configuration: properties that can be defined to configure the module. Properties are defined inside the
ea:build
tag of the module.ivy file, usingea:property
tag as described in the section Build Options.
Java Compilation¶
Module Natures:
This plugin is used by the following module natures:
- Add-On Library
- Foundation Library API
- Foundation Library Implementation
- Standalone Application
- Sandboxed Application
Configuration:
This plugin defines the following build options:
Name | Description | Default |
---|---|---|
javac.debug.level | Comma-separated list of levels for the Java compiler debug mode. | lines,source,vars |
javac.debug.mode | When this property is set to true, the Java compiler is set in debug mode. | false |
src.main.java | Path of the folder containing the Java sources. | ${basedir}/src/main/java |
Platform Loader¶
Documentation: Platform Selection
Module Natures:
This plugin is used by the following module natures:
Configuration:
This plugin defines the following build options:
Name | Description | Default |
---|---|---|
platform-loader.platform.dir | Path of the folder to unzip the loaded platform to. | ${target}/platform |
platform.loader.skip.load.platform | When this property is set to true, the platform is not loaded. It must be already available in the directory defined by the property platform-loader.platform.dir .
Use with caution: the platform content may be modified during the build (e.g. in case of Testsuite or Virtual Device build). |
false |
platform-loader.target.platform.conf | The Ivy configuration used to retrieved the platform if fetched via dependencies. | platform |
platform-loader.target.platform.dir | Path of the root folder of the platform to use in the build. See Platform Selection section for Platform Selection rules. | Not set |
platform-loader.target.platform.dropins | Absolute or relative (to the project root folder) path of the folder where the platform can be found (see Platform Selection). | dropins |
platform-loader.target.platform.file | Path of the platform file to use in the build. See Platform Selection section for Platform Selection rules. | Not set |
Javadoc¶
Module Natures:
This plugin is used by the following module natures:
Configuration:
This plugin defines the following build options:
Name | Description | Default |
---|---|---|
src.main.java | Path of the folder containing the Java sources. | ${basedir}/src/main/java |
javadoc.file.encoding | Encoding used for the generated Javadoc. | UTF-8 |
javadoc.failonerror | When this property is set to true, the build is stopped if an error is raised during the Javadoc generation. | true |
javadoc.failonwarning | When this property is set to true, the build is stopped if a warning is raised during the Javadoc generation. | false |
target.reports | Path of the base folder for reports. | ${target}/reports |
target.javadoc | Path of the base folder where the Javadoc is generated. | ${target.reports}/javadoc |
target.javadoc.main | Path of the folder where the Javadoc is generated. | ${target.javadoc}/main |
javadoc-microej.overview.html | Path of the HTML template file used for the Javadoc overview page. | ${src.main.java}/overview.html if exists, otherwise a default template. |
target.artifacts | Path of the packaged artifacts. | ${target}/artifacts |
target.artifacts.main.javadoc.jar.name | Name of the packaged JAR containing the generated Javadoc (stored in folder target.artifacts ). |
${module.name}-javadoc.jar |
javadoc.publish.conf | Ivy configuration used to publish the Javadoc artifact. | documentation |
Test Suite¶
Documentation: Test Suite with JUnit
Module Natures:
This plugin is used by the following module natures:
- Add-On Library
- Foundation Library API
- Foundation Library Implementation
- Standalone Application
- Sandboxed Application
Configuration:
This plugin defines the following build options:
Name | Description | Default |
---|---|---|
microej.testsuite.cc.excludes.classes | Pattern of classes excluded from the code coverage analysis. | Not set |
microej.testsuite.timeout | The time in seconds before a test is considered as failed. Set it to 0 to disable the timeout. |
60 |
microej.testsuite.properties.s3.cc.activated | When this property is set to true, the code coverage analysis is enabled. | true |
cc.src.folders | Path to the folders containing the Java sources used for code coverage analysis. | Java source folder (src/main/java ) and Add-On Processor generated source folders (src-adpgenerated/* ) [4] |
microej.testsuite.verbose | When this property is set to true, the verbose trace level is enabled. | false |
test.run.excludes.pattern | Pattern of classes excluded from the test suite execution. | Empty string (no test) |
test.run.failonerror | When this property is set to true, the build fails if an error is raised. | true |
test.run.includes.pattern | Pattern of classes included in the test suite execution. | **/* (all tests) |
skip.test | When this property is set (any value), the tests are not executed. | Not set |
[4] | Option cc.src.folders is not set by default for SDK versions lower than 5.5.0 . |
J2SE Unit Tests¶
Warning
This plugin is reserved for tools written in Java Standard Edition.
Tests classes must be created in the folder src/test/java
of the project.
See Test Suite section for MicroEJ tests.
Module Natures:
This plugin is used by the following module natures:
Configuration:
This plugin defines the following build options:
Name | Description | Default |
---|---|---|
test.run.excludes.pattern | Pattern of classes excluded from the test suite execution. | Empty string (no test) |
test.run.failonerror | When this property is set to true, the build fails if an error is raised. | true |
test.run.includes.pattern | Pattern of classes included in the test suite execution. | **/* (all tests) |
skip.test | When this property is set (any value), the tests are not executed. | Not set |
Artifact Checker¶
Module Natures:
This plugin is used by the following module natures:
- Add-On Library
- Foundation Library API
- Standalone Application
- Sandboxed Application
- Module Repository
Configuration:
This plugin defines the following build options:
Name | Description | Default |
---|---|---|
run.artifact.checker | When this property is set (any value), the artifact checker is executed. | Not set |
skip.addonconf.checker | When this property is set to true, the addon configurations checker is not executed. | Not set |
skip.changelog.checker | When this property is set to true, the changelog checker is not executed. | Not set |
skip.foundationconf.checker | When this property is set to true, the foundation configurations checker is not executed. | Not set |
skip.license.checker | When this property is set to true, the license checker is not executed. | Not set |
skip.publicconf.checker | When this property is set to true, the public configurations checker is not executed. | Not set |
skip.readme.checker | When this property is set to true, the readme checker is not executed. | Not set |
skip.retrieve.checker | When this property is set to true, the retrieve checker is not executed. | Not set |
Global Build Options¶
The following Build Options are available in any module:
Name | Description | Default |
---|---|---|
target |
Path of the build directory target~ . |
${basedir}/target~ |