1919#
2020set -e
2121
22+ PROJECT_NAME=' grails'
23+ REPO_NAME=' apache/grails-core'
24+ SVN_FOLDER=' core'
2225RELEASE_TAG=$1
2326DOWNLOAD_LOCATION=" ${2:- downloads} "
2427
@@ -33,16 +36,115 @@ mkdir -p "${DOWNLOAD_LOCATION}"
3336VERSION=${RELEASE_TAG# v}
3437
3538# Source distro
36- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-$VERSION -incubating-src.zip" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-$VERSION -incubating-src.zip"
37- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-$VERSION -incubating-src.zip.asc" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-$VERSION -incubating-src.zip.asc"
38- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-$VERSION -incubating-src.zip.sha512" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-$VERSION -incubating-src.zip.sha512"
39+ echo " Downloading GitHub source release files"
40+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip"
41+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc"
42+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512"
43+
44+ echo " Downloading SVN source release files"
45+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /sources/apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip"
46+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /sources/apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc"
47+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /sources/apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512"
3948
4049# wrapper
41- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-wrapper-$VERSION -incubating-bin.zip" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-wrapper-$VERSION -incubating-bin.zip"
42- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-wrapper-$VERSION -incubating-bin.zip.asc" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-wrapper-$VERSION -incubating-bin.zip.asc"
43- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-wrapper-$VERSION -incubating-bin.zip.sha512" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-wrapper-$VERSION -incubating-bin.zip.sha512"
50+ echo " Downloading GitHub wrapper release files"
51+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip"
52+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc"
53+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512"
54+
55+ echo " Downloading SVN wrapper release files"
56+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /distribution/apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip"
57+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /distribution/apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc"
58+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /distribution/apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512"
4459
4560# sdkman delegating cli
46- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-$VERSION -incubating-bin.zip" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-$VERSION -incubating-bin.zip"
47- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-$VERSION -incubating-bin.zip.asc" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-$VERSION -incubating-bin.zip.asc"
48- curl -L -o " ${DOWNLOAD_LOCATION} /apache-grails-$VERSION -incubating-bin.zip.sha512" " https://github.com/apache/grails-core/releases/download/$RELEASE_TAG /apache-grails-$VERSION -incubating-bin.zip.sha512"
61+ echo " Downloading GitHub cli release files"
62+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip"
63+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc"
64+ curl -f -L -o " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512" " https://github.com/${REPO_NAME} /releases/download/${RELEASE_TAG} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512"
65+
66+ echo " Downloading SVN wrapper release files"
67+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /distribution/apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip"
68+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /distribution/apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc"
69+ curl -f -L -o " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512" " https://dist.apache.org/repos/dist/dev/incubator/grails/${SVN_FOLDER} /${VERSION} /distribution/apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512"
70+
71+ # validate downloads
72+ set +e
73+
74+ echo " Comparing SVN vs GitHub source release files"
75+ cmp -s " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc" " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc"
76+ if [ $? -eq 0 ]; then
77+ echo " ✅ Identical SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc"
78+ else
79+ echo " ❌Different SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.asc"
80+ exit 1
81+ fi
82+
83+ cmp -s " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512" " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512"
84+ if [ $? -eq 0 ]; then
85+ echo " ✅ Identical SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512"
86+ else
87+ echo " ❌ Different SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip.sha512"
88+ exit 1
89+ fi
90+
91+ SRC_ZIP_SVN_CHECKSUM=$( shasum -a 512 " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip" | awk ' {print $1}' )
92+ SRC_ZIP_GITHUB_CHECKSUM=$( shasum -a 512 " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-src.zip" | awk ' {print $1}' )
93+ if [ " ${SRC_ZIP_SVN_CHECKSUM} " != " ${SRC_ZIP_GITHUB_CHECKSUM} " ]; then
94+ echo " ❌ Checksum mismatch between SVN and GitHub source zip files"
95+ exit 1
96+ else
97+ echo " ✅ Checksum matches between SVN and GitHub source zip files"
98+ fi
99+
100+ echo " Comparing SVN vs GitHub wrapper release files"
101+ cmp -s " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc" " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc"
102+ if [ $? -eq 0 ]; then
103+ echo " ✅ Identical SVN vs GitHub Upload for apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc"
104+ else
105+ echo " ❌Different SVN vs GitHub Upload for apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.asc"
106+ exit 1
107+ fi
108+
109+ cmp -s " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512" " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512"
110+ if [ $? -eq 0 ]; then
111+ echo " ✅ Identical SVN vs GitHub Upload for apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512"
112+ else
113+ echo " ❌ Different SVN vs GitHub Upload for apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip.sha512"
114+ exit 1
115+ fi
116+
117+ WRAPPER_ZIP_SVN_CHECKSUM=$( shasum -a 512 " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip" | awk ' {print $1}' )
118+ WRAPPER_ZIP_GITHUB_CHECKSUM=$( shasum -a 512 " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -wrapper-${VERSION} -incubating-bin.zip" | awk ' {print $1}' )
119+ if [ " ${WRAPPER_ZIP_SVN_CHECKSUM} " != " ${WRAPPER_ZIP_GITHUB_CHECKSUM} " ]; then
120+ echo " ❌ Checksum mismatch between SVN and GitHub wrapper zip files"
121+ exit 1
122+ else
123+ echo " ✅ Checksum matches between SVN and GitHub wrapper zip files"
124+ fi
125+
126+ echo " Comparing SVN vs GitHub cli release files"
127+ cmp -s " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc" " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc"
128+ if [ $? -eq 0 ]; then
129+ echo " ✅ Identical SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc"
130+ else
131+ echo " ❌Different SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.asc"
132+ exit 1
133+ fi
134+
135+ cmp -s " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512" " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512"
136+ if [ $? -eq 0 ]; then
137+ echo " ✅ Identical SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512"
138+ else
139+ echo " ❌ Different SVN vs GitHub Upload for apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip.sha512"
140+ exit 1
141+ fi
142+
143+ CLI_ZIP_SVN_CHECKSUM=$( shasum -a 512 " ${DOWNLOAD_LOCATION} /apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip" | awk ' {print $1}' )
144+ CLI_ZIP_GITHUB_CHECKSUM=$( shasum -a 512 " ${DOWNLOAD_LOCATION} /github-apache-${PROJECT_NAME} -${VERSION} -incubating-bin.zip" | awk ' {print $1}' )
145+ if [ " ${CLI_ZIP_SVN_CHECKSUM} " != " ${CLI_ZIP_GITHUB_CHECKSUM} " ]; then
146+ echo " ❌ Checksum mismatch between SVN and GitHub wrapper zip files"
147+ exit 1
148+ else
149+ echo " ✅ Checksum matches between SVN and GitHub wrapper zip files"
150+ fi
0 commit comments