Release 5.0.0.14631
[platform/core/csapi/tizenfx.git] / build.sh
1 #!/bin/bash
2
3 SCRIPT_FILE=$(readlink -f $0)
4 SCRIPT_DIR=$(dirname $SCRIPT_FILE)
5
6 OUTDIR=$SCRIPT_DIR/Artifacts
7
8 RUN_BUILD="dotnet msbuild $SCRIPT_DIR/build/build.proj /nologo"
9
10 VERSION_PREFIX=5.0.0
11
12 usage() {
13   echo "Usage: $0 [command] [args]"
14   echo "Commands:"
15   echo "    build [module]     Build a specific module"
16   echo "    full               Build all modules in src/ directory"
17   echo "    dummy              Generate dummy assemblies of all modules"
18   echo "    pack [version]     Make a NuGet package with build artifacts"
19   echo "    clean              Clean all artifacts"
20 }
21
22 cmd_build() {
23   if [ -z "$1" ]; then
24     echo "No module specified."
25     exit 1
26   fi
27   if [ -d /nuget ]; then
28     NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
29   fi
30   PROJECT=$1; shift
31   $RUN_BUILD /t:restore /p:Project=$PROJECT $NUGET_SOURCE_OPT $@
32   $RUN_BUILD /t:build /p:Project=$PROJECT $@
33 }
34
35 cmd_full_build() {
36   if [ -d /nuget ]; then
37     NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
38   fi
39   rm -f msbuild.log
40   $RUN_BUILD /t:clean
41   $RUN_BUILD /t:restore $NUGET_SOURCE_OPT $@
42   $RUN_BUILD /t:build /fl $@
43 }
44
45 cmd_dummy_build() {
46   $RUN_BUILD /t:dummy
47 }
48
49 cmd_pack() {
50   VERSION=$1
51   if [ -z "$VERSION" ]; then
52     pushd $SCRIPT_DIR > /dev/null
53     VERSION=$VERSION_PREFIX.$((10000+$(git rev-list --count HEAD)))
54     popd > /dev/null
55   fi
56
57   $RUN_BUILD /t:pack /p:Version=$VERSION
58 }
59
60 cmd_clean() {
61   $RUN_BUILD /t:clean
62 }
63
64 cmd=$1; shift;
65 case "$cmd" in
66   build|--build|-b) cmd_build $@ ;;
67   full |--full |-f) cmd_full_build $@ ;;
68   dummy|--dummy|-d) cmd_dummy_build $@ ;;
69   pack |--pack |-p) cmd_pack $@ ;;
70   clean|--clean|-c) cmd_clean $@ ;;
71   *) usage ;;
72 esac