Getting all pom files used during updateFull
#7451
Unanswered
timbertson
asked this question in
Q&A
Replies: 1 comment
-
My guess is that POM (including parent POM) files are details of Coursier. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm working on a plugin which supports building sbt projects in an offline, reproducible way using nix. It's a bit like https://github.com/zaninime/sbt-derivation, but with a different underlying approach.
The big thing I want to do is to determine the minimal set of files I need to populate a minimal coursier cache, and then use that cache to build fully offline. I've got a lot of it working based on
updateFull.value
, then iterating over all the configurations / modules / artifacts in the resultingUpdateReport
to extract all the used artifacts.The one thing I'm struggling with is figuring out what pom files are needed in the cache for the resolution process itself (I haven't looked into ivy files yet). For modules with a
.jar
I'm taking a hacky approach where I see if there's an adjacent.pom
file in the cache and include it. But this breaks down on meta-modules like error_prone_parent which don't have any artifacts themselves. I end up missing their.pom
from the cache, which causes resolution to fail.It doesn't look like
updateFull
includes any details on these meta-modules at all. Is there any way I can configure it to include them (or better: report all.pom
s as first-class artifacts)? Or are the details of pom files hidden somewhere in coursier and not exposed by SBT?Beta Was this translation helpful? Give feedback.
All reactions