summaryrefslogtreecommitdiff
path: root/publish-packages.sh
blob: 5c495e944c74bf9d32b558077fe40a64452bcb84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/env bash

usage()
{
    echo "Publishes the NuGet packages to the specified location."
    echo "For publishing to Azure the following properties are required."
    echo "   /p:CloudDropAccountName=\"account name\""
    echo "   /p:CloudDropAccessToken=\"access token\""
    echo "   /p:__BuildType=\"Configuration\""
    echo "Configuration can be Release, Checked, or Debug"
    exit 1
}

working_tree_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
publish_log=$working_tree_root/publish.log

while [[ $# > 0 ]]
do
    unprocessedBuildArgs="$unprocessedBuildArgs $1"
    shift
done

# Use uname to determine what the OS is.
OSName=$(uname -s)
case $OSName in
    Linux)
        __BuildOS=Linux
        ;;

    Darwin)
        __BuildOS=OSX
        ;;

    FreeBSD)
        __BuildOS=FreeBSD
        ;;

    OpenBSD)
        __BuildOS=OpenBSD
        ;;

    NetBSD)
        __BuildOS=NetBSD
        ;;

    SunOS)
        __BuildOS=SunOS
        ;;

    *)
        echo "Unsupported OS $OSName detected, configuring as if for Linux"
        __BuildOS=Linux
        ;;
esac

echo $unprocessedBuildArgs

options="/nologo /v:minimal /flp:v=detailed;Append;LogFile=$publish_log"

echo "Running publish-packages.sh $*" > $publish_log

echo "Running init-tools.sh"
$working_tree_root/init-tools.sh

echo "Restoring all packages..."
echo -e "\n$working_tree_root/Tools/corerun $working_tree_root/Tools/MSBuild.exe $working_tree_root/src/publish.proj $options $unprocessedBuildArgs" /p:__BuildOS=$__BuildOS >> $publish_log
$working_tree_root/Tools/corerun $working_tree_root/Tools/MSBuild.exe $working_tree_root/src/publish.proj $options $unprocessedBuildArgs /p:__BuildOS=$__BuildOS
if [ $? -ne 0 ]
then
    echo -e "\nPackage publishing failed. Aborting." >> $publish_log
    echo "ERROR: An error occurred while publishing packages; see $publish_log for more details. There may have been networking problems, so please try again in a few minutes."
    exit 1
fi

echo "Publish completed successfully."
echo -e "\nPublish completed successfully." >> $publish_log
exit 0