eclipse-kura / kura

Eclipse Kura™ is a versatile framework to supercharge your edge devices, streamlining the process of configuring your gateway, connecting sensors, and IoT devices to seamlessly collect, process, and send data to the cloud.
https://eclipse.dev/kura/
Eclipse Public License 2.0
499 stars 306 forks source link

Update emulator launch configs #292

Closed dwoodard1 closed 7 years ago

dwoodard1 commented 8 years ago

The emulators should be updated to include the Camel libraries and use the new web UI by default.

cdealti commented 8 years ago

@dwoodard1 Launch configs are always broken. I've never found a working launch config for Linux in my life. Ideas?

dwoodard1 commented 8 years ago

@cdealti I think it just has to become part of the release process. We need to test the emulators and make sure they work for each release. If we change bundle versions but don't update the *.launch files, the emulators won't work. I suppose we could consider creating the launch files as part of the build, to ensure they are setup correctly.

cdealti commented 8 years ago

@dwoodard @ctron @MMaiero Anyone has an idea on how to fix this crap?

ctron commented 8 years ago

Not to a 100%. But I think an important first step is to reduce the number of launcher. That is how is looks in my workspace: kura_launcher

Doing that will help maintaining a working launcher configuration. Next, I you check in changes for the launcher, explain what was done. So that you can understand the intended changes.

dwoodard1 commented 8 years ago

I think that is part of the confusion, we only have two launch files (one for OSX and one for Linux). For some reason, they are shown multiple times in Eclipse. @ctron Any ideas on why this happens?

Another issue is related to keeping the selected bundles up to date. As we change versions of bundles, this isn't always reflected in the .launch files. That is why I propose creating the .launch files as part of the build.

A third problem is that we have property files passed to the JVM as arguments. The path to these files are different based on how the emulators are setup. For the user workspace development environment, we can probably assume the files are physically in the Eclipse workspace so ${workspace_loc}/path_to_file can be used. However, this assumption can't be made for the source code emulators as the more appropriate variable is ${git_work_tree}.

These are the issues I frequently see, if you know of others please let me know.

ctron commented 8 years ago

Eclipse does pick up those files, not depending on the location in the file system but in the workspace. Having them multiple time in the workspace, by using child projects, makes them appear multiple times. And then you have the issue of files being copied over from some resource location to "target". Which in addition gets picked up. Searching through your workspace probably brings up a few more than just two files. It does in mine.

I suggest you have a look at the "Eclipse Kura Emulator" config, I was using ${project_loc:distrib} instead of either "workspace_loc" or "git_work_tree". "project_loc" does give you the best way, depending only on the projects in your workspace. So you don't need to take care of checkout locations or the workspace.

Do you mean, creating them automatically?

The biggest issues I have with the launch configs is that sometimes bundles get added or removed and that identifying that can be a nightmare, since all that information is actually stored in one single line in the file. So one needs to be careful making changes to that file.

cdealti commented 7 years ago

@dwoodard1 if you mean the launch configs for the committer workspace (as opposed to the dev env) I believe this should be postponed.