Migrate fetch_artifact tool to Android Build API v4.
Update fetch_artifact.go to use the Android Build API v4 endpoints
because v3 will soon be deprecated.
Bug: 538355099
Test: go build -o out/fetch_artifact fetch_artifact.go && \
out/fetch_artifact -artifact=<> -build_id=<> -target=<> \
-client_id=<> -secret=<> -project_id=<>
Change-Id: I836615b15b36ca4d9cc15908a8280087eabe858d
Fetch artifact is a tool for downloading artifacts from Android's continuous integration service.
target: Required - The target you would like to download the artifact from.artifact: Required - The artifact to download.build_id or branch, but not bothbuild_id is provided, the script would download the artifact from that build_id.branch is provided, the script would download the artifact from the last known good build of that branch.output: Optional - If you would like the contents of the file to be written to a specific file.client_id: Optional - If authorization is required to download the artifact, please set this parameter as your OAuth2.0 Client ID.secret: Optional - If authorization is required to download the artifact, please set this parameter as your OAuth2.0 Client secret.port: Optional - If you would like to specify the OAuth callback port to listen on. Default: 10502project_id: Optional - The project id being used to access the fetch APIs.-: Optional - If you would like the contents of the file to be written to stdout (must be the last arg)fetch_artifact -target=aosp_arm64-userdebug -build_id=7000390 -artifact=COPIED
fetch_artifact -target=aosp_arm64-userdebug -build_id=7000390 -artifact=COPIED -
fetch_artifact -target=aosp_arm64-trunk_staging-userdebug -branch=aosp-main -artifact=COPIED
In this case, you might need to create an OAuth 2.0 Client ID for a web application and set the redirect URI to http://localhost:<port>(default port: 10502).
fetch_artifact -target=<restricted_target> -build_id=<id> -artifact=COPIED -client_id=<OAuth_client_id> -secret=<OAuth_client_secret>
If you are accessing the fetch APIs from a different project than your OAuth client, you will need to specify the -project_id flag:
fetch_artifact -target=<restricted_target> -build_id=<id> -artifact=COPIED -client_id=<OAuth_client_id> -secret=<OAuth_client_secret> -project_id=<project_id>
OUT_DIR=out ./build