OpenLiberty / openliberty.io

Open Liberty website
https://openliberty.io
Other
54 stars 40 forks source link

Build issue with jekyll-assets version 3.0.2 #70

Closed kinueng closed 6 years ago

kinueng commented 6 years ago

Issue

This error is being thrown when the gems are being installed via this command gem install jekyll bundler jekyll-feed jekyll-asciidoc coderay jekyll-assets uglifier octopress-minify-html in build_jekyll_maven.sh.

Building native extensions.  This could take a while...

RDoc::Parser::Ruby failure around line 38 of
lib/liquid/tag/parser.rb

Before reporting this, could you check that the file you're documenting
has proper syntax:

  /home/pipeline/.rvm/rubies/ruby-2.4.1/bin/ruby -c lib/liquid/tag/parser.rb

RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.

The internal error was:

    (TypeError) no implicit conversion of nil into String

ERROR:  While executing gem ... (TypeError)
    no implicit conversion of nil into String

Root cause

I am not sure why, but the latest jekyll-assets version 3.0.2 released on Nov 27, 2017 is causing this error to be thrown. The new jekyll-assets now depends on a gem called liquid-tag-parser-1.8.0. I am going to guess that this file lib/liquid/tag/parser.rb in the error comes from the liquid-tag-parser gem.

Quick Fix

I downgraded the jekyll-assets to the version that was used in the last successful build, v2.4.0. When I tested locally, the build is successful and the error does not appear.

How I tested

Finding who depends on liquid-tag-parser

gem dependency liquid-tag-parser --reverse-dependencies

Commands that resolve the error

gem install jekyll bundler jekyll-feed jekyll-asciidoc coderay uglifier octopress-minify-html
gem install jekyll-assets -v 2.4.0
kinueng commented 6 years ago

I made a bookkeeping mistake. Commit 2fd07df should be linked to this issue (#70) and not (#26).