devcontainers / devcontainers/cli

We just switched to the new Proto library build rules in the [instrumentation-proto](https://github.com/google/instrumentation-proto) repository, by following the instructions at https://bazel.build/blog/index.html#protocol-buffers-in-bazel. Here is the pull request: https://github.com/google/instrumentation-proto/pull/26

Open
#918 2 comments 1 reaction 0 assignees View on GitHub
info-needed
Dominant language
TypeScript
Stars
3k
Forks
457
Avg merge
13h 17m
Merged PRs (30d)
6

Description

We just switched to the new Proto library build rules in the [instrumentation-proto](https://github.com/google/instrumentation-proto) repository, by following the instructions at https://bazel.build/blog/index.html#protocol-buffers-in-bazel. Here is the pull request: https://github.com/google/instrumentation-proto/pull/26

Then we updated a git submodule to bring the changes into [instrumentation-java](https://github.com/google/instrumentation-java), as in this commit: https://github.com/sebright/instrumentation-java/commit/95a6691ea8705f28c9b8a7a7f6ce3fa9d6b1c692

We were building `instrumentation-java` with `--javacopt=-Werror --javacopt=-Xlint:all` in CI. After the change, we started getting many errors that seemed to come from the `com_google_protobuf_java` `http_archive` target in our WORKSPACE file. Here is part of the list of errors from the failed Travis build:

```
ERROR: /home/travis/.cache/bazel/_bazel_travis/43f33de0ac8ec257b07378061caba359/external/com_google_protobuf_java/BUILD:553:1: Java compilation in rule '@com_google_protobuf_java//:protobuf_java' failed: Worker process sent response with exit code: 1.
external/com_google_protobuf_java/java/core/src/main/java/com/google/protobuf/AbstractMessage.java:55: warning: [rawtypes] found raw type: AbstractMessageLite
extends AbstractMessageLite
^
missing type arguments for generic class AbstractMessageLite
where MessageType,BuilderType are type-variables:
MessageType extends AbstractMessageLite declared in class AbstractMessageLite
BuilderType extends Builder declared in class AbstractMessageLite
external/com_google_protobuf_java/java/core/src/main/java/com/google/protobuf/AbstractMessage.java:250: warning: [rawtypes] found raw type: List
List list1 = (List) value1;
^
missing type arguments for generic class List
where E is a type-variable:
E extends Object declared in interface List
```

The full command was:
```
bazel build :stats-core_impl --javacopt=-Werror --javacopt=-Xlint:all --javacopt=-Xlint:-cast --javacopt=-Xlint:-deprecation --javacopt=-Xlint:-try --verbose_failures
```
(We were already suppressing some other warnings.)

The full log is at https://travis-ci.org/sebright/instrumentation-java/jobs/212241166 .

Bazel version:
```
Build label: 0.4.5
Build target: bazel-out/local-fastbuild/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Thu Mar 16 12:19:38 2017 (1489666778)
Build timestamp: 1489666778
Build timestamp as int: 1489666778
```

I expected bazel to not fail the build in this case, for two reasons:
- `com_google_protobuf_java` is only a dependency of the project. I think there should be a way to only fail if warnings come from the targets in the `BUILD` file. (Is there already an option that does that?)
- `java_proto_library` shouldn't cause errors, because it is a built-in build rule.

/cc @bogdandrutu

_Originally posted by @sebright in https://github.com/bazelbuild/bazel/issues/2699_ s-out/
antlr3/
contrib/
Documentation/
e2e-tests/
java/
javatests/
lib/
modules/
plugins/
polygerrit-ui/
prolog/
prologtests/
proto/
resources/
tools/
webapp/
polymer-bridges
.bazelignore
.bazelproject
.bazelrc
.bazelversion
.editorconfig
.git-blame-ignore-revs
.gitignore
.gitmodules
.gitreview
.mailmap
.pydevproject
.zuul.yaml
BUILD
COPYING
INSTALL
Jenkinsfile
package.json
README.md
SUBMITTING_PATCHES
version.bzl
web-dev-server.config.mjs
WORKSPACE
yarn.lock

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.