Get URLs of Resolved Artifacts


(Chris Doré) #1

I’m working on some tooling for our deployments using our product’s software update mechanisms. Many of the artifacts are stored in Artifactory and I could easily resolve a configuration and pass the resulting files over to the update system on the deploy target. I’d like to avoid copying the artifacts to the local system since I have the ability to point the update system at the Artifactory URLs directly.

Is there a way I can resolve a configuration and just get the URLs of all the artifacts?

I’m not too worried about having to use internal APIs if that is required. This is a standalone tool that happens to use Gradle in the background, where the Gradle version will be fixed unless we make an effort to upgrade the tool.


Gradle Enterprise 2018.4 has been released
Identify ResolvedRepository Details
(Patrick Double) #2

Were you able to figure this out? I have a similar situation.


(Chris Doré) #3

@double16, unfortunately no.

We decided not to implement this optimization yet and so we haven’t put too much more effort. I did spend some time digging through the Gradle source but I didn’t find a way to get at the required information (but I’m by no means a Gradle internals expert).

If we do proceed I think we’re going to take the resolved group, name, and version and reconstruct URLs to our Artifactory server. For our use case this should be a workable solution since the set of repositories is very fixed and we know where to get anything that could be resolved.


(Patrick Double) #4

I ended up doing the same. I’m passing the resolved coordinates to the
Artifactory GAVC search. It’s extra calls to Artifactory but it’s also a
local instance so that’s not a big deal.


(Lance Java) #5

I’m not 100% sure but it’s likely that this information can be obtained via an artifact resolution query