Git Product home page Git Product logo

Comments (19)

5HT avatar 5HT commented on May 18, 2024

Just make PR we will accept it.
Could you prepare also erlang.mk PR for Skyline project ? Would be great.
Thanks for contributing!

from n2o.

23min avatar 23min commented on May 18, 2024

Right now one problem with my code is that it gets only the latest erlang.mk. It should get a specific version in case the latest one is broken. Just something to be aware of.

For Skyline:
erlang.mk does not support rebar directory layout with apps/ directory. So directories include/, priv/ and src/ need to be moved too project /.

For Skyline recursive dependencies to be resolved, I believe all of the following projects also need to be updated with either Makefile, {modules, []} in .src or both:

n2o (pending my PR)
amqp_client
avz
kvs
ling_builder
mimetypes
mqs
rabbit_common
sync

For releases, also a relx.config is needed. A starting point:

{release, {Skyline, "0.0.1"},[skyline]}.

{extended_start_script, true}.
{generate_start_script, true}.

{sys_config, "./app.config"}.

{include_erts, true}.

{overlay, 
    [
        {mkdir, "log/sasl"},
        {copy, "vm.args", "releases/\{\{rel_vsn\}\}/vm.args"}
        % etc
    ]}.

Not sure if I should attempt the whole conversion, Skyline is a bit complex for me still.

from n2o.

23min avatar 23min commented on May 18, 2024

Agreed :)
loïc is not receptive to making erlang.mk compatible with apps/

Do you know a solution?

from n2o.

5HT avatar 5HT commented on May 18, 2024

Yes we have similar to erlang.mk solution that supports apps
doesn't need to patch deps but just lacks of relx support.
erlang.mk is actually very dumb, nothing special.

from n2o.

5HT avatar 5HT commented on May 18, 2024

Check it out: https://github.com/voxoz/cycle/blob/d9275e261bd979ac2e570bbc4f774c1ba27963ac/Makefile.run
https://github.com/voxoz/cycle/blob/d9275e261bd979ac2e570bbc4f774c1ba27963ac/Makefile
https://github.com/voxoz/cycle/blob/d9275e261bd979ac2e570bbc4f774c1ba27963ac/envgen.erl

from n2o.

23min avatar 23min commented on May 18, 2024

Guess I have become a vector for the erlang.mk virus ;)
I just wanted to get away from rebar and erlang.mk seemed a good partner.
Are you planning to use relx?

from n2o.

5HT avatar 5HT commented on May 18, 2024

Yes, but rebar -f generate do all the job for us :)
Did you check our version of "erlang.mk" Makefile.run, Makefile and envgen.erl ?
We will not broke OTP layout in favour to erlang.mk, and patch all pure OTP projects sorry (some of those projects even not belongs to us) :) We could create for you tiny OTP compatible makefiles with relx support. Actually adding relx support to our existing makefile-based solution is simple.

from n2o.

5HT avatar 5HT commented on May 18, 2024

I can apply those Makefile based solution to Skyline and you will donate relx support?
Or you just want erlang.mk and nothing else ?

from n2o.

23min avatar 23min commented on May 18, 2024

I'd like the simplest solution that lets me do dev + build + release.

Rebar has caused me a lot of grief. Relx is more elegant but it lacks the build part.
So I'm all open to suggestions. I'll have a look at cycle and active.

Mostly I'm looking at n2o samples and building up my project from scratch around the ideas there, but getting a working n2o "hello world" release up on EC2 instance was not so easy :)

from n2o.

5HT avatar 5HT commented on May 18, 2024

I merged, but latest cowboy wont work.
apps directory should be considered as regular deps directory. So apps is just splitted deps.
I guess it should be easy for tricking erlang.mk to support that.
On patching all deps with erlang.mk I think erlang.mk is behaving like a virus :-)

from n2o.

5HT avatar 5HT commented on May 18, 2024

Wait, I will create makefile-base Skyline build for you (but without relx).
N2O_sample is too simple.

from n2o.

5HT avatar 5HT commented on May 18, 2024

What problems with rebar -f generate ?

from n2o.

23min avatar 23min commented on May 18, 2024

I'm just using skyline for inspiration, along with igratch, so it's not
really essential for now.
If there are dependencies that need changes, I will fork them for now, or
maybe I'll fork erlang.mk :)

On Sun, Nov 3, 2013 at 10:06 AM, Namdak Tonpa [email protected]:

what I will create makefile for skyline for you but without relx for now
only dev and rebar -g generate mode.


Reply to this email directly or view it on GitHubhttps://github.com//issues/43#issuecomment-27641107
.

from n2o.

5HT avatar 5HT commented on May 18, 2024

forking erlang.mk is good idea.
why not to make erlang.mk if Makefile is not found then use rebar ?

from n2o.

5HT avatar 5HT commented on May 18, 2024

My point of view is that to be rebar compatible, I dislike Makefiles but don't mind to be compatible with makefiles.

from n2o.

23min avatar 23min commented on May 18, 2024

That would be ideal. It doesn't work that way right now.
Let's see how far I get. I also sent a msg to Loïc to consider some changes
for easier adoption.

On Sun, Nov 3, 2013 at 10:24 AM, Namdak Tonpa [email protected]:

forking erlang.mk is good idea.
why not to make erlang.mk if Makefile is not found then use rebar ?


Reply to this email directly or view it on GitHubhttps://github.com//issues/43#issuecomment-27641290
.

from n2o.

5HT avatar 5HT commented on May 18, 2024

I commited Makefile-based solution synrc.mk to Skyline which remains
compatible with all directory tree and scripts. The template is here: https://github.com/synrc/synrc.mk

from n2o.

5HT avatar 5HT commented on May 18, 2024

I created for you relx.config in Skyline.
Now synrc.mk also use relx for release mastering.
You will add erlc compilation by yourself to synrc.mk ? :)

from n2o.

5HT avatar 5HT commented on May 18, 2024

So https://github.com/synrc/otp.mk created based on this talk.
Thank you for pushing :)

from n2o.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.