So I’d like to do some openhab development, my end goal is to build openhab and the addons and run it (so I can try patching an addon)
Anyways, I’m not familiar with eclipse, and the setup directions don’t really seem to make sense. I installed eclipse through my distro’s package manager, so I open it and I get a blank welcome thing. There is never a question that lets me select “Openhab development” during install or through the some project installer. The openhab setup directions seem to imply you just install eclipse, then at some point it asks what you want and you just select openhab which never happens.
Where I am now is I tried cloning a bunch of repos, and I found out that clicking “File->Import”, and do “from git (smart)” lets me clone openhab-distro, that seems to get me to the next screen in the directions where I see app.bndrun. After installing a bunch of eclipse plugins (not in the openhab docs) I get it to open, but I still can’t run it. Specifically I see these warnings:
Description
Resource
Path
Location
Type
Build path specifies execution environment JavaSE-11. There are no JREs installed in the workspace that are strictly compatible with this environment.
org.openhab.demo.app
Build path
JRE System Library Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:assembly (execution: default-assembly, phase: process-resources)
pom.xml
/openhab
line 108
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: default-features-generate-descriptor, phase: compile)
pom.xml
/addons
line 19
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: default-features-generate-descriptor, phase: compile)
pom.xml
/distro
line 36
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: default-features-generate-descriptor, phase: compile)
pom.xml
/distro-kar
line 29
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: default-features-generate-descriptor, phase: compile)
pom.xml
/openhab-addons
line 49
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: generate-features-file, phase: generate-resources)
pom.xml
/addons
line 34
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: generate-features-file, phase: generate-resources)
pom.xml
/distro
line 51
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: generate-features-file, phase: generate-resources)
pom.xml
/distro-kar
line 51
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:features-generate-descriptor (execution: generate-features-file, phase: generate-resources)
pom.xml
/openhab-addons
line 71
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:verify (execution: default-verify, phase: compile)
pom.xml
/addons
line 19
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:verify (execution: default-verify, phase: compile)
pom.xml
/distro
line 36
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:verify (execution: default-verify, phase: compile)
pom.xml
/distro-kar
line 29
Maven Project Build Lifecycle Mapping Problem
Plugin execution not covered by lifecycle configuration: org.apache.karaf.tooling:karaf-maven-plugin:4.3.7:verify (execution: default-verify, phase: compile)
pom.xml
/openhab-addons
line 49
Maven Project Build Lifecycle Mapping Problem
Project ‘distributions’ has no explicit encoding set
distributions
/distributions
No explicit project encoding
Project ‘launch’ has no explicit encoding set
launch
/launch
No explicit project encoding
The compiler compliance specified is 11 but a JRE 17 is used
org.openhab.demo.app
Compiler Compliance
JRE Compiler Compliance Problem
And trying to just run it anyways gets me a whole bunch of errors (like all the dependencies are missing), an example error is:
Status ERROR: org.bndtools.launch code=0 org.ops4j.pax.logging.pax-logging-api;version=[2.0.16,2.0.17) Not found in [bnd-cache [/home/edman007/.bnd/default-ws/cnf/cache/6.3.1/bnd-cache r/w=false]]
That’s repeated for every single thing in the Maven Dependencies directory…so I’m a bit confused.
So can someone help, I suspect either I’m cloning/importing the project incorrectly or there is some special button that needs to be run to download all the dependencies.
Do you mean the eclipse setup documentation page ?: Eclipse IDE | openHAB
And if so what isn’t you did not understand?
If you install eclipse via your distribution you’ll get the eclipse provided with your distribution. This will skip the eclipse installer and explains why you didn’t see any openHAB options.
If you go to install via the eclipse installer don’t select the latest eclipse, but take an older version, as there seems to be some issue with recent versions of eclipse and openHAB development.
So I installed “Java IDE for developers”, so starting at the next step:
In step 6 I don’t have a Github Projects menu, is this supposed to be via the File->Import Menu? That’s the closest I have, but there is no Github Projects, the following step, step 7, seems related to that and again I don’t get that. Can this be accessed some other way?
I assumed that i just need to clone it from github, is openhab-distro the correct top level repository to clone? There is no Openhab Development repository on github
Step 8 says accept licenses, cloning from git doesn’t install plugins/extensions, I had to install bndtools manually, is there other SW that’s required to be installed into eclipse other than bndtools? Is there some automatic way to select these?
Under “Running addons” it says “under the infrastructure folder”, I don’t have an Infrastructure folder, is it important? How do i get it?
When I get to step 2 of the addon’s section, adding a dependency gives me a pom error that it can’t find the dependency…anyways, I’m continuing without any addons because I want it to run
At step 3 it says I should have stuff in browse repos, but I don’t, the only error I have is Maven reports it can’t find any of the dependencies in bnd-cache, nothing ever told me how to download those dependencies (but they appear to be in the Maven dependency folder that eclipse shows), how do I download them and get them in the cache? This appears to be an eclipse configuration error that isn’t documented in the openhab documentation.
As for the eclipse version, do you have a recommended version to install? I’m on 2022.09 right now
[Edit]
Downgraded to 2022.03, same issues so far, however with a few other imports and exports, the first time it’s imported I also get this error
No marketplace entries found to handle karaf-maven-plugin:4.3.7:assembly in Eclipse. Please see Help for more information.
I’m guessing I have to install that into eclipse…but eclipse doesn’t handle it automatically? That wasn’t in the docs either.
I had JDK11 installed, but eclipse didn’t see it and tried to use whatever eclipse shipped with which understandably made everything upset.
So set JDK11 as the default in Window->Preferences->Java->Installed JREs, then import the openhab-distro github repo (that threw a few errors about karaf-maven-plugin which I ignored). Then I ran app.bndrun, that told me to install bndtools, restart eclipse, and then right click on org.openhab.demo.app and Maven->Update Project. I did this using eclipse 2022.03, and I guess that version crashes after installing bndtools. But it works otherwise.
Description Resource Path Location Type
Missing artifact org.eclipse.orbit.bundles:net.i2p.crypto.eddsa:jar:0.3.0.v20220506-1020 pom.xml /org.openhab.demo.app line 3 Maven Dependency Problem