fix script path
[sandbox/pwolanin/1801674.git] / job.sh
1 #!/bin/bash
2
3 # $ALLTHINGS tells use where the repo is
4
5 if [ -z "$ALLTHINGS" ]; then
6   echo "Please define env variable ALLTHINGS"
7   exit 1
8 fi
9
10 if [ -z "$@" ]; then
11   echo "Usage:  $0 -r REPONAME -g REPONAME/GEMDIR"
12   exit 2
13 fi
14
15 while getopts ":g:r:" optname
16   do
17     case "$optname" in
18       "g")
19         gems[$OPTIND]=$OPTARG
20         ;;
21       "r")
22         repos[$OPTIND]=$OPTARG
23         ;;
24       "?")
25         echo "Unknown option $OPTARG"
26         exit 3
27         ;;
28       ":")
29         echo "No argument value for $OPTARG"
30         exit 4
31         ;;
32       *)
33       # Should not occur
34         echo "Error while processing options"
35         exit 5
36         ;;
37     esac
38   done
39
40 echo "repos: ${repos[@]}"
41
42 echo "gems to build RDoc: ${gems[@]}"
43
44 # Standardize on <repo>/doc ... copy existing markdown
45 for i in ${repos[@]};
46 do
47   mkdir -p $ALLTHINGS/github/$i/
48   if [ ! -d $WORKSPACE/$i/.git ]; then
49     rm -rf $WORKSPACE/$i
50     git clone git@github.com:acquia/$i.git $WORKSPACE/$i
51   fi
52   cd $WORKSPACE/$i
53   git fetch --all
54   git reset --hard origin
55   for dir in $WORKSPACE/$i/{doc,docs}; do
56     [ ! -d $dir ] || cp -R $dir $ALLTHINGS/github/$i/
57   done
58   # Copy docs at the top level of the repo too.
59   for file in $WORKSPACE/$i/*.{md,txt,htm,html}; do
60     [ ! -f $file ] || cp $file $ALLTHINGS/github/$i/
61   done
62 done
63
64 # Generate rdocs for api's
65 for i in ${gems[@]};
66 do
67   cd $WORKSPACE/$i
68   name=$(basename $i)
69   rdoc -o $ALLTHINGS/generated/$name
70 done
71
72 cd $ALLTHINGS
73
74 # Only commit all the things if there are changes
75 git add generated
76 git add github
77 if ! git diff-index --quiet HEAD --; then
78   git status
79   git commit -am "Automated document generation: ${JOB_NAME} build ${BUILD_NUMBER}"
80 fi