blob: 4e603bffbdada30472f1134b89868e88c6f65113 [file] [edit]
#!/usr/bin/env python3
# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import json
import sys
# Protobuf v21 is no longer being updated, so freeze the release version.
LATEST = '21.12'
def do_latest():
print(LATEST)
def get_download_url():
print(
json.dumps({
# This URL corresponds to the frozen release version LATEST.
"url": [
"https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-3.21.12.zip"
],
"ext": ".zip"
}))
def main():
ap = argparse.ArgumentParser()
sub = ap.add_subparsers(dest='action', required=True)
latest = sub.add_parser("latest")
latest.set_defaults(func=lambda _opts: do_latest())
download = sub.add_parser("get_url")
download.set_defaults(
func=lambda opts: get_download_url())
opts = ap.parse_args()
return opts.func(opts)
if __name__ == '__main__':
sys.exit(main())