Skip to content

Do not expect package com.oracle.svm at OSGi runtime #699

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

Merged
merged 1 commit into from
Jun 4, 2020

Conversation

gurkerl83
Copy link
Contributor

In the current build process, some SVM substitutions got integrated to generate a native-image of the library. From an OSGi perspective, the integration of Oracles, respectively, Graal's substrate dependency causes an unintentional statement in the manifest.mf of the build result expecting a package called com.oracle.svm.

This pull request adjusts the osgi.bnd file to avoid the com.oracle.svm package from being required when the bundle gets executed in an OSGi runtime.

In the current build process, some SVM substitutions got integrated to generate a native-image of the library. From an OSGi perspective, the integration of Oracles, respectively, Graal's substrate dependency causes an unintentional statement in the manifest.mf of the build result expecting a package called com.oracle.svm.

This pull request adjusts the osgi.bnd file to avoid the com.oracle.svm package from being required when the bundle gets executed in an OSGi runtime.

Expose also drivers internal package

Libraries such as neo4j-ogm and its modules neo4j-ogm-bolt-driver and neo4j-ogm-bolt-native-types require access to the internal package of the neo4j java driver. To hide the internal package from the outside world classes used in neo4j-ogm such as InternalBookmark, Scheme has to be relocated to different package in further refactoring. For now, in OSGi work with neo4j-ogm and the bolt driver, especially the entire internal module, has to be exposed.
@gurkerl83 gurkerl83 force-pushed the Fix-Import-Package(OSGi) branch from cf6fc37 to ae5fa6c Compare May 7, 2020 14:28
@michael-simons
Copy link
Contributor

Hi @gurkerl83 Thanks so much for your contribution. I didn't know about that bundle mechanism.

Would you please be so kind and follow the instructions here to sign our CLA: https://neo4j.com/developer/cla/ and comment on the PR here?

CI will build things afterwards.

@michael-simons michael-simons self-assigned this May 18, 2020
@gurkerl83
Copy link
Contributor Author

Hi, @michael-simons I signed the CLA, thx!

@michael-simons
Copy link
Contributor

I'm so sorry to pester you again because of that small and nice PR.

You found a couple of issues in our whitelist check (by not having a name in your GH account (which is totally fine)) and by the fact that the commit to be merged is made with another account (markus-gritsch).

Is that you? If so, I add that account to the whitelist check as well.

@gurkerl83
Copy link
Contributor Author

Hi, @michael-simons , both usernames (gurkerl83 and markus-gritsch) are me, thx!

@gjmwoods gjmwoods merged commit c9ff8e7 into neo4j:4.1 Jun 4, 2020
gjmwoods pushed a commit to gjmwoods/neo4j-java-driver that referenced this pull request Jun 4, 2020
In the current build process, some SVM substitutions got integrated to generate a native-image of the library. From an OSGi perspective, the integration of Oracles, respectively, Graal's substrate dependency causes an unintentional statement in the manifest.mf of the build result expecting a package called com.oracle.svm.

This pull request adjusts the osgi.bnd file to avoid the com.oracle.svm package from being required when the bundle gets executed in an OSGi runtime.

Expose also drivers internal package

Libraries such as neo4j-ogm and its modules neo4j-ogm-bolt-driver and neo4j-ogm-bolt-native-types require access to the internal package of the neo4j java driver. To hide the internal package from the outside world classes used in neo4j-ogm such as InternalBookmark, Scheme has to be relocated to different package in further refactoring. For now, in OSGi work with neo4j-ogm and the bolt driver, especially the entire internal module, has to be exposed.

Co-authored-by: gurkerl83 <markus_gritsch@gmx.de>
gjmwoods added a commit that referenced this pull request Jun 8, 2020
In the current build process, some SVM substitutions got integrated to generate a native-image of the library. From an OSGi perspective, the integration of Oracles, respectively, Graal's substrate dependency causes an unintentional statement in the manifest.mf of the build result expecting a package called com.oracle.svm.

This pull request adjusts the osgi.bnd file to avoid the com.oracle.svm package from being required when the bundle gets executed in an OSGi runtime.

Expose also drivers internal package

Libraries such as neo4j-ogm and its modules neo4j-ogm-bolt-driver and neo4j-ogm-bolt-native-types require access to the internal package of the neo4j java driver. To hide the internal package from the outside world classes used in neo4j-ogm such as InternalBookmark, Scheme has to be relocated to different package in further refactoring. For now, in OSGi work with neo4j-ogm and the bolt driver, especially the entire internal module, has to be exposed.

Co-authored-by: gurkerl83 <markus_gritsch@gmx.de>
Co-authored-by: gurkerl83 <gurkerl83@googlemail.com>
@gurkerl83 gurkerl83 deleted the Fix-Import-Package(OSGi) branch June 10, 2020 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants