shellfiles/build_mercurial.sh
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sun, 09 Jun 2013 02:15:40 +0200
changeset 158 93cbdd865850
child 159 40cdb9aa191d
permissions -rw-r--r--
Initial version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
158
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
#!/bin/bash
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
# Simple Unix shell script to build STX:LIBJAVA using Jenkins CI
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
# Actually, it is used on Windows (with UnxUtils) as well.
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
PROJECT="Mercurial Support"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
# Determine operating system, bit simple but works
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
if [ "$OS" == "Windows_NT" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
    WIN32=1
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
    UNIX=0
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
    WIN32=0
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    UNIX=1
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
# Utility functions
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
function mk {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    if [ "$WIN32" == "1" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    	cmd /C bmake.bat $1 $2
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    	if [ ! -f makefile ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    	   if [ -f Makefile ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    	   	make mf || error "Failed to generate makefile (make mf)"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    	   else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    	   	make -f Makefile.init mf || error "Failed to generate makefile (make -f Makefile.init mf)"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    	   fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    	fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
    	make $1 $2 || error "Make failed"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
function sunit {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    pushd stx/goodies/builder/reports
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    info "Running tests for $1"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    if [ "$WIN32" == "1" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
        cmd /C report-runner.bat -D . -r Builder::TestReport -p "$1" || error "Failed to run reports"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
        (echo "" | ./report-runner.sh -D . -r Builder::TestReport -p "$1") || error "Failed to run reports"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    popd
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
function info {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    echo "[INF] $1"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    if [ ! -z "$2" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
        echo "      $2"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
function error {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    echo     "[ERR] $1"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    if [ ! -z "$2" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
        echo "      $2"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    exit 1
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
# Main function
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
function main {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    pushd "$BUILD"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    if [ -z "$1" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    	info "Checking out..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    	checkout
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    	info "Compiling..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    	compile
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    	info "Running tests..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    	runtests
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
        case "$1" in
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
            checkout)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    	        info "Checking out..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    	        checkout;;
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
            compile)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
                info "Compiling..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    	        compile;;
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
            tests)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    	        info "Running tests..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    	        runtests;;
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
            test)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
    	        info "Running tests..."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
    	        runtests;;
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
            *)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
                error "Invalid command ($1)"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
        esac
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    popd
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    exit 0
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
# Setup...
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
if [ "$WIN32" == "1" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    # WINDOWS
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
    # MUST export this, otherwise libjpeg fails to build!!!"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    if [ -z "$BCB"]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
        export BCB="C:\Borland\BCC55"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    # To make cvs/ssh happy
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    if [ -z "$CVS_RSH" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
        export CVS_RSH=plink
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
    # Set home
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    export HOME=$USERPROFILE
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    # LINUX
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    # to get Mercurial on build slave
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    export PATH=$PATH:/home/vrany/bin
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
if [ -z "$CVSROOT" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
    error "CVSROOT not set!"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
# Sorry, it's lot easier for all to have all the messages in EN :-)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
export LANG=en_GB.UTF-8
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
# Functions to override:
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
function checkout {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
    error "You have to override function 'checkout'"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
function compile {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
    error "You have to override function 'compile'"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
function runtests {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
    info "No tests specified" "To do so, override function runtests"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
# When run interactively, Jenkins env variables
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
# may not be set...
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
if [ -z "$WORKSPACE" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
  WORKSPACE="$PWD"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
    INTERACTIVE=1
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
    INTERACTIVE=0
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
if [ "$INTERACTIVE" == "0" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
  if [ "$WIN32" == "1" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
    WORKSPACE="$PWD"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
  fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
if [ -z "$BUILD_NUMBER" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
    BUILD_NUMBER=$(date +%Y_%m_%d_interactive)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
BUILD="."
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
echo "INFO: BUILD=\"$BUILD\""
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
if [ -d "$BUILD" ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
    if [ "$BUILD" != "." ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
        info "Build directory already exists!"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
    mkdir -p "$BUILD"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
# Checkout
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
function checkout {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
    # Checkout stx
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    if [ ! -d stx ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
      if ! cvs co stx; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
        error "CVS: Cannot checkout stx";
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
      fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
      (cd stx && cvs update -d)
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
    # Checkout stx:libscm
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
    repo="https://bitbucket.org/janvrany/stx-libscm"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
    if [ ! -d stx/libscm ]; then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
        hg clone "$repo" stx/libscm || error "HG: cannot clone stx:libscm"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
    else
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        hg --cwd stx/libscm pull "$repo" || error "HG: cannot pull stx:libscm"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
        hg --cwd stx/libscm update || error "HG: cannot update stx:libscm"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
    fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
# Compile
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
function compile {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
    TARGETS1="stx stx/libscm/common stx/libscm/mercurial stx/librun"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
    for target in $TARGETS1; do
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
      if ! (cd "$target" && mk); then
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
        echo "ERROR:  cannot $MAKE in $target"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
        exit 3
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
      fi
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
    done
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
function runtests {
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    sunit "stx:libscm/mercurial"
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
}
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
# Now, call main
93cbdd865850 Initial version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
main $1 $2 $3