| #******************************************************************************* |
| # Copyright (c) 2009 Tasktop Technologies and others. |
| # All rights reserved. This program and the accompanying materials |
| # are made available under the terms of the Eclipse Public License v1.0 |
| # which accompanies this distribution, and is available at |
| # http://www.eclipse.org/legal/epl-v10.html |
| # |
| # Contributors: |
| # Tasktop Technologies - initial API and implementation |
| #******************************************************************************* |
| #!/bin/bash -e |
| |
| if [ -z "$1" ]; then |
| echo "usage statsId" |
| exit 1 |
| fi |
| |
| if [ ! -e site.xml ]; then |
| echo "missing site.xml" |
| exit 1 |
| fi |
| |
| BASE=$(dirname $0) |
| LOCATION=$(readlink -f .) |
| PREFIX=/home/data/httpd/download.eclipse.org |
| RELATIVE=${LOCATION:${#PREFIX}} |
| PROJECT=${RELATIVE:1} |
| PROJECT=${PROJECT%%/*} |
| |
| if [ "$PREFIX" != ${LOCATION:0:${#PREFIX}} ]; then |
| echo "$LOCATION must be subdirectory of $PREFIX" |
| exit 1 |
| fi |
| |
| if [ -z "$RELATIVE" ]; then |
| echo "failed to compute path for $LOCATION" |
| exit 1 |
| fi |
| |
| if [ -z "$PROJECT" ]; then |
| echo "failed to compute project for $LOCATION" |
| exit 1 |
| fi |
| |
| |
| # escape slashes |
| MIRROR_PATH=$(echo $RELATIVE | sed s/\\//\\\\\\//g) |
| MIRRORS_URL="http://www.eclipse.org/downloads/download.php?file=$RELATIVE/&protocol=http&format=xml" |
| STATS_URI="http://download.eclipse.org/stats/$PROJECT/$1" |
| |
| echo "p2.mirrorsURL: $MIRRORS_URL" |
| echo "p2.statsURI : $STATS_URI" |
| |
| echo "Updating site.xml" |
| sed -i -e 's/<site pack200=\"true\".*>/<site pack200=\"true\" mirrorsURL="http:\/\/www.eclipse.org\/downloads\/download.php?file='$MIRROR_PATH'\/site.xml\&protocol=http\&format=xml">/' site.xml |
| |
| if [ -e category.xml ]; then |
| echo "Updating mirrorsURL in category.xml to $RELATIVE" |
| sed -i -e 's/<site pack200=\"true\".*>/<site pack200=\"true\" mirrorsURL="http:\/\/www.eclipse.org\/downloads\/download.php?file='$MIRROR_PATH'\/\&protocol=http\&format=xml">/' category.xml |
| fi |
| |
| echo "Updating content.jar" |
| unzip -p content.jar | xsltproc -stringparam mirrorsURL "$MIRRORS_URL" -stringparam statsURI "$STATS_URI" $BASE/p2.xsl - > content.xml |
| zip content.jar content.xml |
| rm content.xml |
| |
| echo "Updating artifacts.jar" |
| unzip -p artifacts.jar | xsltproc -stringparam mirrorsURL "$MIRRORS_URL" -stringparam statsURI "$STATS_URI" $BASE/p2.xsl - > artifacts.xml |
| zip artifacts.jar artifacts.xml |
| rm artifacts.xml |