##############################################################################
# Clear workspace
-rm -rf *
+rm -rf -- "${WORKSPACE:?}"/*
+
+# Create python script to parse json
+cat > "${WORKSPACE}/parse_json.py" << EOF
+import json
+import sys
+
+obj=json.load(sys.stdin)
+for key in obj.keys():
+ print(key)
+
+EOF
# Clone all ODL projects
-for p in `ssh -p 29418 git.opendaylight.org gerrit ls-projects`
+curl -s --header "Accept: application/json" \
+ https://git.opendaylight.org/gerrit/projects/ | \
+ tail -n +2 > "${WORKSPACE}/projects.json"
+for p in $(python "${WORKSPACE}/parse_json.py" < "${WORKSPACE}/projects.json")
do
- mkdir -p `dirname "$p"`
- git clone "https://git.opendaylight.org/gerrit/$p.git" "$p"
+ # Ignore non-projects and archived projects
+ if [ "$p" == "All-Users" ] || \
+ [ "$p" == "affinity" ] || \
+ [ "$p" == "integration" ] || \
+ [ "$p" == "net-virt-platform" ] || \
+ [ "$p" == "opendove" ] || \
+ [ "$p" == "plugin2oc" ] || \
+ # Also ignore projects known to deploy to non-ODL repositories
+ [ "$p" == "yangide" ]
+ then
+ continue
+ fi
+ mkdir -p "$(dirname "$p")"
+ git clone "https://git.opendaylight.org/gerrit/$p.git" "$p"
done
# Check pom.xml for <repositories> and <pluginRepositories>
FILE=repos.txt
-find . -name pom.xml | xargs grep -i '<repositories>\|<pluginRepositories>' > $FILE
+find . -name pom.xml -print0 | xargs -0 grep -i '<repositories>\|<pluginRepositories>' > "$FILE"
[[ $(tr -d "\r\n" < $FILE|wc -c) -eq 0 ]] && rm $FILE
if [ -a $FILE ]