Hacker News new | past | comments | ask | show | jobs | submit login

Thanks for this comment, as not yet having got into Scala myself, I had to read between the lines to figure out what the problem was here. I thought "Ok, you don't have binary compatibility, so recompile your dependencies. Sure, it may extend your build time somewhat, but it shouldn't make it impossible to use dependencies or test pre-release builds..."

Oh, you don't _have_ the source? Well, there's your problem.

A good reminder of what some of us take for granted in our development environments, I guess.




You have the source, but the Maven model used by the whole Java ecosystem for distribution/management of packages doesn't work like that. And replacing it with something else isn't a small feat.


> You have the source, but the Maven model used by the whole Java ecosystem for distribution/management of packages doesn't work like that.

Oh, I don't know about that. Clojure does this; shipping source is default, and shipping bytecode is only done in cases of certain Java interop forms.

But Maven has a notion of "classifiers" that seem to be a good fit for this. I've seen them used to specify things like "this is the JDK 1.4-compatible version", so I wonder why Scala library authors haven't used them to publish the same artifact compiled against multiple versions of Scala.


Does clojure use maven for shipping source around?


Yes, the source is just stored in jar files, which can contain any kind of files.


'Jar' files are actually zip files with a '.jar' extension. On my Windows machine I have .jar associated with a zip application, very handy to quickly inspect its contents.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: