1
1
#! /usr/bin/env bash
2
2
3
+ #
4
+ # Configures a GPG signing key in Gradle and invokes `./gradlew publish` to sign
5
+ # and publish all artifacts.
6
+ #
7
+
8
+ function main {
9
+ require_no_pull_request
10
+ require_secure_vars
11
+ require_vars
12
+ fetch_keyring
13
+ configure_gradle
14
+ ./gradlew publish
15
+ clean_gradle_configuration
16
+ remove_keyring
17
+ }
18
+
3
19
function require_no_pull_request {
4
20
if [ -v TRAVIS_PULL_REQUEST -a " $TRAVIS_PULL_REQUEST " != " false" ]; then
5
21
echo " Building pull request. Will not publish."
@@ -30,6 +46,7 @@ function require_vars {
30
46
}
31
47
32
48
function fetch_keyring {
49
+ KEYRING_PATH=$( pwd ) /$KEYRING_FILE
33
50
echo -n " Fetching keyring: "
34
51
wget --user=" $KEYSERVER_USER " \
35
52
--password=" $KEYSERVER_PASSWORD " \
@@ -44,14 +61,6 @@ function fetch_keyring {
44
61
echo " OK"
45
62
}
46
63
47
- function configure_gradle {
48
- echo -n " Configuring Gradle: "
49
- echo " signing.secretKeyRingFile=$KEYRING_PATH " >> $GRADLE_PROPERTIES
50
- echo " signing.keyId=$KEY_ID " >> $GRADLE_PROPERTIES
51
- echo " signing.password=$KEY_PASSWORD " >> $GRADLE_PROPERTIES
52
- echo " OK"
53
- }
54
-
55
64
function remove_keyring {
56
65
echo -n " Removing keyring: "
57
66
rm -f " $KEYRING_PATH "
@@ -62,6 +71,15 @@ function remove_keyring {
62
71
echo " OK"
63
72
}
64
73
74
+ function configure_gradle {
75
+ GRADLE_PROPERTIES=~ /.gradle/gradle.properties
76
+ echo -n " Configuring Gradle: "
77
+ echo " signing.secretKeyRingFile=$KEYRING_PATH " >> $GRADLE_PROPERTIES
78
+ echo " signing.keyId=$KEY_ID " >> $GRADLE_PROPERTIES
79
+ echo " signing.password=$KEY_PASSWORD " >> $GRADLE_PROPERTIES
80
+ echo " OK"
81
+ }
82
+
65
83
function clean_gradle_configuration {
66
84
local temp_file=./gradle.properties.temp
67
85
echo -n " Tidying up Gradle configuration: "
@@ -78,17 +96,4 @@ function clean_gradle_configuration {
78
96
echo " OK"
79
97
}
80
98
81
- require_no_pull_request
82
- require_secure_vars
83
- require_vars
84
-
85
- GRADLE_PROPERTIES=~ /.gradle/gradle.properties
86
- KEYRING_PATH=$( pwd ) /$KEYRING_FILE
87
-
88
- fetch_keyring
89
- configure_gradle
90
-
91
- ./gradlew publish
92
-
93
- remove_keyring
94
- clean_gradle_configuration
99
+ main
0 commit comments