1 #!/usr/bin/env bash 2 3 ############################################################################## 4 ## 5 ## GitHub Upload/Sync script for Android Samples 6 ## 7 ############################################################################## 8 9 ##replace with auth token for google-automerger GitHub account 10 TOKEN=herpderp 11 12 ##iterate through samples 13 14 cd ./prebuilts/gradle 15 for i in $(ls); 16 17 ##for testing 18 #foo="ActionBarCompat-Basic" 19 #foo="ActionBarCompat-Basic ActionBarCompat-ListPopupMenu FooBar" 20 #foo="ActionBarCompat-Basic Notifications" 21 #for i in $foo; 22 23 do 24 echo " 25 $i" 26 27 URL=https://github.com/googlesamples/android-$i 28 29 result=$(curl -o /dev/null --silent --head --write-out '%{http_code}' "$URL") 30 #echo "$result $URL" 31 32 ##checking to see if the repo already exists 33 if [ "$result" != "404" ]; then 34 echo "$i already exists as a repo" 35 else 36 echo "A repo for $i does not exist yet" 37 38 repoName="googlesamples/android-$i" 39 40 #echo " 41 #URL Repo Name: 42 #"$repoName 43 44 45 CREATE="curl -H 'Authorization: token '$TOKEN \ 46 -d '{\"name\":\"android-'$i'\", \"team_id\":889859}' \ 47 https://api.github.com/orgs/googlesamples/repos" 48 49 #echo " 50 #Create Script: 51 #"$CREATE 52 53 eval $CREATE 54 55 #add secondary team permissions (robots) 56 ADDTEAM="curl -X PUT \ 57 -H 'Authorization: token '$TOKEN \ 58 -H 'Content-Length: 0' \ 59 https://api.github.com/teams/889856/repos/$repoName" 60 61 #echo " 62 #Add Team Robots: 63 #"$ADDTEAM 64 65 eval $ADDTEAM 66 67 68 URL="https://$TOKEN@github.com/$repoName" 69 #echo " 70 #Authenticated URL: 71 #"$URL 72 73 cd $i 74 git init 75 #overrides .gitconfig just for this project - does not alter your global settings. 76 git config user.name "google-automerger" 77 git config user.email automerger@google.com 78 git add . 79 git commit -m "Initial Commit" 80 git remote add origin $URL 81 git push origin master 82 cd .. 83 fi 84 done 85 86