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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions