Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
ca037ab
Start to use ConcurrentHashMap in order to avoid ConcurrentModificati…
claudiopastorini Aug 15, 2017
04a8494
AWS SDK for Android 2.6.1
Sep 15, 2017
3fd7efa
AWS SDK for Android 2.6.2
Sep 15, 2017
0bccb57
AWS SDK for Android 2.6.2
Sep 15, 2017
2ea84a8
AWS SDK for Android 2.6.3
Sep 27, 2017
3e1435b
AWS SDK for Android 2.6.4
Oct 5, 2017
9a38f72
AWS SDK for Android 2.6.5
Oct 12, 2017
8c77793
Update CHANGELOG.md
Oct 12, 2017
f3a1d27
fixed typo
balaneshin Oct 24, 2017
948f71e
AWS SDK for Android 2.6.6
Oct 26, 2017
2d65c28
Merge branch 'master' into patch-1
balaneshin Oct 27, 2017
13d865d
Merge branch 'master' into patch-1
balaneshin Oct 27, 2017
4a5b1db
Merge pull request #357 from balaneshin/patch-1
Oct 27, 2017
84c1016
China region should have a default domain of amazonaws.com.cn instead of
lazydragon Oct 30, 2017
d018085
Update function parseRegionName, so it correctly deal with uri that ends
lazydragon Nov 7, 2017
2393d58
(This commit resolves issue #315 (https://github.com/aws/aws-sdk-andr…
Nov 11, 2017
238f292
Create .gitignore
minbi Nov 13, 2017
dd8cac7
Added missing import java.nio.charset.StandardCharsets
Nov 13, 2017
b19fdcd
removed import
Nov 14, 2017
35f6755
AWS SDK for Android 2.6.7
Nov 16, 2017
bc7efd0
Merge pull request #362 from lazydragon/master
Nov 17, 2017
5826a13
AWS SDK for Android 2.6.8
Nov 29, 2017
130111f
Update LICENSE.txt for Amazon Kinesis Video Streams
minbi Nov 29, 2017
46ccc77
AWS SDK for Android 2.6.9
Nov 30, 2017
e18a0a0
AWS SDK for Android 2.6.10
Dec 7, 2017
0610223
AWS SDK for Android 2.6.11
Dec 15, 2017
e5f0751
AWS SDK for Android 2.6.12
Dec 21, 2017
46f9faf
Merge pull request #367 from drxeno02/leonard-resolved-issue-315
Jan 6, 2018
8d91ac8
AWS SDK for Android 2.6.13
Jan 6, 2018
67d34ac
AWS SDK for Android 2.6.14
Jan 19, 2018
1c26696
AWS SDK for Android 2.6.15
Feb 9, 2018
8ce49fa
AWS SDK for Android 2.6.15
Feb 10, 2018
5082c4d
AWS SDK for Android 2.6.16
Feb 23, 2018
420734e
Update issue template, new developer guide links
minbi Feb 28, 2018
dede9ff
AWS SDK for Android 2.6.17
Mar 15, 2018
c2309f5
Fix travis build
minbi Mar 27, 2018
b58973d
AWS SDK for Android 2.6.18
Mar 30, 2018
b2d84f4
Create stale.yml
minbi Apr 10, 2018
8153c85
Update stale.yml
minbi Apr 11, 2018
0c3eae4
Exempt feature request labels from being stale
minbi Apr 11, 2018
f81d817
AWS SDK for Android 2.6.19
May 10, 2018
45b380e
Merge branch 'master' into master
minbi May 11, 2018
48fab9e
Merge pull request #330 from claudiopastorini/master
minbi May 11, 2018
b817d14
Update AWSIotMqttManager.java
minbi May 11, 2018
9940044
Update README.md
minbi May 11, 2018
73ae64c
Add missing dependency in AWSIotMqttManager
May 11, 2018
4f6a6d5
Merge pull request #455 from aws/patch-transcribe-1
May 11, 2018
4b014d6
Create stale.yml
minbi May 16, 2018
3d9a8ce
Resolving issue #375 StorageClass header is not added to upload reque…
pzavadska May 24, 2018
1529817
Add gitignore
minbi May 23, 2018
a8f476d
Add gradle build
minbi May 23, 2018
06489d5
Update README.md
minbi May 24, 2018
6333297
Merge pull request #466 from aws/readme-refresh
May 24, 2018
6f5543f
AWS SDK for Android 2.6.20
May 25, 2018
0d37490
Update readme with new api reference location
minbi May 25, 2018
b8ae746
AWS SDK for Android 2.6.21
May 31, 2018
e2a599b
AWS SDK for Android 2.6.22
Jun 6, 2018
1d492dc
AWS SDK for Android 2.6.23
Jun 22, 2018
6953503
AWS SDK for Android 2.6.24
Jul 6, 2018
21b3c18
AWS SDK for Android 2.6.25
Jul 13, 2018
7de9f6d
AWS SDK for Android 2.6.26
Jul 18, 2018
5e7f081
AWS SDK for Android 2.6.27
Aug 3, 2018
2ea7e70
AWS SDK for Android 2.6.28
Aug 17, 2018
203303f
Added identity provider as parameter in Auth Builder (#495)
faizanmirza Aug 17, 2018
2036eba
change the code pool.getAppWebDomain to pool.getAppId to fix the issu…
Aug 14, 2018
1dc12c0
AWS SDK for Android 2.6.29
Aug 30, 2018
3656d30
Solved typo 'setMaxAutoReconnectAttepts'. (#519)
Aug 30, 2018
2816d82
AWS SDK for Android 2.6.28
Aug 30, 2018
bbcd109
AWS SDK for Android 2.6.29
Aug 31, 2018
dd45d0c
AWS SDK for Android 2.6.30
Sep 7, 2018
13cc16b
AWS SDK for Android 2.6.31
Sep 13, 2018
4aeb050
Converting project to use multi-issue templates (#531)
Sep 19, 2018
56ec57e
AWS SDK for Android 2.7.0
Sep 19, 2018
9b6caff
AWS SDK for Android 2.7.1
Sep 21, 2018
5fe0edc
Make all Pinpoint notificiations expandable
Sep 22, 2018
02815c7
AWS SDK for Android 2.7.2
Sep 25, 2018
ef7bab8
AWS SDK for Android 2.7.3
Sep 27, 2018
508a0a8
Update stalebot config (#538)
Oct 5, 2018
27c253b
AWS SDK for Android 2.7.4
Oct 5, 2018
010bb23
Changed type of mqttMessageQueue to ConcurrentLinkedQueue (#532)
rvp-thunderbuild Oct 11, 2018
0391670
AWS SDK for Android 2.7.5
Oct 11, 2018
52848f6
AWS SDK for Android 2.7.6
Oct 23, 2018
012b2b3
Remove forums link (#557)
minbi Oct 26, 2018
2d4cb51
Update README.md
Oct 26, 2018
92d1057
AWS SDK for Android 2.7.7
Nov 2, 2018
ecdf522
Add millis prefix to seconds in CognitoIdentityProviderClientConfig.
Nov 4, 2018
3b9f66a
AWS SDK for Android 2.8.0
Nov 9, 2018
7b28ad0
Fix formatting in change log - 2.8.0 (#571)
Nov 10, 2018
fc9588b
Update README.md with new documentation (#572)
Nov 12, 2018
854f384
Added new method to allow developers to specify clean session (#569)
scb01 Nov 12, 2018
f9f46ac
AWS SDK for Android 2.8.1
Nov 13, 2018
a0905c1
Update README.md
Nov 13, 2018
676dc60
AWS SDK for Android 2.8.2
Nov 13, 2018
922d92d
AWS SDK for Android 2.8.3
Nov 20, 2018
349ad48
Update AwsIotEndpointUtility.java (#580)
brandonbai Nov 21, 2018
ac54cca
AWS SDK for Android 2.8.4
Nov 21, 2018
efb3bda
Update CognitoSecretHash.java
NischalManandhar Nov 29, 2018
e94d64e
Update CognitoSecretHash.java
NischalManandhar Nov 29, 2018
96d9eb9
Add support of idp_identifier field for /oauth/authorization endpoint
rlatapy-luna Dec 6, 2018
1360fea
Update javadoc for cognito auth's identity provider identifier
minbi Dec 6, 2018
ae536ad
AWS SDK for Android 2.8.5
Dec 6, 2018
3ba0c3f
AWS SDK for Android 2.9.0
Dec 12, 2018
1989056
Prevent HandlerThread leak of AWSIotMqttManager
hirofumi Dec 6, 2018
b3d330a
Use intent to pass custom flags for CognitoAuth client (#608)
rlatapy-luna Dec 12, 2018
82dc00e
Add iot unit and integrations tests
minbi Dec 13, 2018
5308428
[IoT] Fix publish while reconnecting error reporting (#427)
sunilpalacherla Dec 13, 2018
db5f487
AWS SDK for Android 2.9.1
Dec 14, 2018
c3c706b
Fix reconnection failure upon network disconnect(Issue#584) (#612)
desokroshan Dec 15, 2018
efcbfb6
Fix pinpoint PutEvents response unmarshaller
minbi Dec 28, 2018
48385c8
AWS SDK for Android 2.9.2
Jan 2, 2019
3bcbc84
AWS SDK for Android 2.10.0
Jan 3, 2019
f044cd7
Add missing withAttributes to Event payload (#641)
datkinnguyen Jan 10, 2019
c9e088b
Configure CircleCI (#642)
Jan 11, 2019
7a2955c
AWS SDK for Android 2.10.1
Jan 11, 2019
1bbd59c
Add CircleCI script for release process (#649)
Jan 15, 2019
35f6fbd
Add beta tag for docs (#650)
Jan 15, 2019
be9627b
Update maven_release.sh (#651)
minbi Jan 16, 2019
161d908
Add javadoc groups for mobile analytics and cognito sync (#652)
Jan 16, 2019
85e59c3
Update config.yml to store maven artifacts from build (#653)
minbi Jan 16, 2019
63b89b0
Update config.yml (#654)
minbi Jan 16, 2019
ab601ac
Debug maven release folder structure (#655)
minbi Jan 16, 2019
2d1deb1
Update CircleCI scripts and process (#656)
minbi Jan 16, 2019
7ba0f6f
AWS SDK for Android 2.11.0
Jan 16, 2019
8a099e6
Re-adding gradle-wrapper.jar
palpatim Jan 16, 2019
a8a4ad2
fast forward and conflict resolution
alevkov Jan 18, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
389 changes: 389 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,389 @@
# Android CircleCI 2.0 configuration file
#
version: 2.1
commands:
configure_aws:
description: >-
install aws cli and configure android aws release profile
steps:
- run:
name: install aws cli
command: |
sudo pip install awscli
- run:
name: configure aws profile
command: |
aws configure --profile android_sdk_release set region us-east-1
echo -e "[android_sdk_release]\naws_access_key_id=${AWS_ACCESS_KEY_ID_ANDROID}\naws_secret_access_key=${AWS_SECRET_ACCESS_KEY_ANDROID}\n" >> ~/.aws/credentials

set_enviroment_variables:
description: >-
set environment variables
steps:
- run:
name: set environment variables
command: |
sdkName=aws-android-sdk
echo "export sdkName=$sdkName" >> $BASH_ENV

release_bucket=${RELEASE_BUCKET}
echo "export release_bucket=$release_bucket" >> $BASH_ENV

release_tag=${CIRCLE_TAG}
echo "export release_tag=$release_tag" >> $BASH_ENV

release_version=$(echo "$release_tag" | sed 's|.*v\([0-9\.]*\).*|\1|')
echo "export release_version=$release_version" >> $BASH_ENV

sdkNameWithVersion="$sdkName-$release_version"
echo "export sdkNameWithVersion=$sdkNameWithVersion" >> $BASH_ENV

release_type=$(echo "$release_tag" | sed 's|\(.*\)_v\([0-9\.]*\).*|\1|')
echo "export release_type=$release_type" >> $BASH_ENV

jobs:
build:
working_directory: ~/code
docker:
- image: circleci/android:api-27-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- run:
name: build the whole project
command: |
echo "id=${android_distribution_id}"
bash gradlew build -x test

buildforrelease:
working_directory: ~/code
docker:
- image: circleci/android:api-27-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- run:
name: build the whole project
command: bash gradlew build -x test
- run:
name: copy libs
command: |
rootfolder=$(pwd)
python3 CircleciScripts/copy_libs.py "$(pwd)" "$(pwd)/lib"
- save_cache:
key: Libs-{{ .Revision }}
paths:
- lib

unittest:
working_directory: ~/code
docker:
- image: circleci/android:api-27-alpha
environment:
JVM_OPTS: -Xmx1024m
steps:
- checkout
- set_enviroment_variables
- run:
name: run unit tests
command: |
python3 CircleciScripts/run_unittest.py "~/test_results" "$(pwd)"
- run:
name : check unit test result
command : |
echo "testresult=$testresult"
if [ "$testresult" == "0" ]
then
echo "test succeed!"
else
echo "There are test failures"
exit 1
fi
- store_artifacts:
path: "~/test_results"

release_tag:
working_directory: ~/code
docker:
- image: circleci/golang:1.11
steps:
- checkout
- set_enviroment_variables
- run:
name: install github-release
command: go get github.com/aktau/github-release
- run:
name: release the tag
command: |
tagdescription=$(sed -n "/## \[Release $release_version\]/,/## \[Release [0-9]*\.[0-9]*\.[0-9]\]/p" CHANGELOG.md | sed '1d' | sed '$d')
echo "$tagdescription" | github-release release -s ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -t $release_tag --name "$tagname" -d -

release_javadoc:
docker:
- image: circleci/android:api-27-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- set_enviroment_variables
- run:
name: install python3-pip
command: |
sudo apt-get update
sudo apt-get -y install python3-pip
- run:
name: install json parser
command: sudo pip3 install demjson
- run:
name: install aws cli
command: |
sudo pip install awscli
- run:
name: download third party libraries
command: |
aws s3 cp s3://android-circleci-payload/third-party/third-party.zip third-party.zip
unzip third-party.zip
cp "$ANDROID_HOME/platforms/android-27/android.jar" third-party/android.jar
- run:
name: generate documents
command: |
currentfolder=$(pwd)
python3 CircleciScripts/generate_javadoc.py CircleciScripts/ReleaseConfiguration.json "$currentfolder" build/javadoc third-party "$release_version"
- run:
name: check out gh-pages and preserve old document
command: |
git config --local user.name "${GITHUB_USER}"
git checkout gh-pages
git checkout master CircleciScripts/preserve_olddocument.sh
bash CircleciScripts/preserve_olddocument.sh
- run:
name: copy new document
command: |
rm -rf docs/reference
mkdir -p docs/reference
cp -R build/javadoc/* docs/reference/
- run:
name: check in documents
command: |
git add docs/reference
git rm --cached CircleciScripts/preserve_olddocument.sh
git commit -m "AWS SDK for Android $release_version"
if [ "$release_type" == "release" ]
then
git push -q https://${GITHUB_TOKEN}@github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}.git
else
echo "skip checkin API reference"
zip -r docs.zip docs
fi
- store_artifacts:
path: "docs.zip"
- save_cache:
key: API-Reference-{{ .Revision }}
paths:
- docs/reference/
- run:
name: Add documentation tags to gh-pages
command: |
git config --local user.name "${GITHUB_USER}"
git checkout gh-pages

if [ "$release_type" == "release" ]
then
git tag -a "docs_v$release_version" -m "Add documentation tags to version $release_version"
else
git tag -a "beta_docs_v$release_version" -m "Add documentation tags to version $release_version"
fi

git push --tags -q https://${GITHUB_TOKEN}@github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}.git

release_maven:
macos:
xcode: "10.1.0" # Xcode version number does not matter here, we just need a MacOS image
steps:
- checkout
- configure_aws
- set_enviroment_variables
- run:
name: Install Android SDK tools
command: |
HOMEBREW_LOGS=~/homebrew-logs
HOMEBREW_TEMP=~/homebrew-temp
brew update
brew doctor
brew tap caskroom/cask
brew cask install android-sdk
- run:
name: Install Android build tools
command: |
sudo yes | /usr/local/bin/sdkmanager "platforms;android-21" "platforms;android-27" "build-tools;27.0.1" "extras;google;m2repository" "extras;android;m2repository"
/usr/local/bin/sdkmanager --update
- run:
name: Install GPG
command: |
brew install gnupg
- run:
name: Install Maven
command: |
brew install maven
- run:
name: Set environment variables
command: |
echo ~
ls /usr/local/share/android-sdk
ANDROID_HOME="/usr/local/share/android-sdk"
echo 'export ANDROID_HOME="/usr/local/share/android-sdk"' >> $BASH_ENV
echo "Home: ${HOME}"
echo "JAVA_HOME: $JAVA_HOME"
echo "ANDROID_HOME: $ANDROID_HOME"
echo "PATH: $PATH"
echo 'export ANDROID_PLATFORM="27"' >> $BASH_ENV
echo 'export ANDROID_BUILDTOOL_VERSION="27.0.1"' >> $BASH_ENV
- run:
name: Download gpghome
command: |
aws s3 cp s3://android-circleci-payload/gpghome/gpghome.zip gpghome.zip
unzip -a gpghome.zip
- run:
name: publish to maven
command: |
echo "${HOME}"
echo "$ANDROID_HOME"
bash CircleciScripts/maven_release.sh
mkdir m2
cp -r ${HOME}/.m2/com/amazonaws/* m2
- store_artifacts:
path: m2
# - run:
# name: upload to maven
# command: |
# python3 CircleciScripts/s3_maven.py "$(pwd)" $release_version android_sdk_release "$release_bucket/com/amazonaws"

release_s3:
docker:
- image: circleci/android:api-27-alpha
environment:
JVM_OPTS: -Xmx1024m
steps:
- checkout
- configure_aws
- set_enviroment_variables
- run:
name: Copy SDK resource files
command: |
mkdir -p "$sdkNameWithVersion"
python3 CircleciScripts/copy_resourcefiles.py "$(pwd)" "$(pwd)/$sdkNameWithVersion"
- restore_cache:
key: Libs-{{ .Revision }}
- run:
name: Copy libs
command: |
mkdir -p "$sdkNameWithVersion/lib"
cp -R /home/circleci/code/lib/* "$sdkNameWithVersion/lib"
- restore_cache:
key: API-Reference-{{ .Revision }}
- run:
name: Copy API reference
command: |
mkdir -p "$sdkNameWithVersion/documentation/javadoc"
cp -R docs/reference/* "$sdkNameWithVersion/documentation/javadoc"
- run:
name: copy third party
command: |
aws s3 cp s3://android-circleci-payload/third-party/third-party.zip third-party.zip
unzip third-party.zip
mv third-party "$sdkNameWithVersion/third-party"

- run:
name: zip sdk folder
command: |
zip -r "$sdkNameWithVersion.zip" "$sdkNameWithVersion"

- run:
name: copy zip file
command: |
mkdir -p sdkfiles
cp "$sdkNameWithVersion.zip" "sdkfiles/$sdkNameWithVersion.zip"
- store_artifacts:
path: sdkfiles
- run:
name: check current release release_type
command: |
if [ "$release_type" != "release" ]
then
echo "skip upload to s3 because this is not a release"
circleci step halt
fi
- run:
name: upload to s3
command: |
aws s3 cp "$sdkNameWithVersion.zip" "s3://$release_bucket/$sdkNameWithVersion.zip" --profile android_sdk_release
aws s3 cp "$sdkNameWithVersion.zip" "s3://$release_bucket/latest/$sdkName.zip" --profile android_sdk_release
- run:
name: invalidate cloudfront
command: |
python3 CircleciScripts/cloudfront_invalidate.py android_sdk_release "${android_distribution_id}" "$sdkName.zip"

workflows:
version: 2

build_test:
jobs:
- build
- unittest:
requires:
- build
release_sdk:
jobs:
- buildforrelease:
filters:
branches:
ignore: /.*/
tags:
only: /^(release|beta)_v[0-9]+.[0-9]+.[0-9]+$/

- unittest:
filters:
branches:
ignore: /.*/
tags:
only: /^(release|beta)_v[0-9]+.[0-9]+.[0-9]+$/

- release_maven:
requires:
- unittest
filters:
branches:
ignore: /.*/
tags:
only: /^(release|beta)_v[0-9]+.[0-9]+.[0-9]+$/

- release_javadoc:
requires:
- unittest
filters:
branches:
ignore: /.*/
tags:
only: /^(release|beta)_v[0-9]+.[0-9]+.[0-9]+$/

- release_s3:
requires:
- buildforrelease
- release_javadoc
- release_maven
filters:
branches:
ignore: /.*/
tags:
only: /^(release|beta)_v[0-9]+.[0-9]+.[0-9]+$/

- release_tag:
requires:
- release_s3
filters:
branches:
ignore: /.*/
tags:
only: /^(release|beta)_v[0-9]+.[0-9]+.[0-9]+$/
Loading