I need this file (platform.jpf) to build the Module

Hello
I need this file (platform.jpf) to build the Module
Can you help me where to find this file or where to download it?

Thanks

Hi @hussam ,

I think your question is about how to load a platform during the build of a module, there are different ways to do that and they are all documented here: Platform Selection — MicroEJ Documentation and Module Natures — MicroEJ Documentation .

As to where to find your platform, you will have to give me more context.

Hope it helps!
Gaëtan for MicroEJ

I started by following the tutorial to create a new firmware project:
Before building the firmware, a target platform must be configured. The easiest way to do it is to copy a platform file into the myfirmware > dropins folder. Such file usually ends with .jpf.

I get this error when I build, so I need this .jpf file

I followed the other methods and it didn’t work

Hi @hussam,

Could you please attach the full console log to this topic?
It also seems you module.ivy file has a wrong descriptor, could you post the file or its content?

What platform are you using? I do not see any in your workspace?

Regards,
Gaëtan

refresh = false

resolving dependencies for configuration ‘default’
== resolving dependencies for myorg#mymodule;0.1.0 [default]
loadData of myorg#mymodule;0.1.0 of rootConf=default
== resolving dependencies myorg#mymodule;0.1.0->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [default->default]
loadData of ej.api#edc;[1.3.3-RC,1.3.4-RC[ of rootConf=default
using myfirmware-ivyde-workspace-chain-resolver (0-server) to resolve ej.api#edc;[1.3.3-RC,1.3.4-RC[
myfirmware-ivyde-workspace-chain-resolver: no namespace defined: using system
found resolved revision in cache: ej.api#edc;[1.3.3-RC,1.3.4-RC[ => 1.3.3
No entry is found in the ModuleDescriptorCache : C:\Users\Ali.microej\caches\repository.microej.com-5\ej.api\edc\ivy-1.3.3.xml
post 1.3 ivy file: using exact as default matcher
found ivy file in cache for ej.api#edc;1.3.3 (resolved by myfirmware-ivyde-workspace-chain-resolver (0-server)): C:\Users\Ali.microej\caches\repository.microej.com-5\ej.api\edc\ivy-1.3.3.xml
checking ej.api#edc;1.3.3 from myfirmware-ivyde-workspace-chain-resolver (0-server) against [none]
module revision kept as first found: ej.api#edc;1.3.3 from myfirmware-ivyde-workspace-chain-resolver (0-server)
found ej.api#edc;1.3.3 in myfirmware-ivyde-workspace-chain-resolver (0-server)
[1.3.3] ej.api#edc;[1.3.3-RC,1.3.4-RC[
== resolving dependencies myorg#mymodule;0.1.0->ej.api#kf;[1.5.1-RC,1.5.2-RC[ [default->default]
loadData of ej.api#kf;[1.5.1-RC,1.5.2-RC[ of rootConf=default
using myfirmware-ivyde-workspace-chain-resolver (0-server) to resolve ej.api#kf;[1.5.1-RC,1.5.2-RC[
found resolved revision in cache: ej.api#kf;[1.5.1-RC,1.5.2-RC[ => 1.5.1
No entry is found in the ModuleDescriptorCache : C:\Users\Ali.microej\caches\repository.microej.com-5\ej.api\kf\ivy-1.5.1.xml
post 1.3 ivy file: using exact as default matcher
found ivy file in cache for ej.api#kf;1.5.1 (resolved by myfirmware-ivyde-workspace-chain-resolver (0-server)): C:\Users\Ali.microej\caches\repository.microej.com-5\ej.api\kf\ivy-1.5.1.xml
checking ej.api#kf;1.5.1 from myfirmware-ivyde-workspace-chain-resolver (0-server) against [none]
module revision kept as first found: ej.api#kf;1.5.1 from myfirmware-ivyde-workspace-chain-resolver (0-server)
found ej.api#kf;1.5.1 in myfirmware-ivyde-workspace-chain-resolver (0-server)
[1.5.1] ej.api#kf;[1.5.1-RC,1.5.2-RC[
[1 → 2] 1.3.3#[1.3.0-RC0,2.0.0-RC0[ interpreted as 1.3.3#compatible
resolving dependencies for configuration ‘default-fw’
== resolving dependencies for myorg#mymodule;0.1.0 [default-fw]
loadData of myorg#mymodule;0.1.0 of rootConf=default-fw
== resolving dependencies myorg#mymodule;0.1.0->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [default-fw->default]
loadData of ej.api#edc;1.3.3 of rootConf=default-fw
== resolving dependencies myorg#mymodule;0.1.0->ej.api#kf;[1.5.1-RC,1.5.2-RC[ [default-fw->default]
loadData of ej.api#kf;1.5.1 of rootConf=default-fw
resolving dependencies for configuration ‘default-vd’
== resolving dependencies for myorg#mymodule;0.1.0 [default-vd]
loadData of myorg#mymodule;0.1.0 of rootConf=default-vd
== resolving dependencies myorg#mymodule;0.1.0->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [default-vd->default]
loadData of ej.api#edc;1.3.3 of rootConf=default-vd
== resolving dependencies myorg#mymodule;0.1.0->ej.api#kf;[1.5.1-RC,1.5.2-RC[ [default-vd->default]
loadData of ej.api#kf;1.5.1 of rootConf=default-vd
resolving dependencies for configuration ‘provided’
== resolving dependencies for myorg#mymodule;0.1.0 [provided]
loadData of myorg#mymodule;0.1.0 of rootConf=provided
== resolving dependencies myorg#mymodule;0.1.0->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [provided->provided]
loadData of ej.api#edc;1.3.3 of rootConf=provided
== resolving dependencies myorg#mymodule;0.1.0->ej.api#kf;[1.5.1-RC,1.5.2-RC[ [provided->provided]
loadData of ej.api#kf;1.5.1 of rootConf=provided
== resolving dependencies ej.api#kf;[1.5.1-RC,1.5.2-RC[->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [provided->default]
loadData of ej.api#edc;1.3.3 of rootConf=provided
== resolving dependencies ej.api#kf;[1.5.1-RC,1.5.2-RC[->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [provided->provided]
loadData of ej.api#edc;1.3.3 of rootConf=provided
== resolving dependencies ej.api#kf;[1.5.1-RC,1.5.2-RC[->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [provided->documentation]
loadData of ej.api#edc;1.3.3 of rootConf=provided
== resolving dependencies ej.api#kf;[1.5.1-RC,1.5.2-RC[->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [provided->dist]
loadData of ej.api#edc;1.3.3 of rootConf=provided
== resolving dependencies ej.api#kf;[1.5.1-RC,1.5.2-RC[->ej.api#edc;[1.3.3-RC,1.3.4-RC[ [provided->source]
loadData of ej.api#edc;1.3.3 of rootConf=provided
resolving dependencies for configuration ‘platform’
== resolving dependencies for myorg#mymodule;0.1.0 [platform]
loadData of myorg#mymodule;0.1.0 of rootConf=platform
resolving dependencies for configuration ‘documentation’
== resolving dependencies for myorg#mymodule;0.1.0 [documentation]
loadData of myorg#mymodule;0.1.0 of rootConf=documentation
resolving dependencies for configuration ‘source’
== resolving dependencies for myorg#mymodule;0.1.0 [source]
loadData of myorg#mymodule;0.1.0 of rootConf=source
resolving dependencies for configuration ‘dist’
== resolving dependencies for myorg#mymodule;0.1.0 [dist]
loadData of myorg#mymodule;0.1.0 of rootConf=dist
resolving dependencies for configuration ‘test’
== resolving dependencies for myorg#mymodule;0.1.0 [test]
loadData of myorg#mymodule;0.1.0 of rootConf=test
resolving dependencies for configuration ‘kernelapi’
== resolving dependencies for myorg#mymodule;0.1.0 [kernelapi]
loadData of myorg#mymodule;0.1.0 of rootConf=kernelapi
== resolving dependencies myorg#mymodule;0.1.0->com.microej.kernelapi#kf;[2.0.3-RC,2.0.4-RC[ [kernelapi->default]
loadData of com.microej.kernelapi#kf;[2.0.3-RC,2.0.4-RC[ of rootConf=kernelapi
using myfirmware-ivyde-workspace-chain-resolver (0-server) to resolve com.microej.kernelapi#kf;[2.0.3-RC,2.0.4-RC[
found resolved revision in cache: com.microej.kernelapi#kf;[2.0.3-RC,2.0.4-RC[ => 2.0.3
No entry is found in the ModuleDescriptorCache : C:\Users\Ali.microej\caches\repository.microej.com-5\com.microej.kernelapi\kf\ivy-2.0.3.xml
post 1.3 ivy file: using exact as default matcher
found ivy file in cache for com.microej.kernelapi#kf;2.0.3 (resolved by myfirmware-ivyde-workspace-chain-resolver (0-server)): C:\Users\Ali.microej\caches\repository.microej.com-5\com.microej.kernelapi\kf\ivy-2.0.3.xml
checking com.microej.kernelapi#kf;2.0.3 from myfirmware-ivyde-workspace-chain-resolver (0-server) against [none]
module revision kept as first found: com.microej.kernelapi#kf;2.0.3 from myfirmware-ivyde-workspace-chain-resolver (0-server)
found com.microej.kernelapi#kf;2.0.3 in myfirmware-ivyde-workspace-chain-resolver (0-server)
[2.0.3] com.microej.kernelapi#kf;[2.0.3-RC,2.0.4-RC[
[1 → 2] 1.4.3#[1.4.0-RC0,2.0.0-RC0[ interpreted as 1.4.3#compatible
[1 → 2] 0.2.1#+ interpreted as 0.2.1#greaterOrEqual
resolving dependencies for configuration ‘systemapp’
== resolving dependencies for myorg#mymodule;0.1.0 [systemapp]
loadData of myorg#mymodule;0.1.0 of rootConf=systemapp
resolving dependencies for configuration ‘systemapp-fw’
== resolving dependencies for myorg#mymodule;0.1.0 [systemapp-fw]
loadData of myorg#mymodule;0.1.0 of rootConf=systemapp-fw
resolving dependencies for configuration ‘systemapp-vd’
== resolving dependencies for myorg#mymodule;0.1.0 [systemapp-vd]
loadData of myorg#mymodule;0.1.0 of rootConf=systemapp-vd
Nbr of module to sort : 3
Sort dependencies of : ej.api#edc;1.3.3 / Number of dependencies = 0
Sort done for : ej.api#edc;1.3.3
Sort dependencies of : ej.api#kf;1.5.1 / Number of dependencies = 1
Module descriptor is processed : ej.api#edc;1.3.3
Sort done for : ej.api#kf;1.5.1
Sort dependencies of : com.microej.kernelapi#kf;2.0.3 / Number of dependencies = 2
Non matching revision detected when sorting. com.microej.kernelapi#kf depends on ej.api#kf;[1.4.3-RC,1.4.4-RC[, doesn’t match ej.api#kf;1.5.1
Sort done for : com.microej.kernelapi#kf;2.0.3
storing dependency ej.api#edc;1.3.3 in props
storing dependency ej.api#kf;1.5.1 in props
storing dependency com.microej.kernelapi#kf;2.0.3 in props
resolved ivy file produced in cache
:: downloading artifacts ::
[Eclipse Workspace resolver] cannot download non-project artifact: ej.api#edc;1.3.3!edc.jar
[Eclipse Workspace resolver] cannot download non-project artifact: ej.api#edc;1.3.3!README.md(markdown)
[Eclipse Workspace resolver] cannot download non-project artifact: ej.api#edc;1.3.3!LICENSE.txt(text)
[Eclipse Workspace resolver] cannot download non-project artifact: ej.api#edc;1.3.3!CHANGELOG.md(markdown)
[NOT REQUIRED] ej.api#edc;1.3.3!edc.jar
[NOT REQUIRED] ej.api#edc;1.3.3!README.md(markdown)
[NOT REQUIRED] ej.api#edc;1.3.3!LICENSE.txt(text)
[NOT REQUIRED] ej.api#edc;1.3.3!CHANGELOG.md(markdown)
[Eclipse Workspace resolver] cannot download non-project artifact: ej.api#kf;1.5.1!kf.jar
[NOT REQUIRED] ej.api#kf;1.5.1!kf.jar
[Eclipse Workspace resolver] cannot download non-project artifact: com.microej.kernelapi#kf;2.0.3!kf.jar
[NOT REQUIRED] com.microej.kernelapi#kf;2.0.3!kf.jar
:: resolution report :: resolve 424ms :: artifacts dl 16ms
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 2 | 0 | 0 | 0 || 0 | 0 |
| default-fw | 2 | 0 | 0 | 0 || 0 | 0 |
| default-vd | 2 | 0 | 0 | 0 || 0 | 0 |
| provided | 2 | 0 | 0 | 0 || 5 | 0 |
| platform | 0 | 0 | 0 | 0 || 0 | 0 |
| documentation | 0 | 0 | 0 | 0 || 0 | 0 |
| source | 0 | 0 | 0 | 0 || 0 | 0 |
| dist | 0 | 0 | 0 | 0 || 0 | 0 |
| test | 0 | 0 | 0 | 0 || 0 | 0 |
| kernelapi | 1 | 0 | 0 | 0 || 1 | 0 |
| systemapp | 0 | 0 | 0 | 0 || 0 | 0 |
| systemapp-fw | 0 | 0 | 0 | 0 || 0 | 0 |
| systemapp-vd | 0 | 0 | 0 | 0 || 0 | 0 |
---------------------------------------------------------------------
Nbr of module to sort : 2
Sort dependencies of : ej.api#edc;1.3.3 / Number of dependencies = 0
Sort done for : ej.api#edc;1.3.3
Sort dependencies of : ej.api#kf;1.5.1 / Number of dependencies = 1
Module descriptor is processed : ej.api#edc;1.3.3
Sort done for : ej.api#kf;1.5.1
report for myorg#mymodule;0.1.0 default produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-default.xml
Nbr of module to sort : 2
Sort dependencies of : ej.api#edc;1.3.3 / Number of dependencies = 0
Sort done for : ej.api#edc;1.3.3
Sort dependencies of : ej.api#kf;1.5.1 / Number of dependencies = 1
Module descriptor is processed : ej.api#edc;1.3.3
Sort done for : ej.api#kf;1.5.1
report for myorg#mymodule;0.1.0 default-fw produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-default-fw.xml
Nbr of module to sort : 2
Sort dependencies of : ej.api#edc;1.3.3 / Number of dependencies = 0
Sort done for : ej.api#edc;1.3.3
Sort dependencies of : ej.api#kf;1.5.1 / Number of dependencies = 1
Module descriptor is processed : ej.api#edc;1.3.3
Sort done for : ej.api#kf;1.5.1
report for myorg#mymodule;0.1.0 default-vd produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-default-vd.xml
Nbr of module to sort : 2
Sort dependencies of : ej.api#edc;1.3.3 / Number of dependencies = 0
Sort done for : ej.api#edc;1.3.3
Sort dependencies of : ej.api#kf;1.5.1 / Number of dependencies = 1
Module descriptor is processed : ej.api#edc;1.3.3
Sort done for : ej.api#kf;1.5.1
report for myorg#mymodule;0.1.0 provided produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-provided.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 platform produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-platform.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 documentation produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-documentation.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 source produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-source.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 dist produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-dist.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 test produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-test.xml
Nbr of module to sort : 1
Sort dependencies of : com.microej.kernelapi#kf;2.0.3 / Number of dependencies = 2
Sort done for : com.microej.kernelapi#kf;2.0.3
report for myorg#mymodule;0.1.0 kernelapi produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-kernelapi.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 systemapp produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-systemapp.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 systemapp-fw produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-systemapp-fw.xml
Nbr of module to sort : 0
report for myorg#mymodule;0.1.0 systemapp-vd produced in C:\Users\Ali.microej\caches\repository.microej.com-5\myorg-mymodule-systemapp-vd.xml
resolve done (424ms resolve - 16ms download)
using internal report instance to get artifacts list
[Eclipse Workspace resolver] cannot download non-project artifact: com.microej.kernelapi#kf;2.0.3!kf.jar(source)
[NOT REQUIRED] com.microej.kernelapi#kf;2.0.3!kf.jar(source)
[Eclipse Workspace resolver] cannot download non-project artifact: com.microej.kernelapi#kf;2.0.3!kf.jar(javadoc)
[NOT REQUIRED] com.microej.kernelapi#kf;2.0.3!kf.jar(javadoc)
[IvyDE] Successful resolve of module.ivy[*] in myfirmware
validate = true

I am reading the chapter on KERNEL DEVELOPER GUIDE to create the firmware

I knew where I went wrong, I skipped the stage of creating the platform
The reason is that microej documentaries are not related to each other
I have to go back and start over

Thanks again for the help :heartpulse: :heartpulse:

Hello @hussam,

Yeah by reading the PDF you were using, I saw that you were using an old version of the documentation because the current one has been reworked and improved: Kernel Developer Guide — MicroEJ Documentation

Happy to help.
Gaëtan for MicroEJ

Also we encountered the same error regarding the parsing of the module descriptor. The issue is related to the JRE/JDK 8.0.331. You will need to downgrade your JRE/JDK for now until we fix this.

Best Regards,
Gaëtan