GithubHelp home page GithubHelp logo

rebar3 plugin about gleam HOT 11 CLOSED

gleam-lang avatar gleam-lang commented on August 11, 2024
rebar3 plugin

from gleam.

Comments (11)

hengestone avatar hengestone commented on August 11, 2024

Started looking at this, but the current project structure is not rebar3 friendly - I think promoting the current compiler/ subdirectory to a top-level project might be required. See e.g. the efene language and plugins
https://github.com/efene/rebar3_efene_compile

from gleam.

lpil avatar lpil commented on August 11, 2024

The compiler would be published as a hex package which will be a regular dep of the rebar3 plugin, so no problem there.

You're right in that it would be a problem if using git to resolve the dependency, I've made an issue for this here erlang/rebar3#1923

It may make sense to structure this repo as umbrella application containing multiple library applications, but I have not experimented with this yet. :)

For now I'm focusing on getting a CLI for compiling modules first, then can work on rebar support afterwards.

from gleam.

hengestone avatar hengestone commented on August 11, 2024

Yeah, it's a bit of a bootstrapping issue, this blog post does a pretty good job of describing submodules: https://blog.github.com/2016-02-01-working-with-submodules/

Ideally there should be a gleam-compiler repo under the current compiler/ subdir

from gleam.

lpil avatar lpil commented on August 11, 2024

My intention is to keep all core projects in one git repo (i.e. a monorepo), so no need for submodules. I find it much easier to work with one large repository for tightly coupled projects.

If you wish to create a rebar3 plugin I would recommend forking this repository and working within another top level directory. A rebar3 plugin would be the kind of library I would like to have in the core project long term.

from gleam.

hengestone avatar hengestone commented on August 11, 2024

OK, I started that under my repo, but obviously rebar itself needs support for subdirs before it can be used as-is.

from gleam.

lpil avatar lpil commented on August 11, 2024

We could use rebar checkouts until packages are published

https://www.rebar3.org/docs/dependencies#section-checkout-dependencies

from gleam.

hengestone avatar hengestone commented on August 11, 2024

Cool, I missed that in the rebar docs 👍

from gleam.

lpil avatar lpil commented on August 11, 2024

Me too! tsloughter pointed it out to me

from gleam.

lpil avatar lpil commented on August 11, 2024

Hi @hengestone , are you looking at this? I was considering making a very rough and ready version in the near future but don't want to step on your toes :)

from gleam.

hengestone avatar hengestone commented on August 11, 2024

Take a look at my gleam fork at https://github.com/hengestone/gleam under /gleam_rebar. That should have the code to do the actual compile step, adapted from Efene.

Feel free to build on that or discard as appropriate :)

from gleam.

lpil avatar lpil commented on August 11, 2024

Wonderful, thank you.

from gleam.

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.