This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-02
Channels
- # aleph (5)
- # beginners (112)
- # boot (137)
- # cider (10)
- # cljs-dev (36)
- # cljsrn (2)
- # clojure (118)
- # clojure-argentina (1)
- # clojure-berlin (1)
- # clojure-brasil (3)
- # clojure-dev (4)
- # clojure-italy (2)
- # clojure-nl (13)
- # clojure-russia (23)
- # clojure-spec (5)
- # clojure-uk (53)
- # clojurescript (344)
- # clojutre (1)
- # core-async (65)
- # cursive (9)
- # datascript (7)
- # datomic (28)
- # devops (1)
- # emacs (16)
- # events (1)
- # jobs (5)
- # keechma (18)
- # lumo (56)
- # off-topic (7)
- # om (3)
- # onyx (14)
- # protorepl (21)
- # re-frame (3)
- # reagent (20)
- # ring (12)
- # ring-swagger (9)
- # specter (17)
- # unrepl (14)
- # vim (14)
- # yada (22)
i don't normally use boot, but am trying for the first time to see if i can buid Nightcode from the jar (i'm on NixOS so this seemed like the most painless way to get it running). i tried boot run Nightcode-2.3.3.jar
and after it downloaded a ton of deps from maven i'm getting some clojure errors (i can't tell if this means Nightcode is broken, but the only issue related to building it from the jar is on Windows and unaddressed after three months)
i may just be going about this the wrong way if i already have a jar i just want to install?
@sophiago I don't think boot can run jar files that way, you might want to try java -cp
Ah, unless your run is a custom thing 😁
ah, ok. i think i misinterpreted a line on the Nightcode readme that was instead intended to create a jar from source
Nah, i just need to install this totally unsupported editor for a workshop i'm teaching 😛
Well folks said it's cool so I am curious to see how easy it is to bootstrap 😁
Yeah let me see
So boot build builds the jar ok...
but not necessarily trying to write a nix pkg for something i'm only installing to help students with for two days
And the main is in core so java -cp ...Jar nightcode.core
should work
Ah, try -jar
to the java
command
Not cp
I never remember 😀
Uhm found some doc: https://github.com/ClojureBridge/getting-started/blob/master/nightcode.md
Lol ok
You don't probably need the nightcode.core
thing
And good luck for your teaching, ClojureBridge is awesome!
Did it solve ?
Well I guess I will quickly try but I am away from keyboard now
yeah, if you could confirm so i feel okay telling the other teachers it's broken that'd be a huge help!
fwiw, i just cloned the repo and called boot build
on it to see if maybe the jar was just out of date and it gave me that same stack trace i posted above 😛
@sophiago have you tried to download the jar instead of building it?
@richiardiandrea that's what i tried first. i only tried building a new one with boot when that one appeared broken 😕
but i'm not sure if it's distro specific, so if you do just happen to have the time to try and launch the jar on their site that would be a huge help (I'm assuming you're at least on Debian/Redhat/OSX or similar)
Yeah I am on Ubuntu
right. they have a package for that, but it's more work than i'd like to even set it up in a nix-shell
so I tried
java -cp Nightcode-2.3.3.jar clojure.main
Clojure 1.9.0-alpha15
user=> (require 'nightcode.core)
ClassNotFoundException javafx.scene.control.Tab java.net.URLClassLoader.findClass (URLClassLoader.java:381)
user=>
maybe I am missing that as well as you?
i guess you wanted to diagnose it by just launching it in a clj repl and requiring the ns yourself?
trying now
no it is packaged
yeah it works like this
sudo apt-get install openjfx
we should PR some repo 😄
it is not included by default, see SO question above
to be clear, you just have the jar in the dir you're calling it from and that's all?
yes I have installed openjfx
and now I do:
java -jar Nightcode-2.3.3.jar nightcode.core
are you on Mac?
ah right NixOs
UI java bindings
yeah, for Oracle I don't have a clue, probably some googling will solve the problem
oh ok, have you tried in the repl then, that could surface the problem
i'm temporarily disabling it in the package manager since i can't remember how nix updates symlinks for it
awesome
I gotta go.. right on time 😄
happy that you solved!
it would be great to add this info to the README or somtething...let's remind each other 😄
yeah and/or the ClojureBridge
ok great thanks for that!
the command that solved was sudo apt-get install openjfx
but i will open an issue in Nightcode too 🙂
but if you're on debian/ubuntu you wouldn't be launching from the jar anyway. they have a package
here i think? https://bugs.openjdk.java.net/
just wanted to put it out somewhere 😄
uh, except you could open that issue for literally every java application on github...
anyway, i'm not wading into the agile hellhole that is openjdk's bug tracker. surely they're aware it doesn't bundle JavaFX and are fine with it
No problem!
and it starts
(this would be a good use of Slack threads so it doesn’t clog up the main channel for everyone else)
seancorfield: you are right Sean tnx
No problem. I just switched to #boot and was like OMG! How far back do I need to scroll?? 🙂
I do feel it's a lot of clicks to start a thread, speaking as a vim user. Even reactions are quicker.
Is there a way to customize the name of the boot libraries to be downloaded? (like CLOJURE_NAME but BOOT_NAME kind of — maybe also just the org part)
(asking so that I can swap the boot jars with my own deployed to clojars or similar)
Uhm, I have never heard of it, what I do is to change the version.properties file to a custom version and boot.properties accordingly, but there must be a better way 😀
@richiardiandrea right the version change helps for locally installed test versions but if you want to load boot from a maven repo….
Do you control the maven repo?
(probably not 😁)
Hmm any ideas if we can release current Boot master as 2.7.2 SNAPSHOT or do some of the changes require bumping to 2.8? I need version with https://github.com/boot-clj/boot/pull/558 as soon as possible
Why does deploy require java 1.7? << Java version: 1.8 >> You must build with Java version 1.7 only.
Javac options are setup to target 1.7 but I'm not sure if Clojure AOT respects those
@juhoteperi I think it might be to stay compatible with Java 1.7 — maybe?
Code compiled in 1.8 can be compatible with 1.7
Well then 😄
At least Javac, not sure about Clojure AOT, usually libraries don't use that
I think Java version shouldn't affect at all the bytecode Clojure compiler emits so that shouldn't be a problem either
FWIW: i used to compile one of my projects (alda) with java 7 explicitly, so that my jar file would run on systems with java 7+, and i did it by using the javac options -source 1.7 -target 1.7 -bootclasspath $JDK7_BOOTCLASSPATH
the location of the bootclasspath varies depending on your OS. on my OSX system, that happened to be at /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/
@juhoteperi i don’t see why we can’t release what’s ready as 2.7.2
Just a snapshot would be enough for me now
i forget, do snapshots mess up boot -u?
Hmm not sure
confirmed it doesn’t, and 2.7.2-SNAPSHOT is deployed 🍾
Great
I saw a changelog note about performance improvements in artifact uploads, does 2.7.2 also improve artifact downloads?
We depend on New Relic’s Java API and it’s about 9MB and whenever we bump the version, Boot seems to take a long time to download/process that library… Of course it may be something else but it seems like it’s Boot.
Awesome
@seancorfield the patch above above basically enables lazy evaluation of log's payloads and it might have improved performance in each and every place where we were doing a lot of logging
Cool, will probably bump to 2.7.2 soon then. Would prefer a non-snapshot but I think we can work with it as-is. I’ll open a JIRA issue at work to evaluate the new version (since we have a Boot wrapper shell script and control all the config under our version control).
I think the change will help with both downloads and uploads, the log call was on aether transfer callback function
I think that callback is called every few thousand bytes or such when downloading and uploading, but I'm not sure