Skip to content
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

Resurrect OSGI support #1852

Closed
jrudolph opened this issue Feb 12, 2018 · 4 comments
Closed

Resurrect OSGI support #1852

jrudolph opened this issue Feb 12, 2018 · 4 comments
Labels
3 - in progress Someone is working on this ticket discuss Tickets that need some discussion before proceeding help wanted Identifies issues that the core team will likely not have time to work on t:build Issues that affect the build

Comments

@jrudolph
Copy link
Member

OSGI support regularly breaks during releasing (or even used to break the released artifacts without notice), which is the worst time for breakage. We therefore removed OSGI support while releasing 10.1.0-RC1.

If someone cares enough for OSGI support, please step up as a maintainer of Akka HTTP OSGI support. We'll need help with:

  • adding back sbt OSGI support fixing the problem that happened during the last release
  • integrate OSGI checks with the PR validation and/or nightly builds checking that
    • releasing will still work at any time
    • OSGI metadata is correct, i.e. we need executable tests that verify that the emitted metadata is correct and works in an actual OSGI setup
  • ongoing commitment to maintain the OSGI setup and help diagnose and fix OSGI release issues
@jrudolph jrudolph added help wanted Identifies issues that the core team will likely not have time to work on discuss Tickets that need some discussion before proceeding t:build Issues that affect the build labels Feb 12, 2018
@oheger
Copy link
Contributor

oheger commented May 21, 2018

Hi, just to let you know, I have started working on this - especially on automated OSGi integration tests. I have created a repository for doing some experiments here.
The basic idea is to have a project that depends on akka and akka-http. The sbt build collects the (transitive) dependencies and copies them in a directory. From there they are picked up by a PaxExam test and deployed in an Apache Felix OSGi container. The test then starts an HTTP server and executes a request against it.
The advantage of this approach is that not only akka-http but all its dependencies are checked for OSGi compliance (namely the akka bundles). Here I currently face some problems because the OSGi meta data for akka-streams and ssl-config-core is broken (I have created PRs for these issues).
If you agree to this approach, we can discuss how to integrate this test in the build of akka-http; I haven't yet looked into this.

@ktoso
Copy link
Member

ktoso commented May 22, 2018

This sounds pretty good; I skimmed the code and I assume it does the right thing... Thanks for linking to the PaxExam page, it seems like it would do the job.

Definitely submit a PR and let's try to integrate soon

@ktoso ktoso added the 3 - in progress Someone is working on this ticket label May 22, 2018
@oheger
Copy link
Contributor

oheger commented May 22, 2018

Ok, I will start with a PR (hopefully tomorrow) that re-enables the OSGi plugin and fixes the problem with the Require-Capability header. Then the build should again produce valid OSGi bundles.

johanandren added a commit that referenced this issue Jun 5, 2018
johanandren added a commit that referenced this issue Jun 5, 2018
Falmarri pushed a commit to Falmarri/akka-http that referenced this issue Sep 26, 2018
The commits that removed OSGi support are reverted. The
Require-Capability header has been fixed.
Falmarri pushed a commit to Falmarri/akka-http that referenced this issue Sep 26, 2018
The project currently contains a task to collect all dependencies and
store them as jars in a dedicated folder. This is a prerequisite for
the OSGi integration test, which needs to deploy all these jars as
bundles.
Falmarri pushed a commit to Falmarri/akka-http that referenced this issue Sep 26, 2018
This class uses PaxExam to deploy akka-http and all its dependencies
in an Apache Felix OSGi container. It then creates a test HTTP server
and interacts with it.
Falmarri pushed a commit to Falmarri/akka-http that referenced this issue Sep 26, 2018
Falmarri pushed a commit to Falmarri/akka-http that referenced this issue Sep 26, 2018
@ennru
Copy link
Member

ennru commented Nov 22, 2022

Future versions of Akka and Akka HTTP will not support OSGi.

@ennru ennru closed this as completed Nov 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - in progress Someone is working on this ticket discuss Tickets that need some discussion before proceeding help wanted Identifies issues that the core team will likely not have time to work on t:build Issues that affect the build
Projects
None yet
Development

No branches or pull requests

4 participants