xref: /aosp_15_r20/external/aws-sdk-java-v2/buildspecs/update-master-from-release.yml (revision 8a52c7834d808308836a99fc2a6e0ed8db339086)
1*8a52c783SCole Faustversion: 0.2
2*8a52c783SCole Faust
3*8a52c783SCole Faustphases:
4*8a52c783SCole Faust  install:
5*8a52c783SCole Faust    runtime-versions:
6*8a52c783SCole Faust      java: "$JAVA_RUNTIME"
7*8a52c783SCole Faust
8*8a52c783SCole Faust  pre_build:
9*8a52c783SCole Faust    commands:
10*8a52c783SCole Faust    - git config --global user.name "AWS"
11*8a52c783SCole Faust    - git config --global user.email "<>"
12*8a52c783SCole Faust    - 'PUBLIC_REPOSITORY_URL="https://[email protected]/aws/aws-sdk-java-v2.git"'
13*8a52c783SCole Faust
14*8a52c783SCole Faust  build:
15*8a52c783SCole Faust    commands:
16*8a52c783SCole Faust    - mkdir release
17*8a52c783SCole Faust    - cd release
18*8a52c783SCole Faust    -
19*8a52c783SCole Faust    - git clone -o public -b release $PUBLIC_REPOSITORY_URL .
20*8a52c783SCole Faust    - echo 'For debugging, running version command without -q'
21*8a52c783SCole Faust    - mvn -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec
22*8a52c783SCole Faust    - RELEASE_VERSION=`mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec`
23*8a52c783SCole Faust    - echo "Release version - $RELEASE_VERSION"
24*8a52c783SCole Faust    -
25*8a52c783SCole Faust    - MAJOR=$(echo $RELEASE_VERSION | cut -d'.' -f1)
26*8a52c783SCole Faust    - MINOR=$(echo $RELEASE_VERSION | cut -d'.' -f2)
27*8a52c783SCole Faust    - POINT=$(echo $RELEASE_VERSION | cut -d'.' -f3)
28*8a52c783SCole Faust    - NEW_VERSION_SNAPSHOT="$MAJOR.$MINOR.$((POINT + 1))-SNAPSHOT"
29*8a52c783SCole Faust    - echo "New snapshot version - $NEW_VERSION_SNAPSHOT"
30*8a52c783SCole Faust    -
31*8a52c783SCole Faust    - git checkout master
32*8a52c783SCole Faust    - git merge public/release --no-edit
33*8a52c783SCole Faust    -
34*8a52c783SCole Faust    - MASTER_VERSION=`mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec`
35*8a52c783SCole Faust    - echo "Master version - $MASTER_VERSION"
36*8a52c783SCole Faust    -
37*8a52c783SCole Faust    - |
38*8a52c783SCole Faust      if [ "$MASTER_VERSION" != "$NEW_VERSION_SNAPSHOT" ]; then
39*8a52c783SCole Faust
40*8a52c783SCole Faust        mvn versions:set -DnewVersion=$NEW_VERSION_SNAPSHOT -DgenerateBackupPoms=false -DprocessAllModules=true || { echo "Failed to update POMs to next snapshot version"; exit 1; }
41*8a52c783SCole Faust        sed -i -E "s/(<version>).+(<\/version>)/\1$RELEASE_VERSION\2/" README.md
42*8a52c783SCole Faust        sed -i -E "s/(<awsjavasdk.previous.version>).+(<\/awsjavasdk.previous.version>)/\1$RELEASE_VERSION\2/" pom.xml
43*8a52c783SCole Faust
44*8a52c783SCole Faust        git commit -am "Update to next snapshot version: $NEW_VERSION_SNAPSHOT"
45*8a52c783SCole Faust      fi
46*8a52c783SCole Faust    -
47*8a52c783SCole Faust    - git status
48*8a52c783SCole Faust    - git push
49