-
Notifications
You must be signed in to change notification settings - Fork 159
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
Refactor build script. #528
Refactor build script. #528
Conversation
a7231b3
to
51ae9f5
Compare
publications { | ||
create<MavenPublication>("mavenJava") { | ||
from(components["java"]) | ||
artifact(tasks["uberJar"]) |
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.
what will the artifact classifier
be for the uber jar? Assuming the non-uber jar will be the artifact with classifier=jar
correct?
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.
Their classifiers are ''
, 'uber'
, and 'javadoc'
.
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.
Users can add them in three different ways.
implementation("com.github.stellar:java-stellar-sdk:0.41.0")
implementation("com.github.stellar:java-stellar-sdk:0.41.0:uber")
implementation("com.github.stellar:java-stellar-sdk:0.41.0:javadoc")
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.
awesome, would you mind just adding a note for this in pending section in the CHANGELOG.md, so users can choose between the legacy behavior with dependency of com.github.stellar:java-stellar-sdk:0.41.0:uber
or if they want 'thin' jar and transitive dependency management then com.github.stellar:java-stellar-sdk:0.41.0
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.
I have updated the changelog, but ubar jar is different from the previous shadow jar in that it does not relocate third-party dependencies.
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.
this looks great, just wondering about how to describe this in CHANGELOG.md, its not necessarily breaking, for many sdk users, the dependencies should resolve at build time, but we should state if they have any explicit deps declared against same nested dependency tree as this project, then they may run into runtime classloader issue to be aware of?
I think they may encounter dependency conflicts, but I believe this can be resolved. Additionally, based on my testing, I successfully imported the thin jar from jitpack into an android template project without any conflicts. |
# Conflicts: # build.gradle # src/main/java/org/stellar/sdk/responses/sorobanrpc/SimulateTransactionResponse.java
Changelog: