This repository was archived by the owner on Apr 12, 2024. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork 27.4k
/
Copy pathpublish.sh
executable file
·110 lines (89 loc) · 2.51 KB
/
publish.sh
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/bash
# Script for updating the AngularJS bower repos from current local build.
echo"#################################"
echo"#### Update bower ###############"
echo"#################################"
ARG_DEFS=(
"--action=(prepare|publish)"
)
functioninit {
TMP_DIR=$(resolveDir ../../tmp)
BUILD_DIR=$(resolveDir ../../build)
NEW_VERSION=$(cat $BUILD_DIR/version.txt)
PROJECT_DIR=$(resolveDir ../..)
# get the dist-tag for this release from a custom property (distTag) in package.json
DIST_TAG=$(readJsonProp "$PROJECT_DIR/package.json""distTag")
}
functionprepare {
#
# clone repos
#
forrepoin"${REPOS[@]}"
do
echo"-- Cloning bower-$repo"
git clone git@github.com:angular/bower-$repo.git $TMP_DIR/bower-$repo --depth=1
done
#
# move the files from the build
#
forrepoin"${REPOS[@]}"
do
if [ -f$BUILD_DIR/$repo.js ] # ignore i18l
then
echo"-- Updating files in bower-$repo"
cp $BUILD_DIR/$repo.*$TMP_DIR/bower-$repo/
fi
done
# move i18n files
cp $BUILD_DIR/i18n/*.js $TMP_DIR/bower-angular-i18n/
# move csp.css
cp $BUILD_DIR/angular-csp.css $TMP_DIR/bower-angular
#
# Run local precommit script if there is one
#
forrepoin"${REPOS[@]}"
do
if [ -f$TMP_DIR/bower-$repo/precommit.sh ]
then
echo"-- Running precommit.sh script for bower-$repo"
cd$TMP_DIR/bower-$repo
$TMP_DIR/bower-$repo/precommit.sh
cd$SCRIPT_DIR
fi
done
#
# update bower.json
# tag each repo
#
forrepoin"${REPOS[@]}"
do
echo"-- Updating version in bower-$repo to $NEW_VERSION"
cd$TMP_DIR/bower-$repo
replaceJsonProp "bower.json""version"".*""$NEW_VERSION"
replaceJsonProp "bower.json""angular.*"".*""$NEW_VERSION"
replaceJsonProp "package.json""version"".*""$NEW_VERSION"
replaceJsonProp "package.json""angular.*"".*""$NEW_VERSION"
git add -A
echo"-- Committing and tagging bower-$repo"
git commit -m "v$NEW_VERSION"
git tag v$NEW_VERSION
cd$SCRIPT_DIR
done
}
functionpublish {
forrepoin"${REPOS[@]}"
do
echo"-- Pushing bower-$repo"
cd$TMP_DIR/bower-$repo
git push origin master
git push origin v$NEW_VERSION
# don't publish every build to the npm repository
if [ "${NEW_VERSION/+sha}"="$NEW_VERSION" ] ;then
echo"-- Publishing to the npm repository as $DIST_TAG"
npm publish --tag=$DIST_TAG
fi
cd$SCRIPT_DIR
done
}
source$(dirname $0)/repos.inc
source$(dirname $0)/../utils.inc