erlef / rebar3_hex

Rebar3 Hex library
Apache License 2.0
101 stars 49 forks source link

hex docs produces an Uncaught error in rebar_core error #27

Closed jr0senblum closed 5 years ago

jr0senblum commented 8 years ago

While other hex commands work fine (reba3 hex publish, for example), DEBUG=1 ./rebar3 hex docs produces

Running edoc for jwalk ... snip... ===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace ===> Uncaught error: function_clause ===> Stack trace to the error location: [{filename,do_flatten, [{"doc/edoc-info", "/Users/jrosenblum/src/jwalk/doc/edoc-info"}, []], [{file,"filename.erl"}, {line,938}]}, {filename,split,1, [{file,"filename.erl"}, {line,642}]}, {rebar3_hex_docs,drop_path,2, [{file, "/Users/jrosenblum/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"}, {line,97}]}, {rebar3_hex_docs, '-file_list/1-lc$^0/1-0-',1, [{file, "/Users/jrosenblum/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"}, {line,94}]}, {rebar3_hexdocs,do,2, [{file, "/Users/jrosenblum/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"}, {line,57}]}, {lists,foldl,3, [{file,"lists.erl"}, {line,1262}]}, {rebar_core,do,2, [{file, "/Users/jrosenblum/src/rebar3/_build/default/lib/rebar/src/rebar_core.erl"}, {line,125}]}, {rebar_prv_do,do_tasks,2, [{file, "/Users/jrosenblum/src/rebar3/_build/default/lib/rebar/src/rebar_prv_do.erl"}, {line,68}]}]

Rebar3 report version 3.0.0-beta.4+build.3174.ref2de7ce2

generated at 2015-12-03T02:55:21+00:00

Please submit this along with your issue at https://github.com/rebar/rebar3/issues (and feel free to edit out private information, if any)

Task: hexdocs Entered as:

hexdocs

Operating System: x86_64-apple-darwin14.1.0 ERTS: Erlang/OTP 18 [erts-7.1] [source-2882b0c] [64-bit] [smp:8:8] [async-threads:0] [hipe] [kernel-poll:false] Root Directory: /usr/local/lib/erlang

Library directory: /usr/local/lib/erlang/lib

Loaded Applications: bbmustache: 1.0.4 certifi: 0.1.1 cf: 0.2.1 common_test: 1.11 compiler: 6.0.1 crypto: 3.6.1 cth_readable: 1.1.0 dialyzer: 2.8.1 edoc: 0.7.17 erlware_commons: 0.18.0 eunit: 2.2.11 eunit_formatters: 0.3.1 getopt: 0.8.2 inets: 6.0.1 kernel: 4.1 providers: 1.6.0 public_key: 1.0.1 relx: 3.9.0 sasl: 2.6 snmp: 5.2 ssl_verify_hostname: 1.0.5 stdlib: 2.6 syntax_tools: 1.7 tools: 2.8.1

gmr commented 8 years ago

Having the same issue:

 bin/rebar3 hex docs
===> Verifying dependencies...
===> Compiling strftimerl
===> Running edoc for strftimerl
===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
 bin/rebar3 report "hex docs"
Rebar3 report
 version 3.0.0-beta.4+build.150.ref41fe283
 generated at 2016-01-09T19:20:59+00:00
=================
Please submit this along with your issue at https://github.com/rebar/rebar3/issues (and feel free to edit out private information, if any)
-----------------
Task: hex
Entered as:
  hex docs
-----------------
Operating System: x86_64-apple-darwin15.2.0
ERTS: Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:8:8] [async-threads:0] [hipe] [kernel-poll:false] [dtrace]
Root Directory: /usr/local/Cellar/erlang/18.2.1/lib/erlang
Library directory: /usr/local/Cellar/erlang/18.2.1/lib/erlang/lib
-----------------
Loaded Applications:
bbmustache: 1.0.4
certifi: 0.3.0
cf: 0.2.1
common_test: 1.11.1
compiler: 6.0.2
crypto: 3.6.2
cth_readable: 1.1.1
dialyzer: 2.8.2
edoc: 0.7.17
erlware_commons: 0.18.0
eunit: 2.2.12
eunit_formatters: 0.3.1
getopt: 0.8.2
inets: 6.1
kernel: 4.1.1
providers: 1.6.0
public_key: 1.1
relx: 3.11.0
sasl: 2.6.1
snmp: 5.2.1
ssl_verify_hostname: 1.0.5
stdlib: 2.7
syntax_tools: 1.7
tools: 2.8.2

-----------------
Escript path: /Users/gmr/Source/strftimerl/bin/rebar3
Providers:
  app_discovery as auto clean clean compile compile compile config cover ct cut deps dialyzer do docs edoc escriptize eunit help info install install_deps key list lock new owner path pkgs publish release relup report search shell tar tree unlock update upgrade upgrade upgrade user version xref 
DEBUG=1 bin/rebar3 hex docs
===> Load global config file /Users/gmr/.config/rebar3/rebar.config
===> Expanded command sequence to be run: []
===> Expanded command sequence to be run: [{default,app_discovery},
                                                  {default,install_deps},
                                                  {default,lock},
                                                  {default,compile},
                                                  {default,edoc},
                                                  {hex,docs}]
===> 18.2.1 satisfies the requirement for minimum OTP version R16B03
===> Verifying dependencies...
===> Compiling strftimerl
===> erlopts [debug_info,fail_on_warning]
===> files to compile ["/Users/gmr/Source/strftimerl/_build/default/lib/strftimerl/src/strftimerl.erl"]
===> Running edoc for strftimerl
===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace
===> Uncaught error: function_clause
===> Stack trace to the error location: [{filename,do_flatten,
                                                 [{"doc/edoc-info",
                                                   "/Users/gmr/Source/strftimerl/doc/edoc-info"},
                                                  []],
                                                 [{file,"filename.erl"},
                                                  {line,938}]},
                                                {filename,split,1,
                                                 [{file,"filename.erl"},
                                                  {line,642}]},
                                                {rebar3_hex_docs,drop_path,2,
                                                 [{file,
                                                   "/Users/gmr/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"},
                                                  {line,97}]},
                                                {rebar3_hex_docs,
                                                 '-file_list/1-lc$^0/1-0-',1,
                                                 [{file,
                                                   "/Users/gmr/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"},
                                                  {line,94}]},
                                                {rebar3_hex_docs,do_,2,
                                                 [{file,
                                                   "/Users/gmr/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"},
                                                  {line,57}]},
                                                {lists,foldl,3,
                                                 [{file,"lists.erl"},
                                                  {line,1262}]},
                                                {rebar_core,do,2,
                                                 [{file,
                                                   "/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_core.erl"},
                                                  {line,125}]},
                                                {rebar_prv_do,do_tasks,2,
                                                 [{file,
                                                   "/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_prv_do.erl"},
                                                  {line,68}]}]
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
gmr commented 8 years ago

On a hunch, I changed the default edoc config to include the dir option, pointing to docs instead of the default doc:

{edoc_opts, [{includes, "include"}, {title, "urllib"}, {pretty_printer, erl_pp}, {dir, "docs"}]}.

And it gets farther than before, but still errors out:

DEBUG=1 bin/rebar3 hex docs
===> Load global config file /Users/gavinr/.config/rebar3/rebar.config
===> Expanded command sequence to be run: []
===> Expanded command sequence to be run: [{default,app_discovery},
                                                  {default,install_deps},
                                                  {default,lock},
                                                  {default,compile},
                                                  {default,edoc},
                                                  {hex,docs}]
===> 18.2.1 satisfies the requirement for minimum OTP version 17.5
===> Verifying dependencies...
===> Compiling urilib
===> erlopts [debug_info,fail_on_warning]
===> files to compile ["/Users/gavinr/Source/urilib/_build/default/lib/urilib/src/urilib.erl"]
===> Running edoc for urilib
===> Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace
===> Uncaught error: {badmap,undefined_server_error}
===> Stack trace to the error location: [{maps,get,
                                                 [<<"message">>,
                                                  undefined_server_error,<<>>],
                                                 [{file,"maps.erl"},
                                                  {line,147}]},
                                                {rebar3_hex_docs,do_,2,
                                                 [{file,
                                                   "/Users/gavinr/.cache/rebar3/plugins/rebar3_hex/src/rebar3_hex_docs.erl"},
                                                  {line,71}]},
                                                {lists,foldl,3,
                                                 [{file,"lists.erl"},
                                                  {line,1262}]},
                                                {rebar_core,do,2,
                                                 [{file,
                                                   "/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_core.erl"},
                                                  {line,125}]},
                                                {rebar_prv_do,do_tasks,2,
                                                 [{file,
                                                   "/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_prv_do.erl"},
                                                  {line,68}]},
                                                {rebar_core,do,2,
                                                 [{file,
                                                   "/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar_core.erl"},
                                                  {line,125}]},
                                                {rebar3,main,1,
                                                 [{file,
                                                   "/home/travis/build/rebar/rebar3/_build/default/lib/rebar/src/rebar3.erl"},
                                                  {line,56}]},
                                                {escript,run,2,
                                                 [{file,"escript.erl"},
                                                  {line,757}]}]
===> When submitting a bug report, please include the output of `rebar3 report "your command"`
knusbaum commented 8 years ago

I have a fix for this in #35

starbelly commented 5 years ago

@tsloughter I think this can be closed.