Hello, I have a dependency issue. We have differen...
# general
Hello, I have a dependency issue. We have different apps that uses different versions of elasticsearch, hence the given '3rdparty/jvm/org/elasticsearch/BUILD' . If I run
./pants compile app1
./pants compile app2
, each one using a different version of elasticsearch, it works fine. However If I run
./pants compile ./::
(this is what we want to do in our CI) then the compilation of the app using the v 1.6 fails as if it found a higher version with a different api. I suspect it to be a problem similar to the one I had with
./pants test ./::
where I had weird linking problem that I solved using
. Is there a similar option for compilation ?
There is not. Folks tend to use a CI setup like the one described here: https://www.pantsbuild.org/orgs.html - search for "Continuous Integration".
yup, saw that. we will definitively do that for our pull request (excluding targets tagged as integration) but we have a cron task that rebuild everything and perform integration tests. Anyway the problem was solved with a mix of force and managed dependencies:
That makes sense. Managed dependencies is intended for that purpose. How was the documentation on that for you?
I'll tell you tomorow, the colleague who solved it went home
managed dependencies vs managed libraries was a bit confusing and the interest of the former seems a bit lost. Other than that it is pretty complete