Skip to content

lock_jars errors out when --tree argument provided #95

@navarone-feekery

Description

@navarone-feekery

When running lock_jars --tree in jruby 9.4.12.0 (jar-dependencies 0.5.5), the following error occurs.

From some light investigating it seems --tree causes a file containing the dep tree to be created and during this file management/cleanup things fail.

Command with output in 0.5.5:

$ lock_jars --tree 

-- jar root dependencies --

      org.apache.httpcomponents.client5:httpclient5:5.1:compile
TypeError: no implicit conversion of true into String
       path at org/jruby/RubyFile.java:461
    fu_list at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/stdlib/fileutils.rb:1570
        map at org/jruby/RubyArray.java:2831
    fu_list at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/stdlib/fileutils.rb:1570
         rm at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/stdlib/fileutils.rb:570
       rm_f at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/stdlib/fileutils.rb:589
  lock_down at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/gems/shared/gems/jar-dependencies-0.5.5/lib/jars/lock_down.rb:98
  lock_down at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/gems/shared/gems/jar-dependencies-0.5.5/lib/jar_dependencies.rb:64
     <main> at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/gems/shared/gems/jar-dependencies-0.5.5/exe/lock_jars:54
       load at org/jruby/RubyKernel.java:1223
     <main> at /Users/nav/.rbenv/versions/jruby-9.4.12.0/bin/lock_jars:25
TypeError: no implicit conversion of true into String
     exist? at org/jruby/RubyFileTest.java:125
  lock_down at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/gems/shared/gems/jar-dependencies-0.5.5/lib/jars/lock_down.rb:86
  lock_down at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/gems/shared/gems/jar-dependencies-0.5.5/lib/jar_dependencies.rb:64
     <main> at /Users/nav/.rbenv/versions/jruby-9.4.12.0/lib/ruby/gems/shared/gems/jar-dependencies-0.5.5/exe/lock_jars:54
       load at org/jruby/RubyKernel.java:1223
     <main> at /Users/nav/.rbenv/versions/jruby-9.4.12.0/bin/lock_jars:25

Same command with output from 0.4.1 (using jruby 9.4.8.0) when I last confirmed this works:

$ lock_jars --tree

-- jar root dependencies --

      org.apache.httpcomponents.client5:httpclient5:5.1:compile

-- jar dependency tree --

+- org.apache.httpcomponents.client5:httpclient5:jar:5.1:compile
|  +- org.apache.httpcomponents.core5:httpcore5:jar:5.1.1:compile
|  +- org.apache.httpcomponents.core5:httpcore5-h2:jar:5.1.1:compile
|  \- commons-codec:commons-codec:jar:1.15:compile

Jars.lock is up to date

Other flags like --debug seem to work fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions