An open API service indexing awesome lists of open source software.

https://github.com/arcblock/mix-forge-deps

Forge dependencies. For fast compilation.
https://github.com/arcblock/mix-forge-deps

Last synced: 10 months ago
JSON representation

Forge dependencies. For fast compilation.

Awesome Lists containing this project

README

          

# MixDeps

Least common multiple for Elixir dependencies for Travis ci.

## Usage

Add `.makefiles/dep.mk` to repo, remember to change

- `SRC` to elixir src path, normally it's `src`.
- `DEPS_VER` to desired version number.

```Makefile
SRC=src
DEPS_VER=vx.x.x
DEPS_PREFIX=https://github.com/ArcBlock/mix-forge-deps/releases/download
BUILDS_FILE=builds.tgz
DEPS_FILE=deps.tgz
BUILDS_URL=$(DEPS_PREFIX)/$(DEPS_VER)/$(BUILDS_FILE)
DEPS_URL=$(DEPS_PREFIX)/$(DEPS_VER)/$(DEPS_FILE)

extract-deps:
@echo "Extracting deps from mix-forge-deps repo $(DEPS_VER)..."
@cd $(SRC); wget $(BUILDS_URL) --quiet; wget $(DEPS_URL) --quiet; tar zxf $(BUILDS_FILE); tar zxf $(DEPS_FILE); rm $(BUILDS_FILE) $(DEPS_FILE);
```

Then update `Makefile`

```Makefile
travis-init: extract-deps
@echo "Initialize software required for travis (normally ubuntu software)"
```

## How to update

1. Update `DEPS_VER` in `.makefiles/dep.mk` to last release version of this repo itself for incremental build
2. Update `deps` in `mix.exs`, then `$ make dep`