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

[BEANUTILS-523]: fix osgi Bundle-SymbolicName #202

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

SingingBush
Copy link
Contributor

No description provided.

@garydgregory
Copy link
Member

Hello @SingingBush
Thank you for your PR.
This kind of change looks pretty generic. Is this something that can be handled in the parent POM instead? This would then benefit all Commons components.

@SingingBush
Copy link
Contributor Author

potentially. It would make sense if the module name and the OSGI bundle match up.

I suspect the cause of the BEANUTILS-523 bug may have been down to the maven-bundle-plugin defaulting to:

    <Bundle-SymbolicName>
        ${pom.groupId}.${pom.artifactId}
    </Bundle-SymbolicName>

perhaps there was a change in plugin version or something in parent pom that differed between the 19.3 and 1.9.4 release.

After making the change I checked the manifest to make sure that the symbolic name was as expected but I didn't go as far as to check anything else about the OSGI info. It's perhaps worth comparing MANIFEST.MF files in the last few releases and current builds of master.

Due to the fact that the incorrect symbolic name broke osgi for the 1.9.4 release, it's worth branching off that tag, applying any required changes for OSGI (make sure to use org.apache.commons.beanutils) and releasing as 1.9.5. Someone with more OSGI experience than me should help with that (I'm more interested in JPMS than OSGI).

Since the 1.9.4 release the codebase, it seems that org.apache.commons.beanutils2 is the way to go. At least that's what's been set for the module name. If that's correct it probably means the symbolic name should be the same and new versions released as 2.*.

tbh, I never liked this thing Apache does of adding numbers to the end of artifactId's. The maven releases have numbers anyway, just use semver.

@garydgregory
Copy link
Member

tbh, I never liked this thing Apache does of adding numbers to the end of artifactId's. The maven releases have numbers anyway, just use semver.

There is no other way to avoid "jar hell" when a new major release signals it is breaking binary compatibility. Anything else would be a world of pain and madness.

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.

2 participants