Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/5HT/active
♾️ ACTIVE: Filesystem Activities
https://github.com/5HT/active
mad mix
Last synced: about 1 month ago
JSON representation
♾️ ACTIVE: Filesystem Activities
- Host: GitHub
- URL: https://github.com/5HT/active
- Owner: 5HT
- License: other
- Created: 2014-05-10T22:03:38.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-07-23T11:57:13.000Z (5 months ago)
- Last Synced: 2024-10-27T22:26:30.115Z (about 2 months ago)
- Topics: mad, mix
- Language: Erlang
- Homepage: https://active.n2o.dev
- Size: 102 KB
- Stars: 68
- Watchers: 5
- Forks: 18
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- freaking_awesome_elixir - Erlang - Recompilation and Reloading on FileSystem changes. (Build Tools)
- fucking-awesome-elixir - active - Recompilation and Reloading on FileSystem changes. (Build Tools)
- awesome-elixir - active - Recompilation and Reloading on FileSystem changes. (Build Tools)
README
ACTIVE: Continuous Compilation
==============================[![Actions Status](https://github.com/synrc/active/workflows/mix/badge.svg)](https://github.com/synrc/active/actions)
[![Build Status](https://travis-ci.com/synrc/active.svg?branch=master)](https://travis-ci.com/synrc/active)
[![Hex pm](http://img.shields.io/hexpm/v/active.svg?style=flat)](https://hex.pm/packages/active)Active is a [sync](https://github.com/rustyio/sync) replacement
that uses native file-system OS async listeners to compile and
reload Erlang files, DTL templates and other files. It acts as
FS subscriber under supervision and uses
[mad](https://github.com/synrc/mad),
`IEx.Helpers.c` or you can add your own compiler, like `rebar3` or `make`.Listen Folders
--------------### One-level
```erlang
app(App,["ebin",Module|_]) -> load_ebin(App,Module);
app(App,["priv"|_]) -> compile(App);
app(App,["src"|_]) -> compile(App);
app(_,_)-> ok.
```### Two-level
```erlang
otp(["deps",App|Rest]) -> app(App,Rest);
otp(["apps",App|Rest]) -> app(App,Rest);
otp([Some|Path]) -> app(top(),[Some|Path]);
otp(_) -> ok.
```Usage
-----On Mac/Linux/Windows just include into your rebar.config:
{active, ".*", {git, "https://github.com/synrc/active.git", {tag,"1.9"}}}
NOTE: on Linux please install inotify-tools.
Credits
-------* Maxim Sokhatsky
* Vladimir Kirillov
* Oleksandr Palchikovsky (Elixir)OM A HUM