Suggestions on managing third-party binary dependencies


(tinkerer.tech) #1

My build depends on some third party binaries that are on the network share, outside of my artifact repository. One way to handle this is to zip it up, apply some version, and check it into my artifact repo and then use it as part of my builds. However, it is a huge fileTree containing lib directory that contains some of the needed jars, etc. When specifying local file dependencies I’d use -

dependencies {

compile files(‘libs/a.jar’, ‘libs/b.jar’)

compile fileTree(dir: ‘libs’, include: ‘*.jar’) } However, what are my options when using remote fileTree, whether on the network or checked into a repo? During the build process, I want to be able to pull down the third party folders zip, unzip it, recontruct the fileTree into my local workspace, and tell my builds to use the local fileTree, like above. There must be something easy I could be overlooking… what is the ‘conventional’ approach for builds that depend on big third party binaries that cannot be checked into source control.


(Rolf Suurd) #2

You could install Nexus (http://www.sonatype.org/nexus/), or any other artifact management system.


(tinkerer.tech) #3

yeah probably should consider moving all my scattered artifacts into Artifactory.


(Baruch Sadogursky) #4

There are at least 2 more binary repositories to mention, and Nexus doesn’t look like the best option, specially for Gradle.