Skip to content

Commit

Permalink
Reworked the build scripts and introduced the preview release and bui…
Browse files Browse the repository at this point in the history
…ld tools
  • Loading branch information
kenkendk committed Jul 18, 2014
1 parent dab3d42 commit 869407b
Show file tree
Hide file tree
Showing 10 changed files with 94 additions and 14 deletions.
2 changes: 1 addition & 1 deletion Duplicati/Library/AutoUpdater/AutoUpdateSignKey.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<RSAKeyValue><Modulus>hAQowZDOHUng9erCNk/dWTDjmj4RPQ1aU3l6VPwt+pJo+Axd7BFw6VC+tcCe5ArA/KTuRleVER0ARdWMAl5dGaAzbXrUhYBPCBnamMJomddAYQniKUwMbH1QYLlLy/My+BVqCYFYRubc+Mwb0vPvXQgaXGOI4DrVC/85KIXzyIc=</Modulus><Exponent>EQ==</Exponent></RSAKeyValue>
<RSAKeyValue><Modulus>krad8Af4dJQfasOtYpThF5b0ZJW0p4gt2hNQx0vHOuoOXSWqh7mk+XhrF1G3WHkzbBops/VphjtEWOWM6Duh+/4e5NviiGovDVD8g/EWXa336SB04vF6U3CoIAFw3T+ZAAv0Ovmywcu71a8unEbgPWlIsWITvWzo7Et+TdTOBYM=</Modulus><Exponent>EQ==</Exponent></RSAKeyValue>
2 changes: 1 addition & 1 deletion Duplicati/Library/AutoUpdater/AutoUpdateURL.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
http://updates.duplicati.com/debug/latest.manifest;http://alt.updates.duplicati.com/debug/latest.manifest
http://updates.duplicati.com/preview/latest.manifest;http://alt.updates.duplicati.com/preview/latest.manifest
1 change: 1 addition & 0 deletions Updates/build_version.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
48
1 change: 0 additions & 1 deletion Updates/debug_urls.txt

This file was deleted.

1 change: 0 additions & 1 deletion Updates/debug_version.txt

This file was deleted.

3 changes: 3 additions & 0 deletions Updates/preview.manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"ReleaseType": "Preview",
}
1 change: 1 addition & 0 deletions Updates/release_changeinfo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Test release
1 change: 1 addition & 0 deletions Updates/release_key.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<RSAKeyValue><Modulus>krad8Af4dJQfasOtYpThF5b0ZJW0p4gt2hNQx0vHOuoOXSWqh7mk+XhrF1G3WHkzbBops/VphjtEWOWM6Duh+/4e5NviiGovDVD8g/EWXa336SB04vF6U3CoIAFw3T+ZAAv0Ovmywcu71a8unEbgPWlIsWITvWzo7Et+TdTOBYM=</Modulus><Exponent>EQ==</Exponent></RSAKeyValue>
20 changes: 10 additions & 10 deletions build-debug-update.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
RELEASE_TIMESTAMP=`date +%Y-%m-%d`

RELEASE_INC_VERSION=`cat Updates/debug_version.txt`
RELEASE_INC_VERSION=`cat Updates/build_version.txt`
RELEASE_INC_VERSION=$((RELEASE_INC_VERSION+1))

RELEASE_NAME=2.0_CLI_experimental_${RELEASE_TIMESTAMP}
RELEASE_CHANGEINFO=`cat Updates/debug_changeinfo.txt`
RELEASE_VERSION="2.0.0.${RELEASE_INC_VERSION}"

UPDATE_ZIP_URLS=http://updates.duplicati.com/debug/duplicati.zip\;http://alt.updates.duplicati.com/debug/duplicati.zip
UPDATER_KEYFILE=/Users/kenneth/Dropbox/Privat/Duplicati-updater.key
UPDATE_MANIFEST_URLS=http://updates.duplicati.com/debug/latest.manifest\;http://alt.updates.duplicati.com/debug/latest.manifest
UPDATER_KEYFILE=/Users/kenneth/Dropbox/Privat/Duplicati-updater-debug.key

if [ "x${RELEASE_CHANGEINFO}" == "x" ]; then
echo "No information in changeinfo file"
Expand All @@ -20,10 +21,10 @@ read -s KEYFILE_PASSWORD
echo

echo "${RELEASE_NAME}" > Duplicati/License/VersionTag.txt
cp "Updates/debug_urls.txt" Duplicati/Library/AutoUpdater/AutoUpdateURL.txt
echo "${UPDATE_MANIFEST_URLS}" > Duplicati/Library/AutoUpdater/AutoUpdateURL.txt
cp "Updates/debug_key.txt" Duplicati/Library/AutoUpdater/AutoUpdateSignKey.txt

#rm -rf Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Debug
rm -rf Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Debug

mono BuildTools/UpdateVersionStamp/bin/Debug/UpdateVersionStamp.exe --version="${RELEASE_VERSION}"
xbuild /p:Configuration=Debug BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.sln
Expand All @@ -37,8 +38,8 @@ fi

if [ ! -d "Updates/build" ]; then mkdir "Updates/build"; fi

UPDATE_SOURCE=Updates/build/update_source-${RELEASE_TIMESTAMP}
UPDATE_TARGET=Updates/build/update_target-${RELEASE_TIMESTAMP}
UPDATE_SOURCE=Updates/build/debug_source-${RELEASE_VERSION}
UPDATE_TARGET=Updates/build/debug_target-${RELEASE_VERSION}

if [ -e "${UPDATE_SOURCE}" ]; then rm -rf "${UPDATE_SOURCE}"; fi
if [ -e "${UPDATE_TARGET}" ]; then rm -rf "${UPDATE_TARGET}"; fi
Expand All @@ -49,20 +50,19 @@ mkdir "${UPDATE_TARGET}"
cp -R Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Debug/* "${UPDATE_SOURCE}"
cp -R Duplicati/Server/webroot "${UPDATE_SOURCE}"

rm ${UPDATE_SOURCE}/*.mdb
if [ -e "${UPDATE_SOURCE}/control_dir" ]; then rm -rf "${UPDATE_SOURCE}/control_dir"; fi
if [ -e "${UPDATE_SOURCE}/Duplicati-server.sqlite" ]; then rm "${UPDATE_SOURCE}/Duplicati-server.sqlite"; fi
if [ -e "${UPDATE_SOURCE}/Duplicati.debug.log" ]; then rm "${UPDATE_SOURCE}/Duplicati.debug.log"; fi
if [ -e "${UPDATE_SOURCE}/updates" ]; then rm -rf "${UPDATE_SOURCE}/updates"; fi
rm -rf "${UPDATE_SOURCE}/updates/"*.mdb;
rm -rf "${UPDATE_SOURCE}/updates/"*.pdb;
rm -rf "${UPDATE_SOURCE}/"*.mdb;
rm -rf "${UPDATE_SOURCE}/"*.pdb;

echo
echo "Building signed package ..."

mono BuildTools/AutoUpdateBuilder/bin/Debug/AutoUpdateBuilder.exe --input="${UPDATE_SOURCE}" --output="${UPDATE_TARGET}" --keyfile="${UPDATER_KEYFILE}" --manifest=Updates/debug.manifest --changeinfo="${RELEASE_CHANGEINFO}" --displayname="${RELEASE_NAME}" --remoteurls="${UPDATE_ZIP_URLS}" --version="${RELEASE_VERSION}" --keyfile-password="$KEYFILE_PASSWORD"

echo "${RELEASE_INC_VERSION}" > "Updates/debug_version.txt"
echo "${RELEASE_INC_VERSION}" > "Updates/build_version.txt"

mv "${UPDATE_TARGET}/package.zip" "${UPDATE_TARGET}/duplicati.zip"
mv "${UPDATE_TARGET}/autoupdate.manifest" "${UPDATE_TARGET}/latest.manifest"
Expand Down
76 changes: 76 additions & 0 deletions build-preview-update.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
RELEASE_TIMESTAMP=`date +%Y-%m-%d`

RELEASE_INC_VERSION=`cat Updates/build_version.txt`
RELEASE_INC_VERSION=$((RELEASE_INC_VERSION+1))

RELEASE_NAME=2.0_preview_${RELEASE_TIMESTAMP}
RELEASE_CHANGEINFO=`cat Updates/release_changeinfo.txt`
RELEASE_VERSION="2.0.0.${RELEASE_INC_VERSION}"

UPDATE_ZIP_URLS=http://updates.duplicati.com/preview/duplicati.zip\;http://alt.updates.duplicati.com/preview/duplicati.zip
UPDATE_MANIFEST_URLS=http://updates.duplicati.com/preview/latest.manifest\;http://alt.updates.duplicati.com/preview/latest.manifest
UPDATER_KEYFILE=/Users/kenneth/Dropbox/Privat/Duplicati-updater-release.key

if [ "x${RELEASE_CHANGEINFO}" == "x" ]; then
echo "No information in changeinfo file"
exit 0
fi

echo -n "Enter keyfile password: "
read -s KEYFILE_PASSWORD
echo

echo "${RELEASE_NAME}" > Duplicati/License/VersionTag.txt
echo "${UPDATE_MANIFEST_URLS}" > Duplicati/Library/AutoUpdater/AutoUpdateURL.txt
cp "Updates/release_key.txt" Duplicati/Library/AutoUpdater/AutoUpdateSignKey.txt

rm -rf Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release

mono BuildTools/UpdateVersionStamp/bin/Debug/UpdateVersionStamp.exe --version="${RELEASE_VERSION}"
xbuild /p:Configuration=Debug BuildTools/AutoUpdateBuilder/AutoUpdateBuilder.sln
xbuild /p:Configuration=Release Duplicati.sln
BUILD_STATUS=$?

if [ "${BUILD_STATUS}" -ne 0 ]; then
echo "Failed to build, xbuild gave ${BUILD_STATUS}, exiting"
exit 4
fi

if [ ! -d "Updates/build" ]; then mkdir "Updates/build"; fi

UPDATE_SOURCE=Updates/build/preview_source-${RELEASE_VERSION}
UPDATE_TARGET=Updates/build/preview_target-${RELEASE_VERSION}

if [ -e "${UPDATE_SOURCE}" ]; then rm -rf "${UPDATE_SOURCE}"; fi
if [ -e "${UPDATE_TARGET}" ]; then rm -rf "${UPDATE_TARGET}"; fi

mkdir "${UPDATE_SOURCE}"
mkdir "${UPDATE_TARGET}"

cp -R Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release/* "${UPDATE_SOURCE}"
cp -R Duplicati/Server/webroot "${UPDATE_SOURCE}"

if [ -e "${UPDATE_SOURCE}/control_dir" ]; then rm -rf "${UPDATE_SOURCE}/control_dir"; fi
if [ -e "${UPDATE_SOURCE}/Duplicati-server.sqlite" ]; then rm "${UPDATE_SOURCE}/Duplicati-server.sqlite"; fi
if [ -e "${UPDATE_SOURCE}/Duplicati.debug.log" ]; then rm "${UPDATE_SOURCE}/Duplicati.debug.log"; fi
if [ -e "${UPDATE_SOURCE}/updates" ]; then rm -rf "${UPDATE_SOURCE}/updates"; fi
rm -rf "${UPDATE_SOURCE}/"*.mdb;
rm -rf "${UPDATE_SOURCE}/"*.pdb;

echo
echo "Building signed package ..."

mono BuildTools/AutoUpdateBuilder/bin/Debug/AutoUpdateBuilder.exe --input="${UPDATE_SOURCE}" --output="${UPDATE_TARGET}" --keyfile="${UPDATER_KEYFILE}" --manifest=Updates/preview.manifest --changeinfo="${RELEASE_CHANGEINFO}" --displayname="${RELEASE_NAME}" --remoteurls="${UPDATE_ZIP_URLS}" --version="${RELEASE_VERSION}" --keyfile-password="$KEYFILE_PASSWORD"

echo "${RELEASE_INC_VERSION}" > "Updates/build_version.txt"

mv "${UPDATE_TARGET}/package.zip" "${UPDATE_TARGET}/duplicati.zip"
mv "${UPDATE_TARGET}/autoupdate.manifest" "${UPDATE_TARGET}/latest.manifest"

mono BuildTools/UpdateVersionStamp/bin/Debug/UpdateVersionStamp.exe --version="2.0.0.7"

echo
echo "Built DEBUG version: ${RELEASE_VERSION} - ${RELEASE_NAME}"
echo " in folder: ${UPDATE_TARGET}"


0 comments on commit 869407b

Please sign in to comment.