https://pantsbuild.org/ logo
b

brief-engineer-67497

12/11/2018, 10:58 AM
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
or
./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
--no-test-junit-fast
. Is there a similar option for compilation ?
e

enough-analyst-54434

12/11/2018, 4:46 PM
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".
b

brief-engineer-67497

12/11/2018, 5:05 PM
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:
f

fancy-queen-20734

12/11/2018, 5:52 PM
That makes sense. Managed dependencies is intended for that purpose. How was the documentation on that for you?
b

brief-engineer-67497

12/11/2018, 6:16 PM
I'll tell you tomorow, the colleague who solved it went home
f

fancy-queen-20734

12/11/2018, 6:17 PM
thanks
b

brief-engineer-67497

12/12/2018, 12:27 PM
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