瀏覽代碼

Update build scripts; add riak_err as a dep

pull/4/head
Andrew Thompson 14 年之前
父節點
當前提交
9085282152
共有 3 個檔案被更改,包括 141 行新增3 行删除
  1. +136
    -3
      Makefile
  2. 二進制
      rebar
  3. +5
    -0
      rebar.config

+ 136
- 3
Makefile 查看文件

@ -1,8 +1,141 @@
all:
REPO ?= riak
RIAK_TAG = $(shell git describe --tags)
REVISION ?= $(shell echo $(RIAK_TAG) | sed -e 's/^$(REPO)-//')
PKG_VERSION ?= $(shell echo $(REVISION) | tr - .)
.PHONY: rel stagedevrel deps
all: deps compile
compile:
./rebar compile
deps:
./rebar get-deps
clean:
./rebar clean
test: all
./rebar eunit
distclean: clean devclean relclean ballclean
./rebar delete-deps
test:
./rebar skip_deps=true eunit
##
## Release targets
##
rel: deps
./rebar compile generate
relclean:
rm -rf rel/riak
##
## Developer targets
##
stagedevrel: dev1 dev2 dev3 dev4
$(foreach dev,$^,\
$(foreach dep,$(wildcard deps/*), rm -rf dev/$(dev)/lib/$(shell basename $(dep))-* && ln -sf $(abspath $(dep)) dev/$(dev)/lib;))
devrel: dev1 dev2 dev3 dev4
dev1 dev2 dev3 dev4:
mkdir -p dev
(cd rel && ../rebar generate target_dir=../dev/$@ overlay_vars=vars/$@_vars.config)
devclean: clean
rm -rf dev
stage : rel
$(foreach dep,$(wildcard deps/*), rm -rf rel/riak/lib/$(shell basename $(dep))-* && ln -sf $(abspath $(dep)) rel/riak/lib;)
##
## Doc targets
##
docs:
./rebar skip_deps=true doc
@cp -R apps/luke/doc doc/luke
@cp -R apps/riak_core/doc doc/riak_core
@cp -R apps/riak_kv/doc doc/riak_kv
orgs: orgs-doc orgs-README
orgs-doc:
@emacs -l orgbatch.el -batch --eval="(riak-export-doc-dir \"doc\" 'html)"
orgs-README:
@emacs -l orgbatch.el -batch --eval="(riak-export-doc-file \"README.org\" 'ascii)"
@mv README.txt README
APPS = kernel stdlib sasl erts ssl tools os_mon runtime_tools crypto inets \
xmerl webtool snmp public_key mnesia eunit syntax_tools compiler
COMBO_PLT = $(HOME)/.riak_combo_dialyzer_plt
check_plt: compile
dialyzer --check_plt --plt $(COMBO_PLT) --apps $(APPS) \
deps/*/ebin
build_plt: compile
dialyzer --build_plt --output_plt $(COMBO_PLT) --apps $(APPS) \
deps/*/ebin
dialyzer: compile
@echo
@echo Use "'make check_plt'" to check PLT prior to using this target.
@echo Use "'make build_plt'" to build PLT prior to using this target.
@echo
@sleep 1
dialyzer -Wno_return --plt $(COMBO_PLT) deps/*/ebin | \
fgrep -v -f ./dialyzer.ignore-warnings
cleanplt:
@echo
@echo "Are you sure? It takes about 1/2 hour to re-build."
@echo Deleting $(COMBO_PLT) in 5 seconds.
@echo
sleep 5
rm $(COMBO_PLT)
# Release tarball creation
# Generates a tarball that includes all the deps sources so no checkouts are necessary
archivegit = git archive --format=tar --prefix=$(1)/ HEAD | (cd $(2) && tar xf -)
archivehg = hg archive $(2)/$(1)
archive = if [ -d ".git" ]; then \
$(call archivegit,$(1),$(2)); \
else \
$(call archivehg,$(1),$(2)); \
fi
buildtar = mkdir distdir && \
git clone . distdir/riak-clone && \
cd distdir/riak-clone && \
git checkout $(RIAK_TAG) && \
$(call archive,$(RIAK_TAG),..) && \
mkdir ../$(RIAK_TAG)/deps && \
make deps; \
for dep in deps/*; do \
cd $${dep} && \
$(call archive,$${dep},../../../$(RIAK_TAG)) && \
mkdir -p ../../../$(RIAK_TAG)/$${dep}/priv && \
git rev-list --max-count=1 HEAD > ../../../$(RIAK_TAG)/$${dep}/priv/git.vsn && \
cd ../..; done
distdir:
$(if $(RIAK_TAG), $(call buildtar), $(error "You can't generate a release tarball from a non-tagged revision. Run 'git checkout <tag>', then 'make dist'"))
dist $(RIAK_TAG).tar.gz: distdir
cd distdir; \
tar czf ../$(RIAK_TAG).tar.gz $(RIAK_TAG)
ballclean:
rm -rf $(RIAK_TAG).tar.gz distdir
package: dist
$(MAKE) -C package package
pkgclean:
$(MAKE) -C package pkgclean
.PHONY: package
export PKG_VERSION REPO REVISION RIAK_TAG

二進制
rebar 查看文件


+ 5
- 0
rebar.config 查看文件

@ -1,2 +1,7 @@
{erl_opts, [debug_info, fail_on_warning]}.
{deps, [
{riak_err, "1.0.*", {git, "git://github.com/basho/riak_err.git", {branch, "master"}}}
]}.

Loading…
取消
儲存