| #!/bin/bash |
| # -i -- inputPath |
| # -o -- outputPath |
| # -l -- outputFilersLabel |
| # -e -- eclipse path |
| # set default paths |
| |
| PATH_TO_ECLIPSE=~/temp-eclipse/eclipse/ |
| inputPath=/home/data/httpd/download.eclipse.org/modeling/gmp/gmf-tooling/updates/releases-3.1.0 |
| outputPath=~/drops-staging/ |
| |
| now=$(date +"%T") |
| outputFilesLabel="" |
| #get shell parameters |
| while [ "$#" -ge 2 ] |
| do |
| case "$1" in |
| "-i") |
| inputPath=$2 |
| ;; |
| "-o") |
| outputPath=$2 |
| ;; |
| "-e") |
| PATH_TO_ECLIPSE=$2 |
| ;; |
| "-l") |
| outputFilesLabel=$2 |
| esac |
| shift |
| done; |
| ########################################################## |
| if [ -d "$PATH_TO_ECLIPSE" -a -x "$PATH_TO_ECLIPSE/eclipse" ]; then |
| echo "*Script built-in path to eclipse binary: $PATH_TO_ECLIPSE" |
| else |
| echo "*Script built-in path to eclipse binary $PATH_TO_ECLIPSE\ doesn't exist, edit the script to specify correct path to eclipse" |
| exit 1 |
| fi |
| if [ -d "$inputPath" -a -w "$inputPath" ]; then |
| echo "*Input path: $inputPath" |
| else |
| echo "$inputPath doesn't exist" |
| exit 1 |
| fi |
| if [ -d "$outputPath" -a -w "$outputPath" ]; then |
| echo "*Output path: $outputPath" |
| else |
| echo "$outputPath doesn't exist" |
| exit 1 |
| fi |
| |
| if [ -z "$outputFilesLabel" ]; then |
| echo "Chose release. Input one of parameter:" |
| echo " [r] - releases," |
| echo " [s] - stable," |
| echo " [m] - milestone," |
| echo " [i] - integration," |
| echo " [n] - nightly" |
| read b |
| |
| build="$(echo $b | awk '{print tolower($0)}')" |
| if [ "$build" != "r" -a "$build" != "s" -a "$build" != "m" -a "$build" != "i" -a "$build" != "n" ]; then |
| echo "unedfined type of build - $build" |
| exit 1 |
| fi |
| echo "Input current version" |
| read version |
| mydate=$(date +'%Y%m%d') |
| mytime=$(date +'%H%M') |
| outputFilesLabel=$version$build$mydate$mytime |
| echo "current label = $outputFilesLabel" |
| fi |
| ########################################################## |
| TEMP_DIR=~/temp/gmf-packaging-$outputFilesLabel |
| mkdir -p $TEMP_DIR |
| TEMP_DIR=$(cd "$TEMP_DIR" && pwd ) |
| echo "Creating temporary directory: $TEMP_DIR" |
| |
| OUTPUT_PATH=$outputPath/gmf-packaging-$outputFilesLabel |
| mkdir -p $OUTPUT_PATH |
| OUTPUT_PATH=$(cd "$OUTPUT_PATH" && pwd ) |
| echo "Creating output directory: $OUTPUT_PATH" |
| |
| echo "Converting update site to runnable form" |
| $PATH_TO_ECLIPSE/eclipse -nosplash -consoleLog -application org.eclipse.equinox.p2.repository.repo2runnable -source $inputPath -destination $TEMP_DIR/drops/eclipse |
| cd $TEMP_DIR/drops |
| ########################################################## |
| |
| #calculating gmf-tooling-sdk-experimental package checksum |
| md5sum gmf-tooling-sdk-experimental-$outputFilesLabel.zip > gmf-tooling-sdk-experimental-$outputFilesLabel.zip.md5 |
| echo "Created gmf-tooling-sdk-experimental-$outputFilesLabel.zip" |
| |
| ########################################################## |
| #SDK |
| #REMOVE# |
| #eclipse/plugins/org.eclipse.gmf.bridge.trace.source_*\ |
| #ADD# |
| #eclipse/plugins/org.eclipse.gmf.runtime.lite.svg_*\+ |
| |
| zip -rq gmf-tooling-sdk-$outputFilesLabel.zip\ |
| eclipse/features/org.eclipse.gmf.sdk_*\ |
| eclipse/features/org.eclipse.gmf.doc_*\ |
| eclipse/features/org.eclipse.gmf.tooling.source_*\ |
| eclipse/features/org.eclipse.gmf.tooling_*\ |
| eclipse/features/org.eclipse.gmf.tooling.runtime_*\ |
| eclipse/features/org.eclipse.gmf.tooling.runtime.source_*\ |
| eclipse/plugins/org.eclipse.gmf.sdk_*\ |
| eclipse/plugins/org.eclipse.gmf.doc_*\ |
| eclipse/plugins/org.eclipse.gmf.doc.ui_*\ |
| eclipse/plugins/org.eclipse.gmf.common.source_*\ |
| eclipse/plugins/org.eclipse.gmf.codegen.source_*\ |
| eclipse/plugins/org.eclipse.gmf.codegen.edit.source_*\ |
| eclipse/plugins/org.eclipse.gmf.codegen.ui.source_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.source_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.edit.source_*\ |
| eclipse/plugins/org.eclipse.gmf.map.source_*\ |
| eclipse/plugins/org.eclipse.gmf.map.edit.source_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge.source_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge.ui.source_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge.ui.dashboard.source_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.codegen.source_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.codegen.ui.source_*\ |
| eclipse/plugins/org.eclipse.gmf.tooldef.source_*\ |
| eclipse/plugins/org.eclipse.gmf.tooldef.edit.source_*\ |
| eclipse/plugins/org.eclipse.gmf.validate.source_*\ |
| eclipse/plugins/org.eclipse.gmf.ecore.editor.source_*\ |
| eclipse/plugins/org.eclipse.gmf.xpand.source_*\ |
| eclipse/plugins/org.eclipse.gmf.xpand.editor.source_*\ |
| eclipse/plugins/org.eclipse.gmf.xpand.qvtlibrary.source_*\ |
| eclipse/plugins/org.eclipse.gmf.common_*\ |
| eclipse/plugins/org.eclipse.gmf.codegen_*\ |
| eclipse/plugins/org.eclipse.gmf.codegen.edit_*\ |
| eclipse/plugins/org.eclipse.gmf.codegen.ui_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.edit_*\ |
| eclipse/plugins/org.eclipse.gmf.map_*\ |
| eclipse/plugins/org.eclipse.gmf.map.edit_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge.ui_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge.ui.dashboard_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.codegen_*\ |
| eclipse/plugins/org.eclipse.gmf.graphdef.codegen.ui_*\ |
| eclipse/plugins/org.eclipse.gmf.tooldef_*\ |
| eclipse/plugins/org.eclipse.gmf.tooldef.edit_*\ |
| eclipse/plugins/org.eclipse.gmf.validate_*\ |
| eclipse/plugins/org.eclipse.gmf.ecore.editor_*\ |
| eclipse/plugins/org.eclipse.gmf.xpand_*\ |
| eclipse/plugins/org.eclipse.gmf.xpand.editor_*\ |
| eclipse/plugins/org.eclipse.gmf.xpand.qvtlibrary_*\ |
| eclipse/plugins/org.eclipse.gmf.bridge.trace_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.runtime_*\ |
| eclipse/plugins/org.eclipse.gmf.runtime.lite.svg_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.runtime.source_* |
| |
| #writing gmf-sdk package root files |
| cd $TEMP_DIR |
| mkdir -p "eclipse" |
| unzip -oq drops/eclipse/binary/org.eclipse.gmf.sdk_root_* -d eclipse |
| zip -rgq drops/gmf-tooling-sdk-$outputFilesLabel.zip eclipse |
| rm -rf "eclipse" |
| cd $TEMP_DIR/drops |
| |
| #calculating gmf-sdk package checksum |
| md5sum gmf-tooling-sdk-$outputFilesLabel.zip > gmf-tooling-sdk-$outputFilesLabel.zip.md5 |
| echo "Created gmf-tooling-sdk-$outputFilesLabel.zip" |
| |
| ########################################################## |
| #TOOLING-RUNTIME |
| zip -rq gmf-tooling-runtime-$outputFilesLabel.zip\ |
| eclipse/features/org.eclipse.gmf.tooling.runtime_*\ |
| eclipse/features/org.eclipse.gmf.tooling.runtime.source_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.runtime_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.runtime.source_*\ |
| eclipse/plugins/org.eclipse.gmf.runtime.lite.svg_* |
| |
| #writing gmf-tooling-runtime package root files |
| cd $TEMP_DIR |
| mkdir -p "eclipse" |
| unzip -oq drops/eclipse/binary/org.eclipse.gmf.tooling.runtime_root_* -d eclipse |
| zip -rgq drops/gmf-tooling-runtime-$outputFilesLabel.zip eclipse |
| rm -rf "eclipse" |
| cd $TEMP_DIR/drops |
| |
| #calculating gmf-tooling-runtime package checksum |
| md5sum gmf-tooling-runtime-$outputFilesLabel.zip > gmf-tooling-runtime-$outputFilesLabel.zip.md5 |
| echo "Created gmf-tooling-runtime-$outputFilesLabel.zip" |
| |
| ########################################################## |
| #TESTS |
| #zip -rq gmf-tests-$outputFilesLabel.zip\ |
| # eclipse/features/org.eclipse.gmf.tests_*\ |
| # eclipse/plugins/org.eclipse.test_*\ |
| # eclipse/plugins/org.eclipse.ant.optional.junit_*\ |
| # eclipse/plugins/org.eclipse.gmf.tests_*\ |
| # eclipse/plugins/org.eclipse.gmf.tests.xpand |
| # |
| #writing gmf-tests package root files |
| #cd $TEMP_DIR |
| #mkdir -p "eclipse" |
| #unzip -oq drops/eclipse/binary/org.eclipse.gmf.tests_root_* -d eclipse |
| #zip -rgq drops/gmf-tests-$outputFilesLabel.zip #eclipse |
| #rm -rf "eclipse" |
| #cd $TEMP_DIR/drops |
| # |
| #calculating gmf-tests package checksum |
| #md5sum gmf-tests-$outputFilesLabel.zip > gmf-tests-$outputFilesLabel.zip.md5 |
| #echo "Created gmf-tests-$outputFilesLabel.zip" |
| |
| ########################################################## |
| #SIMPLEMAP-RUNTIME |
| zip -rq gmf-tooling-simplemap-$outputFilesLabel.zip\ |
| eclipse/features/org.eclipse.gmf.tooling.simplemap_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.bridge.ui_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.diagram_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.diagram.properties_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.gmf_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.migrate.ui_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.model_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.model.delegates_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.model.edit_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.model.edit.properties_*\ |
| eclipse/plugins/org.eclipse.gmf.tooling.simplemap.model.triggers_* |
| |
| #writing gmf-tooling-simplemap package root files |
| cd $TEMP_DIR |
| mkdir -p "eclipse" |
| unzip -oq drops/eclipse/binary/org.eclipse.gmf.tooling.simplemap_root_* -d eclipse |
| zip -rgq drops/gmf-tooling-simplemap-$outputFilesLabel.zip eclipse |
| rm -rf "eclipse" |
| cd $TEMP_DIR/drops |
| |
| #calculating gmf-tooling-simplemap package checksum |
| md5sum gmf-tooling-simplemap-$outputFilesLabel.zip > gmf-tooling-simplemap-$outputFilesLabel.zip.md5 |
| echo "Created gmf-tooling-simplemap-$outputFilesLabel.zip" |
| ########################################################## |
| #copy result files to output dir |
| echo "Copying result to $OUTPUT_PATH" |
| cp *.zip $OUTPUT_PATH |
| cp *.md5 $OUTPUT_PATH |
| |
| #deleting temporary files |
| echo "Deleting temporary directory $TEMP_DIR" |
| rm -rf "$TEMP_DIR" |
| |
| #all is done |
| echo "Processing complete!" |