server-share/Makefile

119 строки
3.4 KiB
Makefile
Исходник Обычный вид История

2011-03-24 15:46:07 +03:00
APPNAME = server-shared-send
DEPS = server-share-core
VIRTUALENV = virtualenv
2011-03-28 14:13:36 +04:00
NOSE = bin/nosetests
NOSETESTS_ARGS = -s --with-xunit --with-coverage --cover-package=linkdrop,linkoauth --cover-erase
TESTS = linkdrop/tests deps/server-share-core/linkoauth/tests
2011-03-24 15:46:07 +03:00
PYTHON = bin/python
version = $(shell $(PYTHON) setup.py --version)
tag = $(shell grep tag_build setup.cfg | cut -d= -f2 | xargs echo )
2011-03-24 15:46:07 +03:00
EZ = bin/easy_install
COVEROPTS = --cover-html --cover-html-dir=html --with-coverage --cover-package=linkdrop
2011-03-25 20:19:05 +03:00
COVERAGE := coverage
2011-03-24 15:46:07 +03:00
PYLINT = bin/pylint
PKGS = linkdrop
2011-03-15 23:22:52 +03:00
version := 0.3.2
2011-03-25 19:48:47 +03:00
2010-09-29 00:42:26 +04:00
ifeq ($(TOPSRCDIR),)
export TOPSRCDIR = $(shell pwd)
endif
srcdir=$(TOPSRCDIR)/extensions/firefox-share/src/
objdir=$(TOPSRCDIR)/extensions/firefox-share/dist/
2011-03-18 19:46:20 +03:00
dist_dir=$(TOPSRCDIR)/dist
2010-09-29 00:42:26 +04:00
stage_dir=$(objdir)/stage
xpi_dir=$(TOPSRCDIR)/web/dev
web_dir=$(TOPSRCDIR)/web/dev
static_dir=$(TOPSRCDIR)/web/$(version)
webbuild_dir=$(TOPSRCDIR)/tools/webbuild
requirejs_dir=$(webbuild_dir)/requirejs
2010-09-29 00:42:26 +04:00
xpi_name := ffshare.xpi
xpi_files := bootstrap.js chrome install.rdf modules
dep_files := Makefile $(shell find $(srcdir) -type f)
2010-09-29 00:42:26 +04:00
SLINK = ln -sf
ifneq ($(findstring MINGW,$(shell uname -s)),)
SLINK = cp -r
export NO_SYMLINK = 1
endif
all: xpi
xpi: $(xpi_dir)/$(xpi_name)
2010-09-29 00:42:26 +04:00
$(xpi_dir):
2010-09-29 00:42:26 +04:00
mkdir -p $(xpi_dir)
stage_files = $(stage_dir)/chrome $(stage_dir)/install.rdf $(stage_dir)/bootstrap.js $(stage_dir)/modules
$(stage_dir):
2010-09-29 00:42:26 +04:00
mkdir -p $(stage_dir)
$(MAKE) $(stage_files)
$(stage_dir)/bootstrap.js: $(srcdir)/bootstrap.js
$(SLINK) $(srcdir)/bootstrap.js $(stage_dir)/bootstrap.js
2010-09-29 00:42:26 +04:00
$(stage_dir)/install.rdf: $(srcdir)/install.rdf
$(SLINK) $(srcdir)/install.rdf $(stage_dir)/install.rdf
2010-09-29 00:42:26 +04:00
$(stage_dir)/chrome: $(srcdir)/chrome
$(SLINK) $(srcdir)/chrome $(stage_dir)/chrome
$(stage_dir)/modules: $(srcdir)/modules
$(SLINK) $(srcdir)/modules $(stage_dir)/modules
$(xpi_dir)/$(xpi_name): $(xpi_dir) $(stage_dir) $(dep_files)
2010-09-29 00:42:26 +04:00
rm -f $(xpi_dir)/$(xpi_name)
cd $(stage_dir) && zip -9r $(xpi_name) $(xpi_files)
2010-09-29 00:42:26 +04:00
mv $(stage_dir)/$(xpi_name) $(xpi_dir)/$(xpi_name)
web: $(static_dir)
$(static_dir):
2010-10-01 21:01:55 +04:00
rsync -av $(web_dir)/ $(static_dir)/
perl -i -pe "s:VERSION='[^']+':VERSION='$(version)':" $(TOPSRCDIR)/setup.py
perl -i -pe 's:/[^/]+/auth.html:/$(version)/auth.html:go' $(TOPSRCDIR)/staging.ini
perl -i -pe 's:/[^/]+/auth.html:/$(version)/auth.html:go' $(TOPSRCDIR)/production.ini
find $(static_dir) -name \*.html | xargs perl -i -pe 's:/dev/:/$(version)/:go'
perl -i -pe 's:/dev/:/$(version)/:go' $(static_dir)/scripts/oauth.js
cd $(static_dir) && $(requirejs_dir)/build/build.sh build.js
cd $(static_dir)/settings && $(requirejs_dir)/build/build.sh build.js
cd $(static_dir)/share && $(requirejs_dir)/build/build.sh build.js
cd $(static_dir)/share/panel && $(requirejs_dir)/build/build.sh build.js
2010-09-29 00:42:26 +04:00
clean:
rm -rf $(objdir)
rm -rf $(static_dir)
2011-03-18 19:46:20 +03:00
rm -rf $(dist_dir)
rm -f f1.spec
2010-09-29 00:42:26 +04:00
dist: f1.spec
2011-03-18 19:46:20 +03:00
$(PYTHON) setup.py sdist --formats gztar,zip
# This is so Hudson can get stable urls to this tarball
2011-03-23 22:46:36 +03:00
ln -sf linkdrop-$(version)$(tag).tar.gz dist/linkdrop-current.tar.gz
2011-03-18 19:46:20 +03:00
rpm: f1.spec
$(PYTHON) setup.py bdist_rpm
f1.spec: f1.spec.in Makefile
@cat f1.spec.in | sed -e"s/%%version%%/$(version)$(tag)/g" > f1.spec
2011-03-24 15:46:07 +03:00
build:
$(VIRTUALENV) --no-site-packages --distribute .
2011-03-24 15:46:07 +03:00
$(PYTHON) build.py $(APPNAME) $(DEPS)
$(EZ) nose
$(EZ) WebTest
$(EZ) Funkload
$(EZ) pylint
$(EZ) coverage
2011-03-25 19:48:47 +03:00
test:
2011-03-28 14:13:36 +04:00
$(NOSE) $(NOSETESTS_ARGS) $(TESTS)
2011-03-25 19:58:27 +03:00
$(COVERAGE) xml
2011-03-25 19:48:47 +03:00
2011-03-24 15:46:07 +03:00
.PHONY: xpi clean dist rpm build test