forked from mirrors/gecko-dev
		
	 faa5410de1
			
		
	
	
		faa5410de1
		
	
	
	
	
		
			
			# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D162661
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # This Source Code Form is subject to the terms of the Mozilla Public
 | |
| # License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | |
| 
 | |
| 
 | |
| import re
 | |
| 
 | |
| from gecko_taskgraph.util.scriptworker import (
 | |
|     generate_beetmover_artifact_map,
 | |
|     generate_beetmover_upstream_artifacts,
 | |
| )
 | |
| 
 | |
| _ARTIFACT_ID_PER_PLATFORM = {
 | |
|     "android-aarch64-opt": "{package}-default-arm64-v8a",
 | |
|     "android-arm-opt": "{package}-default-armeabi-v7a",
 | |
|     "android-x86-opt": "{package}-default-x86",
 | |
|     "android-x86_64-opt": "{package}-default-x86_64",
 | |
|     "android-geckoview-fat-aar-opt": "{package}-default",
 | |
|     "android-aarch64-shippable": "{package}{update_channel}-omni-arm64-v8a",
 | |
|     "android-aarch64-shippable-lite": "{package}{update_channel}-arm64-v8a",
 | |
|     "android-arm-shippable": "{package}{update_channel}-omni-armeabi-v7a",
 | |
|     "android-arm-shippable-lite": "{package}{update_channel}-armeabi-v7a",
 | |
|     "android-x86-shippable": "{package}{update_channel}-omni-x86",
 | |
|     "android-x86-shippable-lite": "{package}{update_channel}-x86",
 | |
|     "android-x86_64-shippable": "{package}{update_channel}-omni-x86_64",
 | |
|     "android-x86_64-shippable-lite": "{package}{update_channel}-x86_64",
 | |
|     "android-geckoview-fat-aar-shippable": "{package}{update_channel}-omni",
 | |
|     "android-geckoview-fat-aar-shippable-lite": "{package}{update_channel}",
 | |
| }
 | |
| 
 | |
| 
 | |
| def get_geckoview_artifact_map(config, job):
 | |
|     return generate_beetmover_artifact_map(
 | |
|         config,
 | |
|         job,
 | |
|         **get_geckoview_template_vars(
 | |
|             config,
 | |
|             job["attributes"]["build_platform"],
 | |
|             job["maven-package"],
 | |
|             job["attributes"].get("update-channel"),
 | |
|         ),
 | |
|     )
 | |
| 
 | |
| 
 | |
| def get_geckoview_upstream_artifacts(config, job, package, platform=""):
 | |
|     if not platform:
 | |
|         platform = job["attributes"]["build_platform"]
 | |
|     upstream_artifacts = generate_beetmover_upstream_artifacts(
 | |
|         config,
 | |
|         job,
 | |
|         platform="",
 | |
|         **get_geckoview_template_vars(
 | |
|             config, platform, package, job["attributes"].get("update-channel")
 | |
|         ),
 | |
|     )
 | |
|     return [
 | |
|         {key: value for key, value in upstream_artifact.items() if key != "locale"}
 | |
|         for upstream_artifact in upstream_artifacts
 | |
|     ]
 | |
| 
 | |
| 
 | |
| def get_geckoview_template_vars(config, platform, package, update_channel):
 | |
|     version_groups = re.match(r"(\d+).(\d+).*", config.params["version"])
 | |
|     if version_groups:
 | |
|         major_version, minor_version = version_groups.groups()
 | |
| 
 | |
|     return {
 | |
|         "artifact_id": get_geckoview_artifact_id(
 | |
|             config,
 | |
|             platform,
 | |
|             package,
 | |
|             update_channel,
 | |
|         ),
 | |
|         "build_date": config.params["moz_build_date"],
 | |
|         "major_version": major_version,
 | |
|         "minor_version": minor_version,
 | |
|     }
 | |
| 
 | |
| 
 | |
| def get_geckoview_artifact_id(config, platform, package, update_channel=None):
 | |
|     if update_channel == "release":
 | |
|         update_channel = ""
 | |
|     elif update_channel is not None:
 | |
|         update_channel = f"-{update_channel}"
 | |
|     else:
 | |
|         # For shippable builds, mozharness defaults to using
 | |
|         # "nightly-{project}" for the update channel.  For other builds, the
 | |
|         # update channel is not set, but the value is not substituted.
 | |
|         update_channel = "-nightly-{}".format(config.params["project"])
 | |
|     return _ARTIFACT_ID_PER_PLATFORM[platform].format(
 | |
|         update_channel=update_channel, package=package
 | |
|     )
 |