woodpecker/Makefile
Alex Suraci 10c97e5c61 vendor all dependencies with Godep
Vendored go.rice manually as a submodule. This is so that Godep picks up its
dependencies as well, so that the entirety of Drone's dependencies are
vendored in, and Drone can be built without an internet connection.
2014-04-05 14:13:28 -07:00

88 lines
2.1 KiB
Makefile

SHA := $(shell git rev-parse --short HEAD)
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
PKGS := \
build \
build/buildfile \
build/docker \
build/dockerfile \
build/proxy \
build/repo \
build/script \
channel \
database \
database/encrypt \
database/migrate \
database/testing \
mail \
model \
plugin/deploy \
queue
PKGS := $(addprefix github.com/drone/drone/pkg/,$(PKGS))
.PHONY := test $(PKGS)
all: embed build
vendor: godep
git submodule update --init --recursive
godep save ./...
embed: js rice
cd cmd/droned && rice embed
cd pkg/template && rice embed
js:
cd cmd/droned/assets && find js -name "*.js" ! -name '.*' ! -name "main.js" -exec cat {} \; > js/main.js
build:
cd cmd/drone && go build -ldflags "-X main.version $(SHA)" -o ../../bin/drone
cd cmd/droned && go build -ldflags "-X main.version $(SHA)" -o ../../bin/droned
test: $(PKGS)
$(PKGS):
go test -v $@
install:
cp deb/drone/etc/init/drone.conf /etc/init/drone.conf
test -f /etc/default/drone || cp deb/drone/etc/default/drone /etc/default/drone
cd bin && install -t /usr/local/bin drone
cd bin && install -t /usr/local/bin droned
mkdir -p /var/lib/drone
clean: rice
cd cmd/droned && rice clean
cd pkg/template && rice clean
rm -rf cmd/drone/drone
rm -rf cmd/droned/droned
rm -rf cmd/droned/drone.sqlite
rm -rf bin/drone
rm -rf bin/droned
rm -rf deb/drone.deb
rm -rf usr/local/bin/drone
rm -rf usr/local/bin/droned
rm -rf drone.sqlite
rm -rf /tmp/drone.sqlite
# creates a debian package for drone
# to install `sudo dpkg -i drone.deb`
dpkg:
mkdir -p deb/drone/usr/local/bin
mkdir -p deb/drone/var/lib/drone
mkdir -p deb/drone/var/cache/drone
cp bin/drone deb/drone/usr/local/bin
cp bin/droned deb/drone/usr/local/bin
-dpkg-deb --build deb/drone
run:
bin/droned --port=":8080" --datasource="drone.sqlite"
go-gitlab-client:
rm -rf $$GOPATH/src/github.com/plouc/go-gitlab-client
git clone -b raw-request https://github.com/fudanchii/go-gitlab-client $$GOPATH/src/github.com/plouc/go-gitlab-client
godep:
go get github.com/tools/godep
rice:
go install github.com/GeertJohan/go.rice/rice