OLD | NEW |
1 # Chromium Infra Go Area | 1 # Chromium Infra Go Area |
2 | 2 |
3 [TOC] | 3 [TOC] |
4 | 4 |
5 ## Why Go? | 5 ## Why Go? |
6 | 6 |
7 Python is great, except when you need to deploy same python program (with tons | 7 Python is great, except when you need to deploy same python program (with tons |
8 of dependencies) simultaneously to Windows, Mac and Linux machines, or when | 8 of dependencies) simultaneously to Windows, Mac and Linux machines, or when |
9 "lets fetch all the source code and just run it" approach no longer works. | 9 "lets fetch all the source code and just run it" approach no longer works. |
10 | 10 |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 vi Goopfile | 156 vi Goopfile |
157 ./env.py goop update | 157 ./env.py goop update |
158 git diff Goopfile.lock | 158 git diff Goopfile.lock |
159 | 159 |
160 # Rinse and repeat until all Win dependencies added. | 160 # Rinse and repeat until all Win dependencies added. |
161 git add ... | 161 git add ... |
162 git commit --amend | 162 git commit --amend |
163 git cl upload | 163 git cl upload |
164 git cl try -m tryserver.infra -b "Infra Win Tester" | 164 git cl try -m tryserver.infra -b "Infra Win Tester" |
165 | 165 |
| 166 If you suspect that some packages are no longer needed, you can run |
| 167 clean_goop.py script. It will detect potentially unused packages and print them. |
| 168 It's not fully trusted to work yet, and thus it's not used automatically. |
| 169 |
| 170 ./env.py python clean_goop.py |
| 171 <remove what it said to remove> |
| 172 |
| 173 ./env.py goop update |
| 174 git diff Goopfile.lock |
| 175 <ensure packages are gone from Goopfile.lock> |
| 176 |
| 177 # Test that our code still works. |
| 178 ./env.py go test github.com/luci/gae/... |
| 179 ./env.py go test github.com/luci/luci-go/... |
| 180 ./env.py go test infra/... |
| 181 |
| 182 Note: both roll_goop.py and clean_goop.py have lists of exceptional packages |
| 183 hardcoded in them. If you encounter some stubborn package that is handled badly |
| 184 by these scripts, consider adding it to the exceptions. |
| 185 |
166 | 186 |
167 ## Git mirrors for dependencies | 187 ## Git mirrors for dependencies |
168 | 188 |
169 All dependencies should be fetched from a *.googlesource.com host. | 189 All dependencies should be fetched from a *.googlesource.com host. |
170 | 190 |
171 Some Golang related packages are already on *.googlesource.com (though it may | 191 Some Golang related packages are already on *.googlesource.com (though it may |
172 be non obvious at the first glance). For example all golang.org/x/* ones are | 192 be non obvious at the first glance). For example all golang.org/x/* ones are |
173 actually served from https://go.googlesource.com/. | 193 actually served from https://go.googlesource.com/. |
174 | 194 |
175 If you are positive that mirror is needed, file | 195 If you are positive that mirror is needed, file |
176 [Infra-Git](https://code.google.com/p/chromium/issues/entry?template=Infra-Git) | 196 [Infra-Git](https://code.google.com/p/chromium/issues/entry?template=Infra-Git) |
177 ticket specifying what repository you need to be mirrored. | 197 ticket specifying what repository you need to be mirrored. |
OLD | NEW |