blob: c3f69474466a6263e36fd1ba40149b6846686baa [file] [log] [blame]
#!/usr/bin/python3
"""
Copyright 2018 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import argparse, os, subprocess, sys
NAME_HELP = '''
The name of the artifact you want to add to the prebuilts folder.
E.g. android.arch.work:work-runtime-ktx:1.0.0-alpha07
'''
ANDROIDX_BUILD_ID_HELP = '''
The build id of https://ci.android.com/builds/branches/aosp-androidx-main/grid?
to use for fetching androidx prebuilts.
'''
METALAVA_BUILD_ID_HELP = '''
The build id of https://ci.android.com/builds/branches/aosp-metalava-master/grid?
to use for metalava prebuilt fetching.
'''
ALLOW_JETBRAINS_DEV_HELP = '''
Whether or not to allow artifacts to be fetched from Jetbrains' dev repository
E.g. https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev
'''
FETCH_KMP_ARTIFACTS_HELP = '''
If set, we'll fetch all KMP artifacts as well
E.g. passing -n "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1" will fetch native targets
of coroutines-core as well.
'''
if sys.version_info[0] < 3: raise Exception("Python 2 is not supported by this script. If your system python calls python 2 after python 2 end-of-life on Jan 1 2020, you should probably change it.")
def main():
"""Parses the command line arguments, and executes the gradle script
which downloads the maven artifacts.
"""
os.chdir(os.path.dirname(sys.argv[0]))
parser = argparse.ArgumentParser(
description='Helps download maven artifacts to prebuilts.')
parser.add_argument('-n', '--name', help=NAME_HELP,
required=True, dest='name')
parser.add_argument('-ab', '--androidx-build-id', help=ANDROIDX_BUILD_ID_HELP,
required=False, dest='androidx_build_id')
parser.add_argument('-mb', '--metalava-build-id', help=METALAVA_BUILD_ID_HELP,
required=False, dest='metalava_build_id')
parser.add_argument('-ajd', '--allow-jetbrains-dev', help=ALLOW_JETBRAINS_DEV_HELP,
required=False, action='store_true')
parser.add_argument('-kmp', '--fetch-kmp-artifacts', help=FETCH_KMP_ARTIFACTS_HELP,
required=False, action='store_true')
parse_result = parser.parse_args()
artifact_name = parse_result.name
command = 'importMaven.sh %s' % (artifact_name)
# AndroidX Build Id
androidx_build_id = parse_result.androidx_build_id
if (androidx_build_id):
command = command + ' --androidx-build-id %s' % (androidx_build_id)
# Metalava Build Id
metalava_build_id = parse_result.metalava_build_id
if (metalava_build_id):
command = command + ' --metalava-build-id %s' % (metalava_build_id)
if (parse_result.allow_jetbrains_dev):
command = command + ' --allow-jetbrains-dev'
my_directory = os.path.dirname(sys.argv[0])
sys.exit("""
This script is deprecated and will be removed. Please execute:
%s/%s
See %s/README.md for more details.
""" % (my_directory, command, my_directory))
if __name__ == '__main__':
main()