Clojurians
#boot
<
2016-07-08
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

richiardiandrea00:07:32

so differences with tenzing, I have three .main.edn files here that compile three things

richiardiandrea00:07:56

these files are in a src/common that is in both :source-paths (backend and frontend)

richiardiandrea00:07:43

I don't think there is anything to do here btw, as that require if interpreted as clj require...wants clj files that are not on the classpath in my case

avabinary07:07:50

hi guys ! how do you deal with separate plugins packed into jars ? do you use pods ?

alandipert13:07:11

@avabinary: you mean like multiple tasks in the same library? yeah pods are one way to split up deps, if the tasks have separate sets of them

mobileink17:07:41

would it be completely insane to use boot to build a c/c++ app? I'm having to deal with scons, and it makes me sad. I miss boot.

richiardiandrea18:07:24

@mobileink: I use boot for launching docker images so I guess there is nothing more side-effecting than that :smile:

mobileink18:07:48

yeah, I can't see anything in principle that would be a showstopper. But how to deal with standard autoconf-style stuff like checking for a header or lib? would it be worth it to reproduce autoconf check macros (apparently the scons folks thought so). If one were to do this, would boot add anything, or just reproduce the same thing?

alandipert18:07:28

I used boot to build an awk program once

alandipert18:07:32

I was able to put #{foo bar} at the top of files, comment to awk but a set to clojure, so in my task that concatenated files I could read the first form of every file and build a dep graph

alandipert18:07:23

but yeah i think it's an awesome idea to use boot for even non-jvm tasks, personally

alandipert18:07:53

at the very least you could run othre tools inside boot tasks and build up a chain of tasks that just shell out

mobileink18:07:07

world domination!

mobileink18:07:21

clojure as the build meta-language, even for other languages. I think there's something there there.

mobileink18:07:21

as an added bonus, it would pissed off a lot of people if it worked. ;)

petrus18:07:31

How do I use any of the heroku boot buildpacks? https://github.com/pandeiro/heroku-buildpack-boot

stuarthalloway19:07:51

where can I find some good examples showing running code inside a pod?

stuarthalloway19:07:17

(.require pod "clojure.main")
ClassCastException Cannot cast java.lang.String to [Ljava.lang.String;  java.lang.Class.cast (Class.java:3369)

stuarthalloway19:07:44

…having some trouble with the docs just getting started^^

micha19:07:54

@stuarthalloway: there are two interfaces to pods, high and low level

micha19:07:06

the high level interface is boot.po/with-eval-in

stuarthalloway19:07:10

for once I just want to do simple stuff :slightly_smiling_face:

stuarthalloway19:07:22

but I do need to start with a require

micha19:07:09

(with-eval-in mypod
  (require '[my.lib :as lib])
  (lib/doit :forever))

micha19:07:04

the pod environment is mutated when you evaluate that

micha19:07:14

the namespace compiled in the pod's clojure runtime etc

stuarthalloway19:07:39

@micha: and one more thing, set the ns

micha19:07:01

the namespace in the pod is initialized to be pod

stuarthalloway19:07:40

@micha I am using boot-cp./make-pod-cp, and my pod ends up running in clojure.core

micha19:07:02

ah right, because it doesn't call that function

micha19:07:13

i can update boot-cp to fix that

stuarthalloway19:07:48

@micha in the meantime I have pasted part of that directly into my code and am working again, thanks

micha19:07:53

the with-eval-in macro is good for when you evaluate forms that can be serialized with clojure.core/pr-str and the result read with read-string

micha19:07:41

lower level interfaces are with-invoke-in, which evaluates a single function call, and so the arguments can be any java object