aboutsummaryrefslogtreecommitdiffstats
path: root/autorelease/scripts/verify-binaries.py
diff options
context:
space:
mode:
Diffstat (limited to 'autorelease/scripts/verify-binaries.py')
-rwxr-xr-xautorelease/scripts/verify-binaries.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/autorelease/scripts/verify-binaries.py b/autorelease/scripts/verify-binaries.py
new file mode 100755
index 000000000..50f7312ef
--- /dev/null
+++ b/autorelease/scripts/verify-binaries.py
@@ -0,0 +1,62 @@
+#!/usr/bin/env python
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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 sys, csv, subprocess
+
+root = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).rstrip()
+path = "{}/autorelease/dist".format(root)
+version = "1.1.0-SNAPSHOT"
+url_template = "https://nexus.open-o.org/service/local/artifact/maven/redirect?r=snapshots&g={0}&a={1}&e={2}&c={3}&v=LATEST"
+
+subprocess.call(["rm", "-rf", path])
+subprocess.call(["mkdir", "-p", path])
+
+
+def parseRow(row):
+ service = row["service"]
+ filename = row["filename"]
+ groupId = row["groupId"]
+ artifactId = row["artifactId"]
+ extension = row["extension"]
+ classifier = row["classifier"]
+ url = url_template.format(groupId, artifactId, extension, classifier)
+ if classifier:
+ dest = "{}/{}-{}.{}.{}".format(path, filename, version, classifier, extension)
+ else:
+ dest = "{}/{}-{}.{}".format(path, filename, version, extension)
+ return {"url": url, "dest": dest}
+
+
+with open( "{}/autorelease/binaries.csv".format(root), "r" ) as f:
+ reader = csv.DictReader(f)
+ errors = 0
+
+ items = []
+ for row in reader:
+ item = parseRow(row)
+ items.append(item)
+
+ result = subprocess.call(["wget", "-q", "--spider", "--content-disposition", item["url"]])
+ if result == 0:
+ print "{} OK".format(row["service"])
+ else:
+ errors += 1
+ print "{} ERROR: {} not found".format(row["service"], item["url"])
+
+ print "{} errors found".format(errors)
+
+ if errors > 0:
+ sys.exit(1)