-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
aws-sdk-java-osgi imports com.amazonaws.jmespath/software.amazon.ion but these are not available as OSGi bundle #979
Comments
The people at lucee.org have made an OSGi version of ion-java which can be used as a workaround and also as inspiration on how to add the OSGi metadata: https://search.maven.org/#artifactdetails%7Corg.lucee%7Csoftware.amazon.ion%7C1.0.1%7Cbundle However there does not seem to be a workaround available for com.amazonaws.jmespath. |
I'll forward this request to the team that publishes ION. |
Note that the same issue also exists with com.amazonaws.jmespath. All the other APIs are embedded in this jar, so it might make more sense so simply include com.amazonaws.jmespath and software.amazon.ion.** as is done with others. |
Ah gotcha. JMESPath we can include. ION isn't something our team owns so I would feel more comfortable importing that normally. |
With 1.11.82 the JMESPath in included but it still lists com.amazonaws.jmespath in the Import-Package in the manifest and that should be removed to resolve this. |
@amit-jain can you link to this? |
Well, I don't know exactly where it comes from when the OSGi jar is generated but you can see it for example in "aws-java-sdk-osgi-1.11.89.jar\META-INF\MANIFEST.MF":
If I try to activate the bundle in AEM 6 it logs an error:
Maybe it has something to do with the fact that "jmespath-java" is still listed as a dependency in https://github.com/aws/aws-sdk-java/blob/master/pom.xml even though it is an internal module now. |
I see the issue now. I pushed a change to fix it a month ago but it got stuck on our staging branch. I have fixed that and it will be part of our next release, tentatively scheduled for today. |
Would be great, thanks! |
The jmespath-java dependency problem in OSGi is fixed now, thanks! Now there is a problem with the json-path dependency activation in OSGi but we can't fix that here. ;) |
Oh I see. Is this for the stepfunctions module? |
Yes, that's correct. json-path seems only to be used in the stepfunctions module. |
What's the error in the activation you're seeing? |
Error:
The Tapestry5 dependency doesn't have OSGi metadata. Unfortunately, the usage of json-path seems to be a major blocker for easy usage of later AWS SDK versions in OSGi environments like AEM. :/ |
@sgliech just coming back on this - it sounds like the fix for this is with json-path and there's not a whole lot we can do from the AWS SDK. Do you agree? Can we close this, SDK related issue? |
Closing due to inactivity. If you still have the JsonPath problem, open a seperate issue as the title of this thread is related to jmespath and ion. Thank you. |
We decided to remove the JsonPath dependency for other reasons so this problem will go away in the next release of the SDK (1.11.116) |
That's great to hear! Thanks for the update! |
@sgliech @bosschaert |
@varunnvs92 |
aws-sdk-java-osgi 1.11.76 has the following OSGi imports:
Import-Package: ...,com.amazonaws.jmespath,...,software.amazon.ion,software.amazon.ion.system
However, there is no aws-provided bundle that exports these packages. com.amazonaws/jmespath-java/1.11.77 and software.amazon.ion/ion-java/1.0.1 are not OSGi bundles as they do not provide the OSGi manifest headers.
Therefore aws-sdk-java-osgi does not resolve and cannot be used in OSGi.
It would be good to add OSGi metadata to the jmespath-java ion-java jar files, or alternatively, include these packages in aws-sdk-java-osgi so that this bundle can resolve again.
Note that this problem exists in version 1.11.76. It did not exist in 1.10.76 or 1.11.4.
The text was updated successfully, but these errors were encountered: