How To Generate an Environment Report
The microejEnvironment task describes the environment of a MicroEJ project in a single file,
meant to be attached to a troubleshooting or bug report.
It is available only from version 1.8.0 of the SDK 6.
It saves you from collecting by hand the versions, paths, and settings that are asked for when
investigating an issue.
The task is available on every project that applies a MicroEJ Gradle plugin.
Generate the Report
The task requires no additional configuration.
It is declared in the MicroEJ group:
From the command line interface:
$ ./gradlew microejEnvironment
The task collects the live state of the host, the IDE, and the resolved dependencies. It writes the same report in two formats and prints both locations:
build/reports/microej/microej-environment.md, in Markdown, to be read or attached to a bug report.build/reports/microej/microej-environment.json, in JSON, to be processed by a tool.
Report Content
The Markdown report is made of the following sections:
JVM: the JDK version, vendor, location, and language version, whether it is a JDK or a JRE, and the default locale and file encoding.
OS: the operating system name, version, and architecture.
Gradle: the Gradle version running the build, followed by a table of the build-relevant environment variables:
JAVA_HOME,GRADLE_USER_HOME,GRADLE_OPTS,JAVA_OPTS,LANG, andLC_ALL, plus any variable whose name starts withMICROEJ.MicroEJ: the MicroEJ Gradle plugin version, the VEE Port, the Architecture and its version, the capability, the runtime capability, and the Kernel version. A value that does not apply to the project is reported as
n/a. The report is also generated on a project that declares no VEE Port, such as a library, with these values reported asn/a.IDE: the IDEs detected from their metadata files in the project root directory.
Dependencies & Repositories: one dependency tree per resolved configuration, followed by the repositories the modules are resolved from (Module repositories) and the repositories the Gradle plugins are resolved from (Plugin repositories). A version conflict is shown as
requested -> selected, and a subtree already printed elsewhere in the same configuration is marked with(*).Privacy: the list of values that were hidden, with the number of occurrences of each.
Sensitive Information
The report is meant to be shared, so values that have no diagnostic value but could expose a secret are hidden:
The user name is replaced with
<USER>where it appears as the home directory segment of a path, such as/home/<USER>/orC:\Users\<USER>\.Credentials embedded in a URL are replaced with
<REDACTED>, keeping the scheme, host, and path.Environment variables outside the allow-list given above are excluded entirely.
All MicroEJ technical information is reported in full. The Privacy section lists what was hidden, so a sensitive value can be told apart from a missing one.
Example
Here is an excerpt of a report:
# MicroEJ Environment Report
_Generated for troubleshooting. Sensitive values are redacted; see **Privacy** below._
## JVM
| Property | Value |
| --- | --- |
| JDK version | 11.0.25 |
| JDK vendor | Eclipse Adoptium |
| JDK location | C:\Users\<USER>\jdk-11.0.25.9-hotspot |
| Language version | 11 |
| Is JDK | true |
| Locale | en-US |
| File encoding | UTF-8 |
## MicroEJ
| Property | Value |
| --- | --- |
| Plugin version | 1.8.0 |
| VEE Port | com.microej.veeport.st.stm32f7508-dk:M5QNX_eval:2.2.0 |
| Architecture | n/a |
| Architecture version | n/a |
| Capability | eval |
| Runtime capability | n/a |
| Kernel version | n/a |
## IDE
- IntelliJ IDEA
## Dependencies & Repositories
### runtimeClasspath
```text
\--- ej.library.ui:widget:5.6.1
+--- ej.library.ui:mwt:3.6.0 -> 3.6.1
\--- ej.library.ui:motion:4.0.1 (*)
```
Module repositories:
| Name | URL |
| --- | --- |
| MicroEJCentral | https://repository.microej.com/modules/ |
| MavenRepo | https://repo.maven.apache.org/maven2/ |
Plugin repositories:
| Name | URL |
| --- | --- |
| MicroEJPlugins | https://repository.microej.com/modules/ |
## Privacy
The following sensitive values were hidden. All MicroEJ technical information is reported in full.
| What was hidden | Occurrences |
| --- | --- |
| OS username replaced with <USER> in file paths. | 3 |
| Environment variables outside the build-relevant allow-list were excluded. | 62 |



