martinklepsch / tenzing

⚡️ Clojurescript application template using Boot
Eclipse Public License 1.0
403 stars 39 forks source link

`-a` throws exception using boot #90

Closed JulianKniephoff closed 5 years ago

JulianKniephoff commented 6 years ago

When I try to generate a new project with the +rum option for example using boot and the instructions in the README I get the following exception:

                              java.lang.Thread.run              Thread.java:  748
java.util.concurrent.ThreadPoolExecutor$Worker.run  ThreadPoolExecutor.java:  624
 java.util.concurrent.ThreadPoolExecutor.runWorker  ThreadPoolExecutor.java: 1149
               java.util.concurrent.FutureTask.run          FutureTask.java:  266
                                               ...                               
               clojure.core/binding-conveyor-fn/fn                 core.clj: 1938
                                 boot.core/boot/fn                 core.clj: 1033
                                               ...                               
                         boot.core/construct-tasks                 core.clj:  995
                                clojure.core/apply                 core.clj:  646
                                               ...                               
                                boot.new/eval45/fn                  new.clj:    9
java.lang.IllegalArgumentException: option :args must be of type [str]
        clojure.lang.ExceptionInfo: option :args must be of type [str]
    line: 3

Here is the command line I used for reference:

boot -d boot/new new -t tenzing -n my-project -a +rum

and my boot version information:

$ boot --version
#http://boot-clj.com
#Tue Jul 03 16:35:35 CEST 2018
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.8.1
Raffinate commented 6 years ago

Same for me $ boot -d boot/new new -t tenzing -n tenzing-template-test -a +reagent -a +test results

                              java.lang.Thread.run              Thread.java:  748
java.util.concurrent.ThreadPoolExecutor$Worker.run  ThreadPoolExecutor.java:  624
 java.util.concurrent.ThreadPoolExecutor.runWorker  ThreadPoolExecutor.java: 1149
               java.util.concurrent.FutureTask.run          FutureTask.java:  266
                                               ...                               
               clojure.core/binding-conveyor-fn/fn                 core.clj: 1938
                                 boot.core/boot/fn                 core.clj: 1033
                                               ...                               
                         boot.core/construct-tasks                 core.clj:  995
                                clojure.core/apply                 core.clj:  646
                                               ...                               
                                boot.new/eval45/fn                  new.clj:    9
java.lang.IllegalArgumentException: option :args must be of type [str]
        clojure.lang.ExceptionInfo: option :args must be of type [str]
    line: 3

This happens for me under linux with openjdk 8 and 11 and also under mac with oracle java 8.

#http://boot-clj.com
#Sun Aug 12 22:56:38 NOVT 2018
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.8.1
martinklepsch commented 6 years ago

I think this issue is related to boot 2.8.1’s changes to some option descriptor stuff. Can you try 2.8.2 which was released recently I believe?

JulianKniephoff commented 6 years ago

The latest release I can see is 2.8.1. I might try installing the latest code myself later at some point, though. :thinking:

Raffinate commented 6 years ago

Older release 2.7.2 works fine for me. It can be specified in boot config file (~/.boot/boot.properties).

Raffinate commented 6 years ago

Looks like https://github.com/boot-clj/boot/issues/707 should fix this issue.

JulianKniephoff commented 5 years ago

I can confirm that it works with

$ boot --version
#http://boot-clj.com
#Thu Sep 20 08:44:53 CEST 2018
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_CLOJURE_VERSION=1.8.0
BOOT_VERSION=2.8.2

Cool, thanks! :smile: