2 ms·
I have taken a huge liking to Mill. It is a build tool written in Scala, but it is not only for Scala at all. The author’s blog post is quite informative (https
by kaba0 3y ago
I have taken a huge liking to Mill. It is a build tool written in Scala, but it is not only for Scala at all. The author’s blog post is quite informative (https://www.lihaoyi.com/post/SoWhatsSoSpecialAboutTheMillScalaBuildTool.html https://www.lihaoyi.com/post/SoWhatsSoSpecialAboutTheMillSca... ), but the core idea is that a functional program’s call stack maps one-to-one to a build description, where functions are build steps.
Something as simple as
def cSources = ..
def compile() = T {
proc(“gcc”, cSources(), “-o”, outputBinary)
Path(outputBinary) // last expression is result
}
def link() = T {
// similar to previous one, using compile() somewhere
}
will automagically convert this description into a build graph, that can be executed parallel and cached.
- zelphirkalt 3y agoDoes written in Scala mean, that you need the JVM to run it? That would make it a no-go for many projects.
- kaba0 3y agoWhat project couldn’t include it as a build-time only dependency?