Commit Graph

41 Commits

Author SHA1 Message Date
Adam Cozzette
c7dfd0d6b9
Align dependency handling with Bazel best practices (#9165)
This commit removes the use of bind() since that function goes against
Bazel best practices:
https://docs.bazel.build/versions/main/external.html#repository-rules-1
The bind() function basically maps a dependency into //external, but
there is no good reason to do this. By mapping dependencies into
//external and relying on this in our own BUILD files, we're forcing
projects that depend on us to do the same. The one bind() call that I
did leave in place was //:python_headers. This one seems to be doing
something complicated I don't fully understand, and I don't want to risk
breaking it.

This change also moves our list of required Maven artifacts into a
constant in protobuf_deps.bzl. This way, projects that depend on us can
refer to this list when they invoke maven_install() and automatically
pull in all the necesary dependencies.

This fixes #9132.
2021-10-28 10:34:54 -07:00
Adam Cozzette
9aa1adc60c Removed unused references to easymock_classextension 2021-10-12 15:43:34 -07:00
Adam Cozzette
454f0cccaa Add jsr305 dependency for Bazel 2021-10-12 15:37:40 -07:00
Elliotte Rusty Harold
1e88936fce
Stop using EasyMock classextension (#9008)
* get rid of classextension and update EasyMock
2021-10-05 21:49:01 +00:00
Elliotte Rusty Harold
a93074e546
deps: add j2objc annotations (#9005)
* deps: add j2objc annotations

@pzd this will be needed on the next sync with google3
2021-09-22 12:41:03 +00:00
Deanna Garcia
96cffb3ac3 Removing dependencies and renaming bazel version file 2021-06-21 23:03:51 +00:00
Deanna Garcia
89a9f459e9 Changing BUILD files and adding pom templates 2021-06-21 22:28:17 +00:00
Derek Perez
87d140f851
rely on only HTTPS mirrors for maven. (#8526) 2021-04-22 12:12:41 -07:00
Derek Perez
61689226c0
updating GSON and Guava to more recent versions (#8524) 2021-04-21 18:05:18 -07:00
Derek Perez
db8f725190
ensure maven deps are pinned for reproducibility. (#8523)
* ensure maven deps are pinned for reproducibility.

* adding update docs.
2021-04-21 16:26:05 -07:00
Derek Perez
bc45f92262
Bazel powered Java testing (#8506)
* Protobuf Java/Core Tests running w/ Bazel.

Also integrates rules_jvm_external and migrates existing maven deps
in place.

* Add test_suite target that maps to rule name.

* Lite tests passing in Bazel

* util tests passing with Bazel.

* Add conformance and build testing to //java:core

* Cleanup bzl style and lock down access to failure lists.

* Adding Java Lite conformance tests.

* rm newline

* parameterize conformance_test

This makes usage of failure lists more explicit.

* restrict visibility more for newly added libs and fix formatting.

* fix formatting and visibility.

* move testing.bzl to an internal package.

* fix file formatting.

* moving conformance_test to internal.bzl
2021-04-20 11:36:32 -07:00
Yannic Bonenberger
ef70abad8a Restrict visibility and add target for C++ benchmark 2021-03-14 10:58:03 +01:00
Yannic Bonenberger
a3aecacc24 [bazel] Remove deprecated way to depend on googletest 2021-03-10 10:22:42 +01:00
David L. Jones
f5a3b92cf7
Update default dependency for gtest. (#7907)
The gtest source was changed in #7237 on an opt-in basis, and has been
released since 3.12.0. The comments state that the default should change
in 3.13.0, but that didn't quite happen.

This change does flip the default, and updates comments to say 3.14.0.
2020-10-02 20:10:51 -07:00
Yannic
2e51ad6344
[bazel] Update gtest and deprecate //external:{gtest,gtest_main} (#7237)
This change updates the gtest-version used by Bazel.
Also, `//external:{gtest,gtest_main}` is deprecated so we can remove some
of the uses of the discouraged `bind` function.

RELNOTES[bazel]: Starting with Protobuf 3.13.0, building and running
Protobuf tests requires `@com_google_googletest//:{gtest,gtest_main}`
instead of `//external:{gtest,gtest_main}`. Use
`--@com_google_protobuf//:incompatible_use_com_google_googletest=true`
to verify your workspace is not affected by this change.
2020-03-02 15:15:22 -08:00
Yannic
948740bc9d [bazel] Fix blacklisted_protos in cc_toolchain and add test (#7075) 2020-01-15 10:27:35 -08:00
Jingwen Chen
51d9876977 Migrate from maven_jar to jvm_maven_import_external to prepare for Bazel 2.0 2019-12-05 10:29:59 -08:00
Adam Liddell
c60aaf79e6 Remove duplicate six http_archive definition
Archive is declared in the protobuf_deps() call above
2019-08-15 14:53:59 -07:00
Adam Liddell
8199a01ff4 Move six.BUILD to third_party and update paths 2019-08-15 14:53:59 -07:00
Adam Liddell
23e520e7fc Update six version to 1.12.0 and fix legacy_create_init issue
When the @six//:six library is used on a target without the
`legacy_create_init` flag disabled, the library will not be
usable due to __init__.py being empty and the six code will
be in six.py. This change forces six to occupy the __init__
name, preventing this file getting created regardless of
the `legacy_create_init` setting.

See comments on a74c43bbd9 for
context:
a74c43bbd9
2019-08-15 14:53:59 -07:00
Yannic Bonenberger
d2d6ff51a8 [bazel] Load python rules from @rules_python 2019-08-06 16:50:32 -07:00
Yannic Bonenberger
bf0c69e130 [bazel] Add fixes for --incompatible_load_{cc,java,proto}_rules_from_bzl (Part 2)
This change adds the required loads to examples and zlib.
For full compatibility with --incompatible_load_{cc,java,proto}_rules_from_bzl,
we will need to roll gtest to a newer version.
2019-07-29 14:14:04 -07:00
Adam Liddell
a74c43bbd9 Fix usage of six in //:protobuf_python rule and add import (#6310)
* Fix reference to six in //:protobuf_python rule

* Add six to protobuf_deps.bzl

* Use six archive directly as repo @six
2019-07-15 16:35:19 -07:00
David Ostrovsky
35c9a5fef3 Bazel: Add dependency to error_prone_annotations
Recently dependency to error_prone_annotations was added to the code,
but only Maven build tool chain was updated.

Closes #5795.
2019-03-08 09:38:28 -08:00
Kent Ross
b6375e03aa create importable function for defining zlib 2019-02-26 11:27:20 -08:00
Cody Schroeder
802d543173 Add Bazel config for zlib support (#5389)
* Add Bazel config for optional zlib support

* Add hard dependency on zlib

* Remove unused config_setting
2018-12-11 11:58:26 -08:00
Feng Xiao
91707246eb
Merge pull request #4168 from jin/master
Use versions module from Skylib for version checking
2018-06-22 17:47:17 -07:00
Dmitry Lomov
8be6967ca8 Update build file locations.
Fixes https://github.com/bazelbuild/bazel/issues/5383.
2018-06-13 11:06:18 +02:00
Dmitry Lomov
e62c1bd034
Fix typo 2018-06-12 14:09:17 +02:00
Dmitry Lomov
31232c9b1e
Migrate to supported version of http_archive
Fixes #4727.
2018-06-12 14:03:16 +02:00
Carlos O'Ryan
3c5442a95d Include googletest as a submodule (#3993)
Add googletest as a submodule in third_party/googletest.
2018-03-26 13:54:32 -07:00
Jingwen Chen
b2a190832c Use versions module from Skylib for version checking 2018-01-12 18:42:22 -05:00
Jakob Buchgraber
699c0eb9cf bazel: Add proto_library rules for well known types. Fixes #2763
Adds a proto_library rule for each well known type proto:

$ bazel query "filter(\".*_proto$\", \"...\")"
//:wrappers_proto
//:timestamp_proto
//:struct_proto
//:field_mask_proto
//:empty_proto
//:duration_proto
//:compiler_plugin_proto
//:descriptor_proto
//:api_proto
//:type_proto
//:source_context_proto
//:any_proto

Bazel users can reference these proto_library rules for their own
language specific rules i.e.

java_proto_library(
  name = "any_java_proto",
  deps = ["@com_google_protobuf//:any_proto"],
)

Also set the workspace name to "com_google_protobuf", as proto_library
rules reference protobuf that way.
2017-09-05 22:33:54 +02:00
Bo Yang
b28ab73d22 Fix gson dependency.
gson 2.3 has internal bug that it doesn't work with some versions of maven.
2016-09-21 22:51:36 +00:00
Adrian Ludwin
1327e6f470 Update repo to use google test 2016-09-09 13:10:56 -04:00
Steven Parkes
a9244ca0df add java/util support based on java/util/pom.xml 2016-03-11 18:08:09 -08:00
David Z. Chen
985c968443 Remove hack for building Python support with Bazel.
This change makes use of new imports attribute for Bazel's Python rules, which
enable adding directories to the PYTHONPATH. This allows us to remove
the hack for building protobuf's Python support with Bazel and now
allows projects to include protobuf using a Bazel external repository
rather than requiring it to be imported directly into the source tree as
//google/protobuf.

This change also updates the protobuf BUILD file to use a named
repository, @python//, for including Python headers rather than
//util/python. This allows projects to specify their own package for
Python headers when including protobuf with an external repository.

Fixes #1230
2016-02-25 12:52:21 -08:00
Jisi Liu
b657cb4b91 fix six package path.
--strip_prefix doesn't seem to work.
2015-10-22 13:44:15 -07:00
Jisi Liu
fbc51b7018 Add six as an external dep. 2015-10-22 13:38:17 -07:00
Jisi Liu
7a0c431c8f Enable tests for bazel build.
Change-Id: I63ed5fb58a45e098f2fd1fa457a219148de030bd
2015-06-18 16:45:27 -07:00
Jisi Liu
d19604fac5 Add Bazel BUILD for the project.
Change-Id: I5a299d969ff96d7d2f80aadc7e8987d461d24b8f
2015-06-17 17:37:58 -07:00