Skip to content

Commit 519efd0

Browse files
Bazel Fixes/Deprecations, Mojave Fixes, Chromium Bump 65.0.3325.69 (#18)
* Remove usage of deprecated native repository rules * fix: outdated bazel target syntax (missing //) * fix: OSX Mojave missing includes * Adds XCode includes to the includes path for missing headers * feat: modify build matrix to deprecate old bazel versions * non-backwards compatibility with Bazel < 0.12.0 * fix: fix generate_workspace inline with Bazel deprecations * feat: Chromium 65.0.3325.69 * small version bump to include bazel deprecations
1 parent 7074e07 commit 519efd0

6 files changed

Lines changed: 56 additions & 40 deletions

File tree

.travis.yml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dist: trusty
2-
sudo: required
2+
33
osx_image: xcode8.3
44
language: java
55

@@ -8,21 +8,17 @@ os:
88
- osx
99

1010
env:
11-
- BAZEL_VERSION=0.9.0
12-
- BAZEL_VERSION=0.10.1
13-
- BAZEL_VERSION=0.11.1
1411
- BAZEL_VERSION=0.12.0
1512
- BAZEL_VERSION=0.13.1
13+
- BAZEL_VERSION=0.14.1
14+
- BAZEL_VERSION=0.15.2
15+
- BAZEL_VERSION=0.16.1
16+
- BAZEL_VERSION=0.17.2
17+
- BAZEL_VERSION=0.18.1
18+
- BAZEL_VERSION=0.19.2
1619

1720
matrix:
1821
fast_finish: true
19-
allow_failures:
20-
- os: osx
21-
env: BAZEL_VERSION=0.9.0
22-
- os: osx
23-
env: BAZEL_VERSION=0.10.1
24-
- os: osx
25-
env: BAZEL_VERSION=0.11.1
2622

2723
before_install:
2824
- echo $TRAVIS_OS_NAME;

README.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,26 @@ Invoke Bazel with the custom toolchain:
2828

2929
`vsco/bazel-toolchains` is tested against the following build matrix:
3030

31-
| Bazel Version | OSX | Linux |
32-
| :------------- | :-: | :---: |
33-
| 0.9.x |||
34-
| 0.10.x |||
35-
| 0.11.x |||
36-
| 0.12.x |||
37-
| 0.13.x |||
31+
| Bazel Version | OSX | Linux |
32+
| :-------------- | :-: | :---: |
33+
| 0.20.0+ |||
34+
| 0.19.2 |||
35+
| 0.18.1 |||
36+
| 0.17.2 |||
37+
| 0.16.1 |||
38+
| 0.15.2 |||
39+
| 0.14.1 |||
40+
| 0.13.1 |||
41+
| 0.12.0 |||
42+
| ~0.11.x~ |||
43+
| ~0.10.x~ |||
44+
| ~0.9.x~ |||
3845

3946
Builds beyond the listed versions are not currently tested.
4047

48+
Bazel `0.20.0+` introduced breaking changes to the [C++ Toolchain API](https://github.com/bazelbuild/bazel/issues/6434)
49+
which need to be addressed for consumers of this repo in a non-breaking manner.
50+
4151
## Prerequisites
4252

4353
On macOS, run `xcode-select --install` in Terminal.

WORKSPACE

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ workspace(name = "co_vsco_bazel_toolchains")
44
load("//toolchains:repositories.bzl", "bazel_toolchains_repositories")
55
bazel_toolchains_repositories()
66

7+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
8+
79
# GTest
8-
new_http_archive(
10+
http_archive(
911
name = "gtest",
1012
url = "https://github.com/google/googletest/archive/release-1.8.0.zip",
1113
sha256 = "f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf",
12-
build_file = "build_files/gtest.BUILD",
14+
build_file = "//build_files:gtest.BUILD",
1315
strip_prefix = "googletest-release-1.8.0/googletest",
1416
)

scripts/generate_workspace.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ def print_invocation(self):
1717
def print_def(self):
1818
print """
1919
def %(name)s():
20-
native.%(repo_type)s(
20+
%(repo_type)s(
2121
name = '%(name)s',
22-
build_file = str(Label('//build_files:%(name)s.BUILD')),""" % {'name': self.name, 'repo_type': self.repo_type}
22+
build_file = str(Label('//build_files:%(name)s.BUILD')),""" % {'name': self.name, 'repo_type': self.repo_type}
2323

2424
for key, value in self.args.iteritems():
2525
print \
@@ -37,11 +37,11 @@ def get_archive_type(repo):
3737
def get_http_archives(revision, prefix, fetch_func):
3838
return [Repository(
3939
name = prefix + repo['platform'].lower(),
40-
repo_type = 'new_http_archive',
40+
repo_type = 'http_archive',
4141
urls = [repo['url']],
4242
sha256 = "'" + repo['sha256'] + "'",
4343
type = get_archive_type(repo),
44-
) for repo in fetch_func(revision)]
44+
) for repo in fetch_func(revision)]
4545

4646
def get_git_repositories(revision, fetch_func):
4747
return [Repository(
@@ -52,8 +52,8 @@ def get_git_repositories(revision, fetch_func):
5252
) for repo in fetch_func(revision)]
5353

5454
def print_workspace(revision):
55-
repos = (get_http_archives(revision, 'org_chromium_clang_', chromium_repo.download_clang_info) +
56-
get_http_archives(revision, 'org_chromium_sysroot_', chromium_repo.download_sysroot_info) +
55+
repos = (get_http_archives(revision, 'org_chromium_clang_', chromium_repo.download_clang_info) +
56+
get_http_archives(revision, 'org_chromium_sysroot_', chromium_repo.download_sysroot_info) +
5757
get_http_archives(revision, 'org_chromium_binutils_', chromium_repo.download_binutils_info) +
5858
get_git_repositories(revision, chromium_repo.download_toolchain_info))
5959

@@ -62,6 +62,8 @@ def print_workspace(revision):
6262
print f.read()
6363
print '# Defines external repositories needed by bazel-toolchains.'
6464
print '# Chromium toolchain corresponds to Chromium %s.\n' % revision
65+
print 'load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")'
66+
print 'load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")\n'
6567
print 'def bazel_toolchains_repositories():'
6668
for repo in repos:
6769
repo.print_invocation()
@@ -73,4 +75,4 @@ def print_workspace(revision):
7375
parser = argparse.ArgumentParser()
7476
parser.add_argument("-r", "--rev", action="store", required=True)
7577
args = parser.parse_args()
76-
print_workspace(args.rev)
78+
print_workspace(args.rev)

toolchains/repositories.bzl

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
# limitations under the License.
1515

1616
# Defines external repositories needed by bazel-toolchains.
17-
# Chromium toolchain corresponds to Chromium 64.0.3282.167.
17+
# Chromium toolchain corresponds to Chromium 65.0.3325.69.
18+
19+
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
20+
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
1821

1922
def bazel_toolchains_repositories():
2023
org_chromium_clang_mac()
@@ -25,48 +28,48 @@ def bazel_toolchains_repositories():
2528
org_chromium_libcxxabi()
2629

2730
def org_chromium_clang_mac():
28-
native.new_http_archive(
31+
http_archive(
2932
name = 'org_chromium_clang_mac',
3033
build_file = str(Label('//build_files:org_chromium_clang_mac.BUILD')),
31-
sha256 = '4f0aca6ec66281be94c3045550ae15a73befa59c32396112abda0030ef22e9b6',
32-
urls = ['https://commondatastorage.googleapis.com/chromium-browser-clang/Mac/clang-318667-1.tgz'],
34+
sha256 = '4b2a7a65ac1ee892b318c723eec8771f514bb306f346aa8216bb0006f19d87b7',
35+
urls = ['https://commondatastorage.googleapis.com/chromium-browser-clang/Mac/clang-321529-2.tgz'],
3336
)
3437

3538
def org_chromium_clang_linux_x64():
36-
native.new_http_archive(
39+
http_archive(
3740
name = 'org_chromium_clang_linux_x64',
3841
build_file = str(Label('//build_files:org_chromium_clang_linux_x64.BUILD')),
39-
sha256 = 'e63e5fe3ec8eee4779812cd16aae0ddaf1256d2e8e93cdd5914a3d3e01355dc1',
40-
urls = ['https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-318667-1.tgz'],
42+
sha256 = '76d4eb1ad011e3127c4a9de9b9f5d4ac624b5a9395c4d7395c9e0a487b13daf6',
43+
urls = ['https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-321529-2.tgz'],
4144
)
4245

4346
def org_chromium_sysroot_linux_x64():
44-
native.new_http_archive(
47+
http_archive(
4548
name = 'org_chromium_sysroot_linux_x64',
4649
build_file = str(Label('//build_files:org_chromium_sysroot_linux_x64.BUILD')),
4750
sha256 = '84656a6df544ecef62169cfe3ab6e41bb4346a62d3ba2a045dc5a0a2ecea94a3',
4851
urls = ['https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/2202c161310ffde63729f29d27fe7bb24a0bc540/debian_stretch_amd64_sysroot.tar.xz'],
4952
)
5053

5154
def org_chromium_binutils_linux_x64():
52-
native.new_http_archive(
55+
http_archive(
5356
name = 'org_chromium_binutils_linux_x64',
5457
build_file = str(Label('//build_files:org_chromium_binutils_linux_x64.BUILD')),
55-
sha256 = '24c3df44af5bd377c701ee31b9b704f2ea23456f20e63652c8235a10d7cf1be7',
58+
sha256 = 'd3e03aa37dd59d6b3b0df4654b964ef5361d913d50c1e2724a6f1335762fcda6',
5659
type = 'tar.bz2',
57-
urls = ['https://commondatastorage.googleapis.com/chromium-binutils/0cb5726d9701f8be6a81b199899de1de552922f2'],
60+
urls = ['https://commondatastorage.googleapis.com/chromium-binutils/5230f6066998df2f4d61d5fa586152ab20cca300'],
5861
)
5962

6063
def org_chromium_libcxx():
61-
native.new_git_repository(
64+
new_git_repository(
6265
name = 'org_chromium_libcxx',
6366
build_file = str(Label('//build_files:org_chromium_libcxx.BUILD')),
6467
commit = 'f56f1bba1ade4a408d403ff050d50e837bae47df',
6568
remote = 'https://chromium.googlesource.com/chromium/llvm-project/libcxx',
6669
)
6770

6871
def org_chromium_libcxxabi():
69-
native.new_git_repository(
72+
new_git_repository(
7073
name = 'org_chromium_libcxxabi',
7174
build_file = str(Label('//build_files:org_chromium_libcxxabi.BUILD')),
7275
commit = '05ba3281482304ae8de31123a594972a495da06d',

tools/cpp/CROSSTOOL

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,11 @@ toolchain {
183183
compiler_flag: "external/org_chromium_clang_mac/lib/clang/6.0.0/include"
184184
compiler_flag: "-isystem"
185185
compiler_flag: "/usr/include"
186+
compiler_flag: "-isystem"
187+
compiler_flag: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
186188
cxx_builtin_include_directory: "/usr/include"
187189
cxx_builtin_include_directory: "/System/Library/Frameworks"
190+
cxx_builtin_include_directory: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
188191
objcopy_embed_flag: "-I"
189192
objcopy_embed_flag: "binary"
190193

0 commit comments

Comments
 (0)