comonicon / Comonicon.jl

Your best CLI generator in JuliaLang
https://comonicon.org
MIT License
282 stars 25 forks source link

[BUG]: `nthreads = "auto"` in Comonicon.toml throws error #279

Open jakobnissen opened 1 month ago

jakobnissen commented 1 month ago

When building a CLI app with Comonicon 1.0.8, and the following Comonicon.toml:

name = "binbench"

[install]
nthreads = "auto"

It produces the stack trace shown below. It works correctly when I set nthreads = 8.

ERROR: LoadError: MethodError: no method matching isless(::Int64, ::String)
The function `isless` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  isless(!Matched::Missing, ::Any)
   @ Base missing.jl:87
  isless(::Any, !Matched::Missing)
   @ Base missing.jl:88
  isless(::Real, !Matched::AbstractFloat)
   @ Base operators.jl:179
  ...

Stacktrace:
  [1] <(x::Int64, y::String)
    @ Base ./operators.jl:353
  [2] >(x::String, y::Int64)
    @ Base ./operators.jl:379
  [3] _entryfile_script_bash(m::Module, options::Comonicon.Configs.Comonicon)
    @ Comonicon.Builder ~/.julia/packages/Comonicon/F3QqZ/src/builder/install.jl:117
  [4] entryfile_script
    @ ~/.julia/packages/Comonicon/F3QqZ/src/builder/install.jl:103 [inlined]
  [5] #5
    @ ~/.julia/packages/Comonicon/F3QqZ/src/builder/install.jl:39 [inlined]
  [6] open(::Comonicon.Builder.var"#5#6"{Module, Comonicon.Configs.Comonicon}, ::String, ::Vararg{String}; kwargs::@Kwargs{})
    @ Base ./io.jl:410
  [7] open
    @ ./io.jl:407 [inlined]
  [8] install_entryfile(m::Module, options::Comonicon.Configs.Comonicon)
    @ Comonicon.Builder ~/.julia/packages/Comonicon/F3QqZ/src/builder/install.jl:38
  [9] install(m::Module, options::Comonicon.Configs.Comonicon)
    @ Comonicon.Builder ~/.julia/packages/Comonicon/F3QqZ/src/builder/install.jl:10
 [10] #2
    @ ~/.julia/packages/Comonicon/F3QqZ/src/builder/cli.jl:71 [inlined]
 [11] with_logstate(f::Comonicon.Builder.var"#2#3"{Module, Comonicon.Configs.Comonicon}, logstate::Base.CoreLogging.LogState)
    @ Base.CoreLogging ./logging/logging.jl:522
 [12] with_logger
    @ ./logging/logging.jl:632 [inlined]
 [13] command_main(m::Module, options::Comonicon.Configs.Comonicon)
    @ Comonicon.Builder ~/.julia/packages/Comonicon/F3QqZ/src/builder/cli.jl:70
 [14] #command_main#1
    @ ~/.julia/packages/Comonicon/F3QqZ/src/builder/cli.jl:56 [inlined]
 [15] command_main
    @ ~/.julia/packages/Comonicon/F3QqZ/src/builder/cli.jl:54 [inlined]
 [16] comonicon_install()
    @ BinBencher ~/.julia/packages/Comonicon/F3QqZ/src/frontend/cast.jl:495
 [17] top-level scope
    @ ~/code/BinBencher.jl/deps/build.jl:1
 [18] include(fname::String)
    @ Main ./sysimg.jl:38
 [19] top-level scope
    @ none:5
in expression starting at /home/jakni/code/BinBencher.jl/deps/build.jl:1