-
Notifications
You must be signed in to change notification settings - Fork 33
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
feat(build): make Apache Uber JAR OSGi-compliant #701
Conversation
fb17ea1
to
c0be003
Compare
example-osgi/README.md
Outdated
|
||
```sh | ||
mvn clean install -DskipTests -pl algoliasearch-apache,algoliasearch-apache-uber | ||
mvn clean install -DskipTests -pl algoliasearch-apache,algoliasearch-apache-uber |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Except for this small duplicated line, all looks good to me!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for all the research on this topic! Looking great. 💯
Question: Do we plan to deploy the bundle along the other jars or do we let our users build it by their-self?
example-osgi/pom.xml
Outdated
<version>3.9.0</version> | ||
</dependency> | ||
</dependencies> | ||
</project> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: missing blank line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Following the requests made by some recent users, this commit changes the `pom.xml` configuration of our `algoliasearch-apache-uber` module in order to make it installable as a valid OSGi bundle. To ensure this works, we have created a new `example-osgi` directory. This project is a "Hello World"-like OSGi bundle application which depends on the `algoliasearch-apache-uber` module at runtime. It contains both the code and a detailled `README.md` on how to install, build and deploy such application from scratch, using the Apache Karaf OSGi-application runner.
Thanks for the kind words @Ant-hem. :) No I don't think we should deploy it to Maven Central for now since this is just a demo OSGi application to ensure our Apache Uber JAR is a valid OSGi bundle. In other words, no one will ever need to import this For now, this PR is just a first step: showing how to build and integrate our unmodified Apache Uber JAR into an OSGi application. In the future, if we have the time to investigate if OSGi applications have a common way to fetch dependencies from Maven repositories, we'll do that as a second step. |
@aallam @Ant-hem @BenoitPerrot Any last minute comment / question before I merge? |
Let's go. It's a great first step, we can still iterate on it in the future. |
Nice work! especially the detailed steps in the README :D |
Following the requests made by some recent users, this commit changes
the
pom.xml
configuration of ouralgoliasearch-apache-uber
module inorder to make it installable as a valid OSGi bundle.
To ensure this works, we have created a new
example-osgi
directory.This project is a "Hello World"-like OSGi bundle application which
depends on the
algoliasearch-apache-uber
module at runtime. Itcontains both the code and a detailled
README.md
on how to install,build and deploy such application from scratch, using the Apache Karaf
OSGi-application runner.