From ed314ded7b47b9756f5cad3e8a14ba943d3e7206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Costa=20Teixeira?= Date: Wed, 18 Dec 2019 00:10:18 +0100 Subject: [PATCH] Added possibility to use jar in parent folder besides input-cache; offline publishing option; --- _genonce.bat | 24 ++++++++++++++- _genonce.sh | 26 +++++++++++++++- _updatePublisher.bat | 72 +++++++++++++++++++++++++++++++++++++++++--- _updatePublisher.sh | 32 ++++++++++++++++++-- 4 files changed, 145 insertions(+), 9 deletions(-) diff --git a/_genonce.bat b/_genonce.bat index d205522..1bb6f56 100644 --- a/_genonce.bat +++ b/_genonce.bat @@ -1,3 +1,25 @@ +@echo off + +echo Checking internet connection... +Ping tx.fhir.org -n 1 -w 1000 | findstr TTL && goto isonline +echo We're offline... +set txoption=-tx n/a +goto igpublish +:isonline +echo We're online +set txoption= + +:igpublish + + @SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 -JAVA -jar input-cache/org.hl7.fhir.publisher.jar -ig ig.ini + +If exist "input-cache\org.hl7.fhir.publisher.jar" ( + JAVA -jar input-cache/org.hl7.fhir.publisher.jar -ig ig.ini %txoption% +) ELSE If exist "..\org.hl7.fhir.publisher.jar" ( + JAVA -jar ../org.hl7.fhir.publisher.jar -ig ig.ini %txoption% + ) Else ( +@ECHO IG Publisher NOT FOUND in input-cache or parent folder... aborting + ) + @PAUSE \ No newline at end of file diff --git a/_genonce.sh b/_genonce.sh index 55f4e58..bb7ba71 100755 --- a/_genonce.sh +++ b/_genonce.sh @@ -1,3 +1,27 @@ #!/bin/bash set -e -java -jar input-cache/org.hl7.fhir.publisher.jar -ig ig.ini +echo Checking internet connection... +wget -q --spider tx.fhir.org + +if [ $? -eq 0 ]; then + echo "Online" + txoption="" +else + echo "Offline" + txoption="-tx n/a" +fi + +echo "$txoption" + +publisher=./input-cache/org.hl7.fhir.publisher.jar +if test -f "$publisher"; then + JAVA -jar ./input-cache/org.hl7.fhir.publisher.jar -ig ig.ini $txoption + +else + publisher=../org.hl7.fhir.publisher.jar + if test -f "$publisher"; then + JAVA -jar ../org.hl7.fhir.publisher.jar -ig ig.ini $txoption + else + echo IG Publisher NOT FOUND in input-cache or parent folder... aborting + fi +fi diff --git a/_updatePublisher.bat b/_updatePublisher.bat index af8d7f8..1608834 100644 --- a/_updatePublisher.bat +++ b/_updatePublisher.bat @@ -1,5 +1,69 @@ -@MKDIR input-cache -@ECHO "Downloading most recent publisher - it's ~100 MB, so this may take a bit -@POWERSHELL -command (new-object System.Net.WebClient).DownloadFile(\"https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.publisher.jar\",\"input-cache\org.hl7.fhir.publisher.jar\") +@echo off + +for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j +if "%version%" == "10.0" set winver=10 +if "%version%" == "6.3" set winver=8.1 +if "%version%" == "6.2" set winver=8 +if "%version%" == "6.1" set winver=7 +if "%version%" == "6.0" set winver=vista + +for %%x in ("%CD%") do set upper_path=%%~dpx +set current_path=%cd% + +@Set location= +rem echo inputcachepath +rem echo "%current_path%\input-cache\org.hl7.fhir.publisher.jar" + +If not exist "%current_path%\input-cache\org.hl7.fhir.publisher.jar" ( + If not exist "%upper_path%org.hl7.fhir.publisher.jar" ( + @ECHO IG Publisher is not in input-cache or parent folder... + @Set filelocation="%current_path%\input-cache\org.hl7.fhir.publisher.jar" + echo %filelocation% + @goto:download + + ) else ( + @ECHO IG Publisher FOUND in parent folder + @Set location=parent + @Set filelocation="%upper_path%org.hl7.fhir.publisher.jar" + @set filelocationname=Parent folder + echo %filelocation% + @goto:upgrade + + ) + +) else ( + @ECHO IG Publisher FOUND in input-cache + @Set location=cache + @Set filelocation="%current_path%\input-cache\org.hl7.fhir.publisher.jar" + @set filelocationname=Input Cache + echo %filelocation% + @goto:upgrade + +) + +echo Done +goto:eof + +:upgrade +set /p overwrite="Overwrite? " +if /I "%overwrite%"=="Y" ( + goto:download +) + +goto:eof + +:download +set dlurl=https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.publisher.jar +@ECHO Downloading most recent publisher to %filelocationname% - it's ~100 MB, so this may take a bit + +if /I "%winver%"=="10" ( + @POWERSHELL -command Invoke-WebRequest -Uri %dlurl% -Outfile %filelocation% + ) + +if /I "%winver%"=="7" ( + bitsadmin /transfer GetPublisher /download /priority normal %dlurl% %filelocation% +) + @ECHO "Done" -@PAUSE \ No newline at end of file +pause +:eof diff --git a/_updatePublisher.sh b/_updatePublisher.sh index 55d2c0a..9a29145 100755 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -3,7 +3,33 @@ set -e if ! type "curl" > /dev/null; then echo "ERROR: Script needs curl to download latest IG Publisher. Please install curl." exit 1 + +publisher=./input-cache/org.hl7.fhir.publisher.jar +if test -f "$publisher"; then + jarlocation="./input-cache/org.hl7.fhir.publisher.jar" + echo "IG Publisher FOUND in input-cache" +else + publisher=../org.hl7.fhir.publisher.jar + upgrade=true + if test -f "$publisher"; then + echo "IG Publisher FOUND in parent folder" + jarlocation="../org.hl7.fhir.publisher.jar" + upgrade=true + else + echo IG Publisher NOT FOUND in input-cache or parent folder... + jarlocation="./input-cache/org.hl7.fhir.publisher.jar" + upgrade=true + fi +fi + +if $upgrade ; then + read -r -p "Download? [y/N] " response + if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]] + then + echo "Downloading most recent publisher to $jarlocation - it's ~100 MB, so this may take a bit" +# wget "https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.publisher.jar" -O "$jarlocation" + curl https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.publisher.jar -o "$jarlocation" --create-dirs + else + echo cancel... + fi fi -echo "Downloading most recent publisher - it's ~100 MB, so this may take a bit" -curl https://fhir.github.io/latest-ig-publisher/org.hl7.fhir.publisher.jar -o input-cache/org.hl7.fhir.publisher.jar --create-dirs -echo "Done"