| #!/bin/bash -xv |
| #******************************************************************************* |
| # Copyright (c) 2018, 2019 Willink Transformations and others. |
| # All rights reserved. This program and the accompanying materials |
| # are made available under the terms of the Eclipse Public License v2.0 |
| # which accompanies this distribution, and is available at |
| # http://www.eclipse.org/legal/epl-v20.html |
| # |
| # Contributors: |
| # E.D.Willink - initial API and implementation |
| #******************************************************************************* |
| # |
| # Promote the PUBLISH__URL to the downloads 'page'. |
| # |
| # -u PUBLISH__URL The zip to be published e.g. https://ci.eclipse.org/ocl/job/ocl-master/38/artifact/releng/org.eclipse.ocl.releng.build-site/target/org.eclipse.ocl-6.5.0.v20171021-1702.zip |
| # -v PUBLISH__VERSION Unqualified version e.g. 6.5.0 |
| # -t PUBLISH__BUILD_T Build type N/I/S/R, blank suppresses promotion |
| # -q PUBLISH__QUALIFIER Version qualifier e.g. v20171020-1234 |
| # -a PUBLISH__ALIAS Non blank to use alias as part of final name |
| # -j PUBLISH__JAVADOC The optional Javadoc zip to be published e.g. https://ci.eclipse.org/ocl/job/ocl-master/38/artifact/releng/org.eclipse.ocl.releng.build-site/target/OCL-javadoc.zip |
| # -p PUBLISH__PDFDOC The optional PDF doc to be published e.g. https://ci.eclipse.org/ocl/job/ocl-master/38/artifact/releng/org.eclipse.ocl.releng.build-site/target/ocl.pdf |
| # |
| dropsFolder="/home/data/httpd/download.eclipse.org/modeling/mdt/ocl/downloads/drops/" |
| javadocFolder="/home/data/httpd/download.eclipse.org/ocl/javadoc/" |
| pdfdocFolder="/home/data/httpd/download.eclipse.org/ocl/doc/${PUBLISH__VERSION}" |
| group="modeling.mdt.ocl" |
| zipPrefix="mdt-ocl-Update-" |
| localZip="newJavadoc.zip" |
| pdfName="ocl.pdf" |
| |
| while getopts u:v:t:q:a:j:p: option |
| do |
| case "${option}" |
| in |
| u) PUBLISH__URL=${OPTARG};; |
| v) PUBLISH__VERSION=${OPTARG};; |
| t) PUBLISH__BUILD_T=${OPTARG};; |
| q) PUBLISH__QUALIFIER=${OPTARG};; |
| a) PUBLISH__ALIAS=${OPTARG};; |
| j) PUBLISH__JAVADOC=${OPTARG};; |
| p) PUBLISH__PDFDOC=${OPTARG};; |
| esac |
| done |
| |
| if [ -n "${PUBLISH__BUILD_T}" ] |
| then |
| |
| tQualifier="${PUBLISH__BUILD_T}${PUBLISH__QUALIFIER:1:8}${PUBLISH__QUALIFIER:10:4}" |
| versionFolder="${dropsFolder}${PUBLISH__VERSION}/${tQualifier}" |
| if [ ! -d "${versionFolder}" ] |
| then |
| mkdir -p ${versionFolder} |
| fi |
| |
| fileStem="${tQualifier}" |
| if [ -n "${PUBLISH__ALIAS}" ] |
| then |
| fileStem=${PUBLISH__ALIAS} |
| fi |
| zipFile="${zipPrefix}${fileStem}.zip" |
| |
| pushd ${versionFolder} |
| curl -s -k ${PUBLISH__URL} > ${zipFile} |
| md5sum -b ${zipFile} > ${zipFile}.md5 |
| sha512sum -b ${zipFile} > ${zipFile}.sha1 |
| # make sure permissions are for the intended group |
| chgrp -R ${group} ${zipFile} ${zipFile}.md5 ${zipFile}.sha1 |
| chmod -R g+w ${zipFile} ${zipFile}.md5 ${zipFile}.sha1 |
| popd |
| |
| if [ ! -d "${javadocFolder}" ] |
| then |
| mkdir ${javadocFolder} |
| fi |
| pushd ${javadocFolder} |
| curl -s -k ${PUBLISH__JAVADOC} > ${localZip} |
| if [ $? -eq 0 ] |
| then |
| javadocSize=$(wc -c <"$localZip") |
| if [ ${javadocSize} -ge 100000 ] # A small (423 byte) file is an HTTP 404 message |
| then |
| unzip -ou ${localZip} -d new${PUBLISH__VERSION} |
| chgrp -R ${group} new${PUBLISH__VERSION} |
| chmod -R g+w new${PUBLISH__VERSION} |
| rm -rf ${localZip} |
| if [ -d "${PUBLISH__VERSION}" ] |
| then |
| mv ${PUBLISH__VERSION} old${PUBLISH__VERSION} |
| mv new${PUBLISH__VERSION} ${PUBLISH__VERSION} |
| rm -rf old${PUBLISH__VERSION} |
| else |
| mv new${PUBLISH__VERSION} ${PUBLISH__VERSION} |
| fi |
| fi |
| fi |
| popd |
| |
| if [ ! -d "${pdfdocFolder}" ] |
| then |
| mkdir ${pdfdocFolder} |
| fi |
| pushd ${pdfdocFolder} |
| curl -s -k ${PUBLISH__PDFDOC} > new${pdfName} |
| if [ $? -eq 0 ] |
| then |
| pdfSize=$(wc -c <"new${pdfName}") |
| if [ ${pdfSize} -ge 100000 ] # A small (423 byte) file is an HTTP 404 message |
| then |
| chgrp -R ${group} new${pdfName} |
| chmod -R g+w new${pdfName} |
| if [ -f "${pdfName}" ] |
| then |
| mv ${pdfName} old${pdfName} |
| mv new${pdfName} ${pdfName} |
| rm -rf old${pdfName} |
| else |
| mv new${pdfName} ${pdfName} |
| fi |
| fi |
| fi |
| popd |
| |
| fi |