Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

release-sdk.sh 2.6KB

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