admin-announcements

Announcements from the Clojurians Admin Team (@U11BV7MTK @U077BEWNQ @U050TNB9F @U0ETXRFEW @U04V70XH6 @U8MJBRSR5 and others)
crimeminister 2015-09-25T14:19:37.000478Z

Anyone seen an example in the wild of using Boot with a top level build.boot that calls a subsidiary project build task? Have got a monorepo with a bunch of libraries and apps within and am trying to decide if Boot is a good fit for build tooling for a system laid out like this.

martinklepsch 2015-09-25T14:21:36.000479Z

@crimeminister: "subsidiary project build task” you mean like a boot task somewhere else in the project sources?

martinklepsch 2015-09-25T14:25:47.000481Z

@crimeminister: I think @juhoteperi wrote something that builds multiple modules/libraries from a single source tree.

crimeminister 2015-09-25T14:28:55.000482Z

@martinklepsch I have a top level directory with distinct library and application projects (along with devops stuff, VM/container creation, etc.), rather than a single Clojure repo with multiple projects nestled within, if that makes sense

crimeminister 2015-09-25T14:29:47.000483Z

Will take a look around in case @juhoteperi has published something, thanks for the tip!

martinklepsch 2015-09-25T14:31:11.000484Z

@crimeminister: I don’t really understand what you want to do

martinklepsch 2015-09-25T14:31:39.000485Z

@crimeminister: building jars? calling shell scripts? …?

crimeminister 2015-09-25T14:32:18.000486Z

Something analogous to how Bazel works (http://bazel.io)

crimeminister 2015-09-25T14:32:40.000487Z

All of those, and more… 😁

crimeminister 2015-09-25T14:34:01.000488Z

More simply, from a project root, building a project at /foo based on the contents of /foo/build.boot

crimeminister 2015-09-25T14:34:32.000489Z

and a project at /bar based on /bar/build.boot

crimeminister 2015-09-25T14:35:16.000490Z

so that /foo and /bar are effectively standalone projects

crimeminister 2015-09-25T14:35:33.000491Z

That just happened to be nestled in a single containing repo

crimeminister 2015-09-25T14:36:05.000492Z

Of course, am a total Boot n00b, this might not be idiomatic or desirable…

crimeminister 2015-09-25T14:39:28.000493Z

But it could be nice to have a top level /build.boot that knows how to delegate the building of subsystems by calling their own build configs

crimeminister 2015-09-25T14:39:38.000494Z

Anyways, thanks again!

martinklepsch 2015-09-25T14:41:06.000496Z

if you put the tasks you use for building your projects into require’able clojure files you can require them in a top-level build.boot file as well as any other build.boot file. I guess it’s a bit more nuanced than that but usually “there is a way” :simple_smile:

martinklepsch 2015-09-25T14:41:26.000497Z

@crimeminister: there’s also a #C053K90BR channel FYI

crimeminister 2015-09-25T14:49:17.000498Z

Cool, it escaped me that straight forward (:require) might do the trick, was assuming explicit support for that feature was needed. Off to #C053K90BR I go to lurk 🐊