Change Maven artifactIds to avoid possible collisions with other libs#8589
Merged
fab-10 merged 6 commits intobesu-eth:mainfrom Jun 4, 2025
Merged
Change Maven artifactIds to avoid possible collisions with other libs#8589fab-10 merged 6 commits intobesu-eth:mainfrom
fab-10 merged 6 commits intobesu-eth:mainfrom
Conversation
2f3ad83 to
90226f9
Compare
90226f9 to
f8ddb21
Compare
garyschulte
approved these changes
May 5, 2025
Contributor
There was a problem hiding this comment.
This LGTM - it will help with forks like op-besu as well.
It is probably worth checking to see what public projects might have dependencies on the current artifactId's. Cursory glance seems like at least a few web3j artifacts have dependencies, shomei, plugins, etc. Definitely worth a warning in the release notes.
f8ddb21 to
6d6dd3a
Compare
Contributor
Author
|
@garyschulte after some research I added to the description the list of known public projects that are using Besu dependencies, and will notify them about the change |
63f9f37 to
4d74fe0
Compare
…r libs Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
…pport to BOM Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
This reverts commit c93c37e. Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
4d74fe0 to
0741532
Compare
Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Gabriel-Trintinalia
added a commit
that referenced
this pull request
Jun 6, 2025
* EIP-7825: Transaction gas limit cap (#8700) * EIP-7825: Transaction gas limit cap Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> * Support transaction gas limit cap when simulating a tx Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> * Do not allow isAllowExceedingGasLimit for when block simulation is strict Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> --------- Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> Co-authored-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> * EIP-7823 - Modexp upper bounds (#8632) Signed-off-by: Simon Dudley <simon.dudley@consensys.net> * Change Maven artifactIds to avoid possible collisions with other libs (#8589) * Improve Maven artifacts naming to avoid possible collisions with other libs Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> * Rename besu subproject to app (#8746) * Rename `besu` module to `app` Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> * Implement percentiles array size limit for eth_feeHistory (#8748) * implement percentiles array size limit for eth_feeHistory Signed-off-by: garyschulte <garyschulte@gmail.com> * Revert "feat: remove chain head check if peer supports eth/69 (#8725)" (#8753) This reverts commit ed1086d. Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> --------- Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net> Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net> Signed-off-by: Simon Dudley <simon.dudley@consensys.net> Signed-off-by: garyschulte <garyschulte@gmail.com> Co-authored-by: Fabio Di Fabio <fabio.difabio@consensys.net> Co-authored-by: Simon Dudley <simon.dudley@consensys.net> Co-authored-by: garyschulte <garyschulte@gmail.com>
This was referenced Jun 12, 2025
Closed
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR description
Currently Besu artifacts are published to Maven, with a
groupId=org.hyperledger.besu[.internal]and theartifactIdis just the name of the subproject, for example:p2p,coreor plugin-api`.That works fine for defining a dependency on any Besu lib using the Maven coordinates, since the couple:
groupId+artifactIdare unique, but there is a potential issue when packaging the project, since very generic artifactIds, likecore,utiland so on, could collide with other project dependencies using the same artifactId and the same calver, since the Maven repository layout states that the jar name is only theartifactId+version, so thegroupIdcould not be used to disambiguate when collecting all the jars needed by the app, as the Gradle distribution plugin does for example.The solution proposed in this PR, is to change the
artifactIdof Besu libs to be automatically set to the project path, that is the concatenation of all the project names from the root to the leaf.This way:
corebecomesbesu-ethereum-coreorplugin-apibecomebesu-plugin-api.This is the approach taken by most common libs like: Vert.x, Netty, etc...
This is a breaking change, since Maven coordinates change and plugins will have to update their dependencies specification.
Known projects that are using Besu dependencies and need to be updated, where possible I will open a PR to update the coordinates and notify the team:
Fixed Issue(s)
Thanks for sending a pull request! Have you done the following?
doc-change-requiredlabel to this PR if updates are required.Locally, you can run these tests to catch failures early:
./gradlew spotlessApply./gradlew build./gradlew acceptanceTest./gradlew integrationTest./gradlew ethereum:referenceTests:referenceTests