|
@@ -5,32 +5,56 @@ set -e -u
|
5
|
5
|
|
6
|
6
|
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
7
|
7
|
DEFAULT_MVN_REPO="${THIS_DIR}/../../../jitsi-maven-repository/releases"
|
8
|
|
-export MVN_REPO=$(realpath ${1:-$DEFAULT_MVN_REPO})
|
|
8
|
+THE_MVN_REPO=${MVN_REPO:-${1:-$DEFAULT_MVN_REPO}}
|
|
9
|
+MVN_HTTP=0
|
9
|
10
|
SDK_VERSION=$(grep sdkVersion ${THIS_DIR}/../gradle.properties | cut -d"=" -f2)
|
10
|
11
|
RN_VERSION=$(jq -r '.dependencies."react-native"' ${THIS_DIR}/../../package.json)
|
11
|
12
|
|
|
13
|
+if [[ $THE_MVN_REPO == http* ]]; then
|
|
14
|
+ MVN_HTTP=1
|
|
15
|
+else
|
|
16
|
+ MVN_REPO_PATH=$(realpath $THE_MVN_REPO)
|
|
17
|
+ THE_MVN_REPO="file:${MVN_REPO_PATH}"
|
|
18
|
+fi
|
|
19
|
+
|
|
20
|
+export MVN_REPO=$THE_MVN_REPO
|
12
|
21
|
|
13
|
22
|
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
|
14
|
23
|
echo "Using ${MVN_REPO} as the Maven repo"
|
15
|
24
|
|
16
|
|
-# Check if an SDK with that same version has already been released
|
17
|
|
-if [[ -d ${MVN_REPO}/org/jitsi/react/jitsi-meet-sdk/${SDK_VERSION} ]]; then
|
18
|
|
- echo "There is already a release with that version in the Maven repo!"
|
19
|
|
- exit 1
|
20
|
|
-fi
|
21
|
|
-
|
22
|
|
-# First push React Native, if necessary
|
23
|
|
-if [[ ! -d ${MVN_REPO}/com/facebook/react/react-native/${RN_VERSION} ]]; then
|
|
25
|
+if [[ $MVN_HTTP == 1 ]]; then
|
|
26
|
+ # Push React Native
|
24
|
27
|
echo "Pushing React Native ${RN_VERSION} to the Maven repo"
|
25
|
28
|
pushd ${THIS_DIR}/../../node_modules/react-native/android/com/facebook/react/react-native/${RN_VERSION}
|
26
|
29
|
mvn \
|
27
|
30
|
deploy:deploy-file \
|
28
|
|
- -Durl=file://${MVN_REPO} \
|
|
31
|
+ -Durl=${MVN_REPO} \
|
|
32
|
+ -DrepositoryId=${MVN_REPO_ID} \
|
29
|
33
|
-Dfile=react-native-${RN_VERSION}.aar \
|
30
|
34
|
-Dpackaging=aar \
|
31
|
35
|
-DgeneratePom=false \
|
32
|
|
- -DpomFile=react-native-${RN_VERSION}.pom
|
|
36
|
+ -DpomFile=react-native-${RN_VERSION}.pom || true
|
33
|
37
|
popd
|
|
38
|
+else
|
|
39
|
+ # Check if an SDK with that same version has already been released
|
|
40
|
+ if [[ -d ${MVN_REPO}/org/jitsi/react/jitsi-meet-sdk/${SDK_VERSION} ]]; then
|
|
41
|
+ echo "There is already a release with that version in the Maven repo!"
|
|
42
|
+ exit 1
|
|
43
|
+ fi
|
|
44
|
+
|
|
45
|
+ # First push React Native, if necessary
|
|
46
|
+ if [[ ! -d ${MVN_REPO}/com/facebook/react/react-native/${RN_VERSION} ]]; then
|
|
47
|
+ echo "Pushing React Native ${RN_VERSION} to the Maven repo"
|
|
48
|
+ pushd ${THIS_DIR}/../../node_modules/react-native/android/com/facebook/react/react-native/${RN_VERSION}
|
|
49
|
+ mvn \
|
|
50
|
+ deploy:deploy-file \
|
|
51
|
+ -Durl=${MVN_REPO} \
|
|
52
|
+ -Dfile=react-native-${RN_VERSION}.aar \
|
|
53
|
+ -Dpackaging=aar \
|
|
54
|
+ -DgeneratePom=false \
|
|
55
|
+ -DpomFile=react-native-${RN_VERSION}.pom
|
|
56
|
+ popd
|
|
57
|
+ fi
|
34
|
58
|
fi
|
35
|
59
|
|
36
|
60
|
# Now build and publish the Jitsi Meet SDK and its dependencies
|
|
@@ -39,16 +63,18 @@ pushd ${THIS_DIR}/../
|
39
|
63
|
./gradlew clean assembleRelease publish
|
40
|
64
|
popd
|
41
|
65
|
|
42
|
|
-# The artifacts are now on the Maven repo, commit them
|
43
|
|
-pushd ${MVN_REPO}
|
44
|
|
-if [[ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" == "true" ]]; then
|
45
|
|
- git add -A .
|
46
|
|
- git commit -m "Jitsi Meet SDK + dependencies"
|
47
|
|
-fi
|
48
|
|
-popd
|
|
66
|
+if [[ $MVN_HTTP == 0 ]]; then
|
|
67
|
+ # The artifacts are now on the Maven repo, commit them
|
|
68
|
+ pushd ${MVN_REPO_PATH}
|
|
69
|
+ if [[ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" == "true" ]]; then
|
|
70
|
+ git add -A .
|
|
71
|
+ git commit -m "Jitsi Meet SDK + dependencies"
|
|
72
|
+ fi
|
|
73
|
+ popd
|
49
|
74
|
|
50
|
|
-# Tag the release
|
51
|
|
-git tag -a android-sdk-${SDK_VERSION}
|
|
75
|
+ # Tag the release
|
|
76
|
+ git tag -a android-sdk-${SDK_VERSION}
|
|
77
|
+fi
|
52
|
78
|
|
53
|
79
|
# Done!
|
54
|
80
|
echo "Finished! Don't forget to push the tag and the Maven repo artifacts."
|