Comments (19)
This is strange. As I understand it, "Makefile" is part of the default list of files picked up by hex.
https://github.com/inaka/hexer/blob/master/src/hexer_package.erl#L110
from setup.
Ah, not in rebar3_hex:
https://github.com/hexpm/rebar3_hex/blob/master/src/rebar3_hex.hrl#L3
from setup.
@uwiger will you re-publish it?
from setup.
I have verified visually that rebar3 hex publish
will include the same files as before + Makefile
.
from setup.
Version 1.8.3 published in hex.
from setup.
Thank you. I'm testing it now:
$ mix compile
===> Compiling setup
src/setup.erl:166: Warning: export_all flag enabled - all functions will be exported
===> Unable to run post hooks for 'compile', command 'escriptize' not found.
** (Mix) Could not compile dependency :setup, "/Users/surik/.mix/rebar3 bare compile --paths "/Users/surik/Documents/prog/tube_streamer/_build/dev/lib/*/ebin"" command failed. You can recompile this dependency with "mix deps.compile setup", update it with "mix deps.update setup" or clean it with "mix deps.clean setup"
from setup.
Ah, looks that in case of rebar3
we don't need Makefile because https://github.com/uwiger/setup/blob/master/rebar.config.script#L26-L32
But it fails with mix
from setup.
I checked that setup itself compiles with rebar2 and rebar3.
Creating a bare-bones mix project with setup-1.8.3 as dependency:
uwpro-2:p1 uwiger$ mix deps.get
Resolving Hex dependencies...
Dependency resolution completed:
setup 1.8.3
* Getting setup (Hex package)
Checking package (https://repo.hex.pm/tarballs/setup-1.8.3.tar)
Fetched package
uwpro-2:p1 uwiger$ mix compile
==> setup (compile)
Compiled src/setup_lib.erl
Compiled src/setup_sup.erl
Compiled src/setup_srv.erl
Compiled src/setup_app.erl
Compiled src/setup_gen.erl
Compiled src/setup.erl
/Users/uwiger/lib/otp/18.3/bin/rebar skip_deps=true escriptize
==> setup (escriptize)
Compiled lib/p1.ex
Generated p1 app
Consolidated List.Chars
Consolidated Collectable
Consolidated String.Chars
Consolidated Enumerable
Consolidated IEx.Info
Consolidated Inspect
from setup.
Can you show mix.lock
and your Elixir version? I use 1.4.5.
from setup.
mix.lock:
%{"setup": {:hex, :setup, "1.8.3", "039c51ad715ead4682d63e6462b3e89efa812f02668ac08bcedfb2360d67282c", [], [], "hexpm"}}
$ mix -v
Mix 1.2.5
(that was the version installed by Homebrew)
from setup.
I could reproduce the problem with version 1.5.1. Analyzing now.
from setup.
In your case setup
is built by using rebar2
. On Elixir >= 1.4 it usesrebar3
by default, see https://github.com/elixir-lang/elixir/blob/v1.4/lib/mix/lib/mix/dep/loader.ex#L190
Also, with Elixir 1.4.5 setup
in mix.lock
looks like:
...
"setup": {:hex, :setup, "1.8.3", "039c51ad715ead4682d63e6462b3e89efa812f02668ac08bcedfb2360d67282c", [:rebar3], [], "hexpm"},
...
I can change :rebar3
to :rebar
manually here but don't think that it is a proper way.
from setup.
So far, it seems as if this advice is the best way forward.
The problem seems related to the rebar3 'bare' mode.
from setup.
Maybe temporary comment these lines or add some checks for mix?
from setup.
Addressing this in rebar3 would feel much better. ;-)
from setup.
I've commented on a related issue in rebar3:
erlang/rebar3#1568 (comment)
from setup.
Pushed 1.8.4 to hex
from setup.
Works for me. Thank you.
from setup.
Very good. Thanks!
from setup.
Related Issues (11)
- Example on how to disable verify_directories? HOT 2
- Missing top supervisor? HOT 2
- compilation fail with rebar3 HOT 17
- License is unclear - MPLv2.0 in LICENSE while ASLv2.0 in sources HOT 2
- stop_when_done = true always triggers timeout HOT 2
- setup_gen has option 'outdir' in docs but it is only 'out' in code HOT 3
- Time to tag v1.8.1? HOT 1
- Infinite loops during compile HOT 1
- Setup fails to build as hex dep of mix HOT 6
- erlang:get_stacktrace/0 removed from Erlang 24 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from setup.