3 ms·
Not ubiquitous and missing shortcuts. How do you compile 5 JVM projects in different JVM languages, sharing different configured sets of potentially hundreds of
by kodablah 9y ago
Not ubiquitous and missing shortcuts. How do you compile 5 JVM projects in different JVM languages, sharing different configured sets of potentially hundreds of libraries across the classpath and make sure there are no versioning conflicts? Shortcuts are required, they just don't need to hide everything.
- na85 9y agoI guess I'd compile them like anything else: using Make to invoke the compiler. Checking versions can be accomplished by using awk or another tool to compare output from $compiler --version. What am I missing?
- sk5t 9y agoYour makefile / build script would grow so complex so as to start reimplementing maven or gradle.
- dcow 9y agoWhat if two things share a dependency?
- na85 9y agoDo you mean a conflicting dependency in one of my 5 projects? If so, it's on me to pay that technical debt and fix my own crap. If the dependency doesn't conflict, then my package manager takes care of it.
- pas 9y agoIn the JVM world it's not uncommon to have different sets of versions of the same libraries for different but dependent projects. And it's not a problem, because classloading is hierarchical and so different versions can live side by side even inside one JVM. And a lot of Java/Groovy/Scala/Kotlin libs are on Maven Central, but not packaged for let's say CentOS/Ubuntu/Debian/etc. So the package manager for JVM is Ivy (ivy2), or full Maven (which is basically ivy + a task runner).