-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #82 from eiriktsarpalis/multi-target
Fix multi-target packaging issues
Showing
12 changed files
with
1,299 additions
and
1,640 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,76 @@ | ||
#!/bin/bash | ||
export FrameworkPathOverride=$(dirname $(which mono))/../lib/mono/4.5/ | ||
#!/usr/bin/env bash | ||
|
||
if test "$OS" = "Windows_NT" | ||
set -eu | ||
|
||
cd `dirname $0` | ||
|
||
PAKET_BOOTSTRAPPER_EXE=.paket/paket.bootstrapper.exe | ||
PAKET_EXE=.paket/paket.exe | ||
FAKE_EXE=packages/build/FAKE/tools/FAKE.exe | ||
|
||
FSIARGS="" | ||
FSIARGS2="" | ||
OS=${OS:-"unknown"} | ||
if [ "$OS" != "Windows_NT" ] | ||
then | ||
# use .Net | ||
.paket/paket.exe restore | ||
exit_code=$? | ||
if [ $exit_code -ne 0 ]; then | ||
exit $exit_code | ||
fi | ||
|
||
[ ! -e build.fsx ] && .paket/paket.exe update | ||
[ ! -e build.fsx ] && packages/build/FAKE/tools/FAKE.exe init.fsx | ||
packages/build/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx | ||
else | ||
# use mono | ||
mono .paket/paket.exe restore | ||
exit_code=$? | ||
if [ $exit_code -ne 0 ]; then | ||
exit $exit_code | ||
# Can't use FSIARGS="--fsiargs -d:MONO" in zsh, so split it up | ||
# (Can't use arrays since dash can't handle them) | ||
FSIARGS="--fsiargs" | ||
FSIARGS2="-d:MONO" | ||
fi | ||
|
||
run() { | ||
if [ "$OS" != "Windows_NT" ] | ||
then | ||
mono "$@" | ||
else | ||
"$@" | ||
fi | ||
} | ||
|
||
[ ! -e build.fsx ] && mono .paket/paket.exe update | ||
[ ! -e build.fsx ] && mono packages/build/FAKE/tools/FAKE.exe init.fsx | ||
mono packages/build/FAKE/tools/FAKE.exe $@ --fsiargs -d:MONO build.fsx | ||
yesno() { | ||
# NOTE: Defaults to NO | ||
read -p "$1 [y/N] " ynresult | ||
case "$ynresult" in | ||
[yY]*) true ;; | ||
*) false ;; | ||
esac | ||
} | ||
|
||
set +e | ||
run $PAKET_BOOTSTRAPPER_EXE | ||
bootstrapper_exitcode=$? | ||
set -e | ||
|
||
if [ "$OS" != "Windows_NT" ] && | ||
[ $bootstrapper_exitcode -ne 0 ] && | ||
[ $(certmgr -list -c Trust | grep X.509 | wc -l) -le 1 ] && | ||
[ $(certmgr -list -c -m Trust | grep X.509 | wc -l) -le 1 ] | ||
then | ||
echo "Your Mono installation has no trusted SSL root certificates set up." | ||
echo "This may result in the Paket bootstrapper failing to download Paket" | ||
echo "because Github's SSL certificate can't be verified. One way to fix" | ||
echo "this issue would be to download the list of SSL root certificates" | ||
echo "from the Mozilla project by running the following command:" | ||
echo "" | ||
echo " mozroots --import --sync" | ||
echo "" | ||
echo "This will import over 100 SSL root certificates into your Mono" | ||
echo "certificate repository." | ||
echo "" | ||
if yesno "Run 'mozroots --import --sync' now?" | ||
then | ||
mozroots --import --sync | ||
else | ||
echo "Attempting to continue without running mozroots. This might fail." | ||
fi | ||
# Re-run bootstrapper whether or not the user ran mozroots, because maybe | ||
# they fixed the problem in a separate terminal window. | ||
run $PAKET_BOOTSTRAPPER_EXE | ||
fi | ||
|
||
run $PAKET_EXE restore | ||
|
||
[ ! -e build.fsx ] && run $PAKET_EXE update | ||
[ ! -e build.fsx ] && run $FAKE_EXE init.fsx | ||
run $FAKE_EXE "$@" $FSIARGS $FSIARGS2 build.fsx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.