Skip to content

fix: make module attribute string encoding deterministic - #127

Merged
bodewig merged 1 commit into
apache:masterfrom
raboof:fix-deterministic-extra-dependency-attributes
Jul 10, 2026
Merged

fix: make module attribute string encoding deterministic#127
bodewig merged 1 commit into
apache:masterfrom
raboof:fix-deterministic-extra-dependency-attributes

Conversation

@raboof

@raboof raboof commented Jul 9, 2026

Copy link
Copy Markdown
Member

This value makes it into the pom.xml's extraDependencyAttributes property at least for SBT, and it'd be good to have this be deterministic: aside from general hygiene, generating them bit-by-bit reproducibly helps validating no malware was sneaked into the artifacts. This is also called 'Reproducible Builds' (https://reproducible-builds.org/)

This value makes it into the `pom.xml`'s `extraDependencyAttributes`
property at least for SBT, and it'd be good to have this be
deterministic: aside from general hygiene, generating them bit-by-bit
reproducibly helps validating no malware was sneaked into the artifacts.
This is also called 'Reproducible Builds' (https://reproducible-builds.org/)
@bodewig

bodewig commented Jul 9, 2026

Copy link
Copy Markdown
Member

I'm really not opposed to making things more deterministic, although Ivy and Ant itself probably have a long way to go to make reproducible builds easier.

But I currently fail to make the connection between the code you changed and extraDependencyAttributes. Grepping for the string in Ivy's code base doesn't find anything.

Please note the SBT fork of Ivy is based on a pretty old version of Ivy.

@bodewig

bodewig commented Jul 9, 2026

Copy link
Copy Markdown
Member

https://github.com/sbt/librarymanagement/blob/2b23ada9ab5ae2615823d44c82a18cd325e567e6/ivy/src/main/scala/sbt/internal/librarymanagement/mavenint/PomExtraDependencyAttributes.scala#L127 likely is the connection I was missing.

Regardless of whether we merge the PR or not, you will need to ensure the SBT folks pick it up as well.

@raboof

raboof commented Jul 9, 2026 via email

Copy link
Copy Markdown
Member Author

@bodewig

bodewig commented Jul 10, 2026

Copy link
Copy Markdown
Member

We mention people who have contributed in the release notes. Is this fine with you and is "Arnout Engelen" the name I shall use?

@bodewig
bodewig merged commit 9bba2ae into apache:master Jul 10, 2026
@raboof

raboof commented Jul 10, 2026 via email

Copy link
Copy Markdown
Member Author

@bodewig

bodewig commented Jul 10, 2026

Copy link
Copy Markdown
Member

thank you

@bodewig

bodewig commented Jul 15, 2026

Copy link
Copy Markdown
Member

@raboof if you talk to the SBT Ivy people. you may want them to pick up 8644f1b as well because of CVE-2026-26032

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