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

Publish Gradle Module Metadata as configured in jackson-base #618

Merged
merged 1 commit into from
May 23, 2020
Merged

Publish Gradle Module Metadata as configured in jackson-base #618

merged 1 commit into from
May 23, 2020

Conversation

jjohannes
Copy link
Contributor

@@ -1,4 +1,5 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- do_not_remove: published-with-gradle-metadata -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick question here: is this used by a tool, or just informational? Is there a link to something that explains it (could be in different comment if so)? Would be nice to have something for curious minds :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. This line is discovered by Gradle so that it knows that a .module file was published.

If you publish with Gradle, where the POM is generated, you actually get more explanation on the comment. I now added the whole explanation here as well.

@cowtowncoder
Copy link
Member

Looks good, just need CLA (as per comment in PR for jackson-bom) and will merge.

Now, one question on verification: do you think it would possible to create (junit) test(s), possibly in separate project, to verify goodness of added metadata? Test project could use gradle, just another repo under FasterXML, which I could add daily build from Travis, to check that major components of matching minor version (that is, repo would have same branches as Jackson components) would build daily. I have something similar already:

https://github.com/cowtowncoder/jackson-compat-minor

except not automated via daily cron builds, and focused on cross-minor version checks (not very good attempt, but I try to at least check how dataformats work).

The reason I am thinking of adding such repo is that there is currently no automated way to even check that changes in jackson-core or jackson-databind do not break functionality in other Jackson components, without manual build. Signature changes can be caught by IDE (if I have projects open), but not behavioral changes. Regular Travis builds only build component that has changed, not dependencies (it wouldn't know).
But having separate "integration test" project could achieve that, and even if there is some delay (up to 24h), it would tighten the test loop, and reduce need to do constant local builds.

Given possible existence of such project/repo, it'd be great if Gradle module metadata fitness could also be verified (similarly OSGi, if possible, but I'd need help with that too).

@jjohannes
Copy link
Contributor Author

@cowtowncoder I think it is a very good idea to have such an integration test repo and I am happy to contribute a test that runs Gradle to verify that version selection/alignment works as expected. The test can then also cover both cases of using only the POM data (Gradle 5 and below) and the richer metadata (Gradle 6).

I have a PR for Guava open, where I also added a test like that.

@cowtowncoder cowtowncoder merged commit 77bd088 into FasterXML:2.12 May 23, 2020
cowtowncoder added a commit that referenced this pull request May 23, 2020
cowtowncoder added a commit that referenced this pull request May 23, 2020
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