-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
73 lines (66 loc) · 2.34 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 2019 ProximaX Limited. All rights reserved.
# Use of this source code is governed by the Apache 2.0
# license that can be found in the LICENSE file.
# we use java
language: java
# use openjdk8 for the build
jdk:
- openjdk8
env:
global:
- ORG_GRADLE_PROJECT_signingKey="`echo $GPG_SECRET_KEYS | base64 -d`"
- ORG_GRADLE_PROJECT_signingPassword=$GPG_PASSPHRASE
- ORG_GRADLE_PROJECT_sonatypeUsername=$SONATYPE_USERNAME
- ORG_GRADLE_PROJECT_sonatypePassword=$SONATYPE_PASSWORD
# cache maintenance for gradle builds to avoid upload of caches
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -f $HOME/.gradle/caches/*/javaCompile/javaCompile.lock
- rm -f $HOME/.gradle/caches/*/fileHashes/fileHashes.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
- rm -fr $HOME/.gradle/caches/journal-1/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
# prepare for build
before_install:
# make sure all travis scripts are executable
- chmod -R ug+x travis
install:
# download dependencies (at least most of them)
- ./gradlew downloadDependencies --console=plain
# add publishing stage that publishes data out
jobs:
include:
- stage: build and coverage
jdk: openjdk8
script:
- ./gradlew build jacocoTestReport coveralls --console=plain
- stage: publish snapshot
jdk: openjdk8
if: type = push AND branch = master
script:
- echo "Publishing snapshot"
- ./gradlew publishAllPublicationsToSnapshotRepository --console=plain
- stage: prepare release
jdk: openjdk8
if: tag IS present
script:
- echo "Publishing release $TRAVIS_TAG to public repository"
- ./gradlew javadoc publishAllPublicationsToReleaseRepository -Pversion=$TRAVIS_TAG --console=plain
- echo "Prepare github pages for deployment"
- travis/prepare_pages.sh
deploy:
provider: pages
# keep the build output
skip_cleanup: true
# keep git history of the pages
keep_history: true
# let stage control whether to deploy or not
on:
all_branches: true
# Set in the settings page of your repository, as a secure variable
github_token: $PAGES_TOKEN
# prepare_pages puts content to build/gh-pages
local_dir: "build/gh-pages"