| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- #!/bin/bash
- set -euo pipefail
- # Copyright (C) 2016 The Syncthing Authors.
- #
- # This Source Code Form is subject to the terms of the Mozilla Public
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at https://mozilla.org/MPL/2.0/.
- ulimit -t 600 || true
- ulimit -d 1024000 || true
- ulimit -m 1024000 || true
- export CGO_ENABLED=0
- export GO386=387
- export GOARM=5
- function init {
- echo Initializing
- export GOPATH=$(pwd)
- export WORKSPACE="${WORKSPACE:-$GOPATH}"
- go version
- rm -f *.tar.gz *.zip *.deb *.snap
- cd src/github.com/syncthing/syncthing
- version=$(go run build.go version)
- echo "Building $version"
- echo
- }
- function clean {
- echo Cleaning
- rm -rf "$GOPATH/pkg"
- git clean -fxd
- rm -rf parts # created by snapcraft, contains git repo so not cleaned by git above
- echo
- }
- function fetchExtra {
- echo Fetching extra resources
- mkdir extra
- curl -s -o extra/Getting-Started.pdf https://docs.syncthing.net/pdf/Getting-Started.pdf
- curl -s -o extra/FAQ.pdf https://docs.syncthing.net/pdf/FAQ.pdf
- echo
- }
- function checkAuthorsCopyright {
- echo Basic metadata checks
- go run script/check-authors.go
- go run script/check-copyright.go lib/ cmd/ script/
- echo
- }
- function build {
- echo Build
- go run build.go
- echo
- }
- function test {
- echo Test with race
- CGO_ENABLED=1 go run build.go -race test
- echo
- }
- function testWithCoverage {
- echo Test with coverage
- CGO_ENABLED=1 ./build.sh test-cov
- notCovered=$(egrep -c '\s0$' coverage.out)
- total=$(wc -l coverage.out | awk '{print $1}')
- coverPct=$(awk "BEGIN{print (1 - $notCovered / $total) * 100}")
- echo "$coverPct" > "coverage.txt"
- echo "Test coverage is $coverPct%%"
- echo
- }
- function buildSource {
- echo Archiving source
- echo "$version" > RELEASE
- pushd .. >/dev/null
- tar c -z -f "$WORKSPACE/syncthing-source-$version.tar.gz" --exclude .git syncthing
- popd >/dev/null
- echo
- }
|