-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation of "160. Feature Launcher Service Specification" ( issues 2, 3, 6, 7, 17 ) #23
Conversation
- Implementation of 'ArtifactRepository' for remote repository type - Providing Feature configuration to the system via Configuration Admin Service - Selecting OSGi framework implementation - Providing Framework Launch Properties - Refactoring / fixes / improvements Signed-off-by: Michael H. Siemaszko <mhs@into.software>
- Implementation of 'ArtifactRepository' for remote repository type - Providing Feature configuration to the system via Configuration Admin Service - Selecting OSGi framework implementation - Providing Framework Launch Properties - Refactoring / fixes / improvements Signed-off-by: Michael H. Siemaszko <mhs@into.software>
- Remove unused dependencies
In addition to PR review comments you may have Tim, here's few items I wanted to mention:
|
src/main/java/com/kentyou/featurelauncher/impl/FeatureLauncherImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/kentyou/featurelauncher/impl/FeatureLauncherImpl.java
Outdated
Show resolved
Hide resolved
src/main/java/com/kentyou/featurelauncher/impl/FeatureConfigurationManager.java
Show resolved
Hide resolved
The issue here is that it forces a download to a local path, which isn’t something we want to require from everyone implementing ArtifactRepository (users can supply their own). I can look and have a think, but it’s likely the spec won’t change here as we prioritise user convenience over implementation convenience.
This is an implementation choice. There will need to be a handler for the spec defined extension so features that use it can start, so it does sound like a good idea to implement it this way. How you communicate the selected framework back is up to you. You could store a copy of the extension in the launch and ask it?
could you not just use a temporary directory if no path is passed in the properties? Do we need a definition for the property name in the specification?
We should change the API. There’s no point letting people pass nonsense!
The configurations can only be created then, but the listener can (and should) be created after the framework has been initialised, but before bundles are started.
This should come from the feature. If the user doesn’t include one, but does include configurations, then the launch should time out and fail. |
- Add timeout for Configuration Manager (default for now) - Refactor of clean storage area for integration tests only - Comment regarding starting Configuration Manager using Framework's bundle context Signed-off-by: Michael H. Siemaszko <mhs@into.software>
I will address your comment regarding remote repository implementation first:
Hopefully, above mentioned puts the other choices I made in implementations shared via this PR more understandable. I proposed adding And, lastly, regarding We can discuss this further on Monday, but hopefully with this additional info I just shared via this and other comments you understand why I made these choices.. and if I am to change something, all this must be taken into consideration, as in most cases that is how I initially wanted to implement these, but it did not work or made it much more ( and unnecessarily so ) difficult / time-consuming. |
- Applied changes discussed during PR #23 review - Refactoring / fixes / improvements Signed-off-by: Michael H. Siemaszko <mhs@into.software>
Most recent commit ( 0c1ac89 ) contains changes discussed during PR #23 review plus refactoring / fixes / improvements:
Therefore, resolving all conversations on this PR review. |
I think this is ready to merge now.
I think that this approach will make a lot more sense once decorator and extension processing are fully implemented. If someone defines a |
@ideas-into-software - can this be merged? |
I will merge it once new PR is delivered, within next 12 hours or so. Is that OK ? It will contain more of the stuff you need for the demo, including OSGi integration tests and Feature Runtime Service. |
Specification feedback has been merged in osgi/osgi@ad6256d including:
|
Implementation of 'ArtifactRepository' for remote repository type
Providing Feature configuration to the system via Configuration Admin Service
Selecting OSGi framework implementation
Providing Framework Launch Properties
Refactoring / fixes / improvements