:microscope: Gradle 7.5 RC1 is out! <https://docs....
# releases
๐Ÿ”ฌ Gradle 7.5 RC1 is out! https://docs.gradle.org/7.5-rc-1/release-notes.html
๐ŸŽ‰ 12
๐Ÿ˜ž 1
Sadly this release has removed support for multiple toml files for version catalogs ๐Ÿ˜ญ which was super invaluable for organising dependencies as opposed to having a single 500-line (in our case) toml file.
๐Ÿ‘€ 1
This doesnโ€™t sound correct. @Octavia Togami can you confirm that multiple catalog files will continue to be supported in 7.5?
They should be, yes.
It seems that some changes were made without my knowledge @kyle, this appears intentional. I think the intended solution here is that each file should be imported to its own catalog, so that there is no potential for conflicts. Importing multiple files into a single catalog is not supported.
yes I meant support was removed for importing multiple files into a single catalog. We use it to organise our dependencies as above while still having it all under one (easy to remember) name
I think the risk of conflicts should be borne by end users and more importantly those risks still exist with single files. Is there any difference in the way conflicts are/shouldBe handled for single files vs multiple when imported into the same catalog?
Conflicts in a single file are resolved by the underlying TOML library, i.e. we do not have any code written to handle conflicts. It seems that the underlying TOML library silently ignores duplicate keys, when it should probably throw as that is invalid TOML. Moreover, your IDE will likely warn you if you duplicate keys in a single-file (it's not valid TOML); but it cannot do the same for multiple files, at least not without extra work.
Bumping this again as this is blocking us from upgrading. We are a monorepo with a ton of modules all with (100s of) dependencies read from a single shared catalog. Managing this was a lot easier before 7.5 because we could split the declarations in multiple files and add them t same catalog.
Is it possible to write a settings plugin to aggregate multiple toml files into before settings evaluation, then use the result to configure the version catalogs?