From e247fe8ffbb9013db9b4f0a1da9e9100a3eeb309 Mon Sep 17 00:00:00 2001 From: natans Date: Fri, 19 Apr 2019 13:43:29 +0300 Subject: [PATCH] bazel configuration --- BUILD.bazel | 45 +++ README.md | 5 + WORKSPACE | 43 +++ import_external.bzl | 30 ++ integration_testing.bzl | 53 +++ macros.bzl | 63 ++++ pom.xml | 48 +++ tests.bzl | 174 ++++++++++ third_party.bzl | 723 ++++++++++++++++++++++++++++++++++++++++ 9 files changed, 1184 insertions(+) create mode 100644 BUILD.bazel create mode 100644 README.md create mode 100644 WORKSPACE create mode 100644 import_external.bzl create mode 100644 integration_testing.bzl create mode 100644 macros.bzl create mode 100644 pom.xml create mode 100644 tests.bzl create mode 100644 third_party.bzl diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 00000000..97275141 --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1,45 @@ +load("@io_bazel_rules_scala//scala:scala_toolchain.bzl", "scala_toolchain") +load( + "@io_bazel_rules_scala//scala:providers.bzl", + _declare_scalac_provider = "declare_scalac_provider", +) + +scala_toolchain( + name = "global_toolchain_impl", + scalac_provider_attr = "//:scalac_default", + scalacopts = [ + "-unchecked", + "-deprecation", + "-feature", + "-Xmax-classfile-name", + "240", + "-Ywarn-unused-import", + "-Ywarn-unused", + ], + visibility = ["//visibility:public"], +) + +toolchain( + name = "global_toolchain", + toolchain = "global_toolchain_impl", + toolchain_type = "@io_bazel_rules_scala//scala:toolchain_type", + visibility = ["//visibility:public"], +) + +_declare_scalac_provider( + name = "scalac_default", + default_classpath = [ + "@org_scala_lang_scala_library", + "@org_scala_lang_scala_reflect", + ], + default_macro_classpath = [ + "@org_scala_lang_scala_library", + "@org_scala_lang_scala_reflect", + ], + default_repl_classpath = [ + "@org_scala_lang_scala_library", + "@org_scala_lang_scala_reflect", + "@org_scala_lang_scala_compiler", + ], + visibility = ["//visibility:public"], +) diff --git a/README.md b/README.md new file mode 100644 index 00000000..57b70b1f --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# EXODUS + +Easily migrate your JVM code from Maven to Bazel. + +See the documentation [here](https://wix-incubator.github.io/exodus/). diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 00000000..157e2f1f --- /dev/null +++ b/WORKSPACE @@ -0,0 +1,43 @@ + +workspace(name = "exodus") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:git.bzl","git_repository") + +protobuf_version="66dc42d891a4fc8e9190c524fd67961688a37bbe" +protobuf_version_sha256="983975ab66113cbaabea4b8ec9f3a73406d89ed74db9ae75c74888e685f956f8" + +http_archive( + name = "com_google_protobuf", + url = "https://github.com/protocolbuffers/protobuf/archive/%s.tar.gz" % protobuf_version, + strip_prefix = "protobuf-%s" % protobuf_version, + sha256 = protobuf_version_sha256, +) + +scala_version = "2.12.4" +rules_scala_version="c904132da6bb421a9106c79dd02bb31f228994b9" # update this as needed +rules_scala_version_sha256="1f287926bab41b95ef6757a3f4d5c935c8f0dbfcdd82c8e8e209859115385a3a" +http_archive( + name = "io_bazel_rules_scala", + url = "https://github.com/bazelbuild/rules_scala/archive/%s.zip"%rules_scala_version, + type = "zip", + strip_prefix= "rules_scala-%s" % rules_scala_version, + sha256 = rules_scala_version_sha256, +) + +load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories") +scala_repositories((scala_version, { + "scala_compiler": "3023b07cc02f2b0217b2c04f8e636b396130b3a8544a8dfad498a19c3e57a863", + "scala_library": "f81d7144f0ce1b8123335b72ba39003c4be2870767aca15dd0888ba3dab65e98", + "scala_reflect": "ffa70d522fc9f9deec14358aa674e6dd75c9dfa39d4668ef15bb52f002ce99fa" +})) + +load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_toolchains") +scala_register_toolchains() + +load("@io_bazel_rules_scala//specs2:specs2_junit.bzl", "specs2_junit_repositories") +specs2_junit_repositories(scala_version) + +register_toolchains("//:global_toolchain") + +load("//:third_party.bzl", "third_party_dependencies") +third_party_dependencies() \ No newline at end of file diff --git a/import_external.bzl b/import_external.bzl new file mode 100644 index 00000000..7ae1479f --- /dev/null +++ b/import_external.bzl @@ -0,0 +1,30 @@ +load("@io_bazel_rules_scala//scala:scala_maven_import_external.bzl", "scala_maven_import_external", "scala_import_external") + +_default_server_urls = ["http://repo.dev.wixpress.com/artifactory/libs-snapshots", + "http://repo.dev.wixpress.com/artifactory/libs-releases",] + +def safe_wix_scala_maven_import_external(name, artifact, **kwargs): + if native.existing_rule(name) == None: + wix_scala_maven_import_external( + name = name, + artifact = artifact, + **kwargs + ) + + +def wix_scala_maven_import_external(name, artifact, **kwargs): + fetch_sources = kwargs.get("srcjar_sha256") != None + wix_scala_maven_import_external_sources(name, artifact, fetch_sources, **kwargs) + +def wix_snapshot_scala_maven_import_external(name, artifact, **kwargs): + wix_scala_maven_import_external_sources(name, artifact, True, **kwargs) + +def wix_scala_maven_import_external_sources(name, artifact, fetch_sources, **kwargs): + scala_maven_import_external( + name = name, + artifact = artifact, + licenses = ["notice"], # Apache 2.0 + fetch_sources = fetch_sources, + server_urls = _default_server_urls, + **kwargs + ) \ No newline at end of file diff --git a/integration_testing.bzl b/integration_testing.bzl new file mode 100644 index 00000000..4d9aa1a3 --- /dev/null +++ b/integration_testing.bzl @@ -0,0 +1,53 @@ +load("@build_bazel_integration_testing//tools:import.bzl", "bazel_external_dependency_archive") + +def bazel_external_dependencies(rules_scala_version, rules_scala_version_sha256): + bazel_external_dependency_archive( + name = "io_bazel_rules_scala_test", + srcs = { + rules_scala_version_sha256: [ + "https://github.com/wix/rules_scala/archive/%s.zip" % rules_scala_version, + ], + "3023b07cc02f2b0217b2c04f8e636b396130b3a8544a8dfad498a19c3e57a863": [ + "https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6.jar" + ], + "f81d7144f0ce1b8123335b72ba39003c4be2870767aca15dd0888ba3dab65e98": [ + "https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6.jar" + ], + "ffa70d522fc9f9deec14358aa674e6dd75c9dfa39d4668ef15bb52f002ce99fa": [ + "https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6.jar" + ], + "b416b5bcef6720da469a8d8a5726e457fc2d1cd5d316e1bc283aa75a2ae005e5": [ + "http://central.maven.org/maven2/org/scalatest/scalatest_2.12/3.0.5/scalatest_2.12-3.0.5.jar" + ], + "57e25b4fd969b1758fe042595112c874dfea99dca5cc48eebe07ac38772a0c41": [ + "http://central.maven.org/maven2/org/scalactic/scalactic_2.12/3.0.5/scalactic_2.12-3.0.5.jar" + ], + "f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513": [ + "http://central.maven.org/maven2/commons/io/commons-io/2.6/commons-io-2.6.jar" + ], + "8d7ec605ca105747653e002bfe67bddba90ab964da697aaa5daa1060923585db": [ + "http://central.maven.org/maven2/com/google/protobuf/protobuf-java/3.1.0/protobuf-java-3.1.0.jar" + ], + "39097bdc47407232e0fe7eed4f2c175c067b7eda95873cb76ffa76f1b4c18895": [ + "https://mirror.bazel.build/raw.githubusercontent.com/bazelbuild/bazel/0.17.1" + + "/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt" + ], + } + ) + bazel_external_dependency_archive( + name = "com_google_guava_guava_test", + srcs = { + "36a666e3b71ae7f0f0dca23654b67e086e6c93d192f60ba5dfd5519db6c288c8": [ + "http://central.maven.org/maven2/com/google/guava/guava/20.0/guava-20.0.jar", + ], + } + ) + bazel_external_dependency_archive( + name = "bazel_toolchains_test", + srcs = { + "f08758b646beea3b37dc9e07d63020cecd5f9d29f42de1cd60e9325e047c7103": [ + "https://github.com/bazelbuild/bazel-toolchains/archive/719f8035a20997289727e16693acdebc8e918e28.tar.gz", + ], + } + ) + diff --git a/macros.bzl b/macros.bzl new file mode 100644 index 00000000..eb15375e --- /dev/null +++ b/macros.bzl @@ -0,0 +1,63 @@ +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +def resources(name = "resources", runtime_deps=[], testonly = 0, visibility=None): + native.java_library( + name = name, + resources = native.glob(["**"],exclude=["BUILD"]), + resource_strip_prefix = "%s/" % native.package_name(), + runtime_deps = runtime_deps, + testonly = testonly, + visibility = visibility + ) + + +def maven_archive(name, artifact): + http_archive( + name = name, + url = _convert_to_url(artifact), + build_file_content = """filegroup(name = "unpacked", srcs = glob(["**/*"],exclude=["BUILD.bazel","WORKSPACE","*.zip","*.tar.gz"]), visibility = ["//visibility:public"]) +filegroup(name = "archive", srcs = glob(["*.zip","*.tar.gz"]), visibility = ["//visibility:public"]) +""" + ) + +def maven_proto(name, artifact, deps = []): + http_archive( + name = name, + url = _convert_to_url(artifact), + build_file_content = """load("@server_infra//framework/grpc/generator-bazel/src/main/rules:wix_scala_proto_repositories.bzl", "WIX_PROTOS") +proto_library(name = "proto", srcs = glob(["**/*.proto"]), deps = {deps} + WIX_PROTOS, visibility = ["//visibility:public"])""".format(deps = deps) + ) + +def _convert_to_url(artifact): + parts = artifact.split(":") + group_id_part = parts[0].replace(".","/") + artifact_id = parts[1] + version = parts[2] + packaging = "jar" + classifier_part = "" + if len(parts) == 4: + packaging = parts[2] + version = parts[3] + elif len(parts) == 5: + packaging = parts[2] + classifier_part = "-"+parts[3] + version = parts[4] + + final_name = artifact_id + "-" + version + classifier_part + "." + packaging + url_suffix = group_id_part+"/"+artifact_id + "/" + version + "/" + final_name + url_prefix = "https://repo.dev.wixpress.com/artifactory/libs-snapshots/" + return url_prefix + url_suffix + + +def _package_visibility(pacakge_name): + return ["//{p}:__pkg__".format(p=pacakge_name)] + + +def sources(visibility = None): + if visibility == None: + visibility = _package_visibility(native.package_name()) + native.filegroup( + name = "sources", + srcs = native.glob(["*.java"]) + native.glob(["*.scala"]), + visibility = visibility, + ) diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..4d737213 --- /dev/null +++ b/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + pom + 1.10.0-SNAPSHOT + + + dependency-resolver + dependency-synchronizer + migrator + models + repo-analyzer + test-utils + + + com.wixpress.build + next-gen-build-modules + + + Or Shachar + ors@wix.com + + owner + + + + Ittai Zeidman + ittaiz@wix.com + + maintainer + + + + Natan Silintsky + natans@wix.com + + maintainer + + + + Elad Urson + eladu@wix.com + + maintainer + + + + diff --git a/tests.bzl b/tests.bzl new file mode 100644 index 00000000..af1e5644 --- /dev/null +++ b/tests.bzl @@ -0,0 +1,174 @@ +load("@io_bazel_rules_scala//scala:scala.bzl", "scala_specs2_junit_test","scala_library") +load("@io_bazel_rules_scala//specs2:specs2_junit.bzl", "specs2_junit_dependencies") + +target_test_classes = "target/test-classes" + +_unit_prefixes = ["Test"] +_unit_suffixes = _unit_prefixes +_unit_tags = ["UT"] + +_it_prefixes = ["IT", "E2E"] +_it_suffixes = _it_prefixes +_it_tags = ["IT", "E2E"] + +_mixed_prefixes = _unit_prefixes + _it_prefixes +_mixed_suffixes = _mixed_prefixes +_mixed_tags = _unit_tags + _it_tags + +def specs2_unit_test(extra_runtime_dirs = [target_test_classes], + extra_runtime_entries = [target_test_classes], + **kwargs): + size = kwargs.pop("size", "small") + timeout = kwargs.pop("timeout", None) + + _add_test_target( + _unit_prefixes, + _unit_suffixes, + _unit_tags, + False, + size, + timeout, + extra_runtime_dirs, + extra_runtime_entries, + **kwargs + ) + +def specs2_ite2e_test(block_network = True, + extra_runtime_dirs = [target_test_classes], + extra_runtime_entries = [target_test_classes], + **kwargs): + timeout = kwargs.pop("timeout", _default_moderate_timeout_or_implied_from_size_attr(kwargs)) + size = kwargs.pop("size", "large") + + _add_test_target( + _it_prefixes, + _it_suffixes, + _it_tags, + block_network, + size, + timeout, + extra_runtime_dirs, + extra_runtime_entries, + **kwargs + ) + +def specs2_mixed_test(block_network = True, + extra_runtime_dirs = [target_test_classes], + extra_runtime_entries = [target_test_classes], + **kwargs): + timeout = kwargs.pop("timeout", _default_moderate_timeout_or_implied_from_size_attr(kwargs)) + size = kwargs.pop("size", "large") + + _add_test_target( + _mixed_prefixes, + _mixed_suffixes, + _mixed_tags, + block_network, + size, + timeout, + extra_runtime_dirs, + extra_runtime_entries, + **kwargs + ) + +def _add_test_target(prefixes, + suffixes, + test_tags, + block_network, + size, + timeout, + extra_runtime_dirs, + extra_runtime_entries, + **kwargs): + #extract attribute(s) common to both test and scala_library + name = kwargs.pop("name") + user_test_tags = kwargs.pop("tags", test_tags) + #Bazel idiomatic wise `data` is needed in both. + #(scala_library for other tests that might need the data in the runfiles and the test needs it so that it can do $location expansion) + data = kwargs.pop("data", []) + #extract attributes which are only for the test runtime + end_prefixes = kwargs.pop("prefixes", prefixes) + end_suffixes = kwargs.pop("suffixes", suffixes) + jvm_flags = kwargs.pop("jvm_flags", []) + flaky = kwargs.pop("flaky", None) + shard_count = kwargs.pop("shard_count", None) + args = kwargs.pop("args", None) + local = kwargs.pop("local", None) + deps = kwargs.pop("deps",[]) + + jvm_flags.extend([ + # "-javaagent:$(rootpath @core_server_build_tools//test-agent/src/main/java/com/wixpress/agent:test-agent_deploy.jar)", + "-Dextra.dirs=" + ":".join(extra_runtime_dirs), + ]) + +# data.append("@core_server_build_tools//test-agent/src/main/java/com/wixpress/agent:test-agent_deploy.jar") + + # test-agent-deploy jar is added to bootcalsspath becasue when the test classpath is very long + # and the test is executed using a manifest jar for some unknown reason the JVM fails to find + # the agent jar +# runtime_entries = [ +# "$(rootpath @core_server_build_tools//test-agent/src/main/java/com/wixpress/agent:test-agent_deploy.jar)" +# ] + +# if extra_runtime_entries != None: +# runtime_entries.extend(extra_runtime_entries) + +# jvm_flags.append("-Xbootclasspath/a:" + ":".join(runtime_entries)) + + #mitigate issue where someone explicitly adds testonly in their kwargs and so we get it twice + testonly = kwargs.pop("testonly", 1) + + junit_specs2_deps = specs2_junit_dependencies() + [ + "//external:io_bazel_rules_scala/dependency/junit/junit", + "//external:io_bazel_rules_scala/dependency/hamcrest/hamcrest_core", + ] + + scala_library( + name = name, + tags = user_test_tags, + data = data, + testonly = testonly, + deps = junit_specs2_deps + deps, + **kwargs + ) + + scala_specs2_junit_test( + name = name + "_test_runner", + prefixes = end_prefixes, + suffixes = end_suffixes, + deps = deps, + runtime_deps = [":" + name], + tests_from = [":" + name], + jvm_flags = jvm_flags, + size = size, + timeout = timeout, + flaky = flaky, + shard_count = shard_count, + args = args, + local = local, + data = data, + tags = _test_tags(user_test_tags, block_network), + # exec_compatible_with = _constraint_by_size(size) + ) + +# def _constraint_by_size(size): +# large_machine_constraint = ["@core_server_build_tools//platforms:large_machine"] + +# if size in ["large", "enormous"]: +# return large_machine_constraint +# else: +# return None + +def _test_tags(test_tags, block_network): + tags = [] + if (block_network): + tags = ["block-network"] + + return tags + test_tags + +def _default_moderate_timeout_or_implied_from_size_attr(kwargs): + if 'size' in kwargs: + #let bazel imply timeout from the size + default_timeout = None + else: + default_timeout = "moderate" diff --git a/third_party.bzl b/third_party.bzl new file mode 100644 index 00000000..3481700a --- /dev/null +++ b/third_party.bzl @@ -0,0 +1,723 @@ +load("//:third_party/javax_enterprise.bzl", javax_enterprise_deps = "dependencies") + +load("//:third_party/com_github_scopt.bzl", com_github_scopt_deps = "dependencies") + +load("//:third_party/velocity.bzl", velocity_deps = "dependencies") + +load("//:third_party/oro.bzl", oro_deps = "dependencies") + +load("//:third_party/org_apache_velocity.bzl", org_apache_velocity_deps = "dependencies") + +load("//:third_party/commons_collections.bzl", commons_collections_deps = "dependencies") + +load("//:third_party/com_google_collections.bzl", com_google_collections_deps = "dependencies") + +load("//:third_party/ch_qos_logback.bzl", ch_qos_logback_deps = "dependencies") + +load("//:third_party/backport_util_concurrent.bzl", backport_util_concurrent_deps = "dependencies") + +load("//:third_party/org_scalaj.bzl", org_scalaj_deps = "dependencies") + +load("//:third_party/com_github_pathikrit.bzl", com_github_pathikrit_deps = "dependencies") + +load("//:third_party/net_minidev.bzl", net_minidev_deps = "dependencies") + +load("//:third_party/com_jayway_jsonpath.bzl", com_jayway_jsonpath_deps = "dependencies") + +load("//:third_party/rome.bzl", rome_deps = "dependencies") + +load("//:third_party/ro_fortsoft_pf4j.bzl", ro_fortsoft_pf4j_deps = "dependencies") + +load("//:third_party/rhino.bzl", rhino_deps = "dependencies") + +load("//:third_party/redis_clients.bzl", redis_clients_deps = "dependencies") + +load("//:third_party/org_pegdown.bzl", org_pegdown_deps = "dependencies") + +load("//:third_party/org_parboiled.bzl", org_parboiled_deps = "dependencies") + +load("//:third_party/org_kohsuke.bzl", org_kohsuke_deps = "dependencies") + +load("//:third_party/org_fusesource_wikitext.bzl", org_fusesource_wikitext_deps = "dependencies") + +load("//:third_party/org_freemarker.bzl", org_freemarker_deps = "dependencies") + +load("//:third_party/org_eclipse_jdt.bzl", org_eclipse_jdt_deps = "dependencies") + +load("//:third_party/org_codehaus_groovy.bzl", org_codehaus_groovy_deps = "dependencies") + +load("//:third_party/org_apache_tika.bzl", org_apache_tika_deps = "dependencies") + +load("//:third_party/org_apache_mina.bzl", org_apache_mina_deps = "dependencies") + +load("//:third_party/org_apache_ivy.bzl", org_apache_ivy_deps = "dependencies") + +load("//:third_party/net_java_dev_jna.bzl", net_java_dev_jna_deps = "dependencies") + +load("//:third_party/log4j.bzl", log4j_deps = "dependencies") + +load("//:third_party/javax_inject.bzl", javax_inject_deps = "dependencies") + +load("//:third_party/javax_activation.bzl", javax_activation_deps = "dependencies") + +load("//:third_party/commons_logging.bzl", commons_logging_deps = "dependencies") + +load("//:third_party/com_unboundid.bzl", com_unboundid_deps = "dependencies") + +load("//:third_party/com_toedter.bzl", com_toedter_deps = "dependencies") + +load("//:third_party/com_sun_mail.bzl", com_sun_mail_deps = "dependencies") + +load("//:third_party/com_intellij.bzl", com_intellij_deps = "dependencies") + +load("//:third_party/com_google_inject.bzl", com_google_inject_deps = "dependencies") + +load("//:third_party/com_google_code_gson.bzl", com_google_code_gson_deps = "dependencies") + +load("//:third_party/com_github_dblock_waffle.bzl", com_github_dblock_waffle_deps = "dependencies") + +load("//:third_party/com_force_api.bzl", com_force_api_deps = "dependencies") + +load("//:third_party/args4j.bzl", args4j_deps = "dependencies") + +load("//:third_party/aopalliance.bzl", aopalliance_deps = "dependencies") + +load("//:third_party/commons_lang.bzl", commons_lang_deps = "dependencies") + +load("//:third_party/commons_io.bzl", commons_io_deps = "dependencies") + +load("//:third_party/com_thoughtworks_paranamer.bzl", com_thoughtworks_paranamer_deps = "dependencies") + +load("//:third_party/com_fasterxml_jackson_module.bzl", com_fasterxml_jackson_module_deps = "dependencies") + +load("//:third_party/org_typelevel.bzl", org_typelevel_deps = "dependencies") + +load("//:third_party/org_reflections.bzl", org_reflections_deps = "dependencies") + +load("//:third_party/org_reactivestreams.bzl", org_reactivestreams_deps = "dependencies") + +load("//:third_party/org_jsoup.bzl", org_jsoup_deps = "dependencies") + +load("//:third_party/org_javassist.bzl", org_javassist_deps = "dependencies") + +load("//:third_party/com_wix.bzl", com_wix_deps = "dependencies") + +load("//:third_party/com_typesafe.bzl", com_typesafe_deps = "dependencies") + +load("//:third_party/com_typesafe_akka.bzl", com_typesafe_akka_deps = "dependencies") + +load("//:third_party/com_chuusai.bzl", com_chuusai_deps = "dependencies") + +load("//:third_party/commons_codec.bzl", commons_codec_deps = "dependencies") + +load("//:third_party/org_apache_xbean.bzl", org_apache_xbean_deps = "dependencies") + +load("//:third_party/joda_time.bzl", joda_time_deps = "dependencies") + +load("//:third_party/com_fasterxml_jackson_core.bzl", com_fasterxml_jackson_core_deps = "dependencies") + +load("//:third_party/org_joda.bzl", org_joda_deps = "dependencies") + +load("//:third_party/org_checkerframework.bzl", org_checkerframework_deps = "dependencies") + +load("//:third_party/junit.bzl", junit_deps = "dependencies") + +load("//:third_party/com_google_j2objc.bzl", com_google_j2objc_deps = "dependencies") + +load("//:third_party/com_google_guava.bzl", com_google_guava_deps = "dependencies") + +load("//:third_party/com_google_code_findbugs.bzl", com_google_code_findbugs_deps = "dependencies") + +load("//:third_party/org_apache_wicket.bzl", org_apache_wicket_deps = "dependencies") + +load("//:third_party/javax_servlet.bzl", javax_servlet_deps = "dependencies") + +load("//:third_party/com_google_inject_extensions.bzl", com_google_inject_extensions_deps = "dependencies") + +load("//:third_party/org_scalaz.bzl", org_scalaz_deps = "dependencies") + +load("//:third_party/org_scalacheck.bzl", org_scalacheck_deps = "dependencies") + +load("//:third_party/org_objenesis.bzl", org_objenesis_deps = "dependencies") + +load("//:third_party/org_mockito.bzl", org_mockito_deps = "dependencies") + +load("//:third_party/org_hamcrest.bzl", org_hamcrest_deps = "dependencies") + +load("//:third_party/net_bytebuddy.bzl", net_bytebuddy_deps = "dependencies") + +load("//:third_party/org_specs2.bzl", org_specs2_deps = "dependencies") + +load("//:third_party/org_scala_sbt.bzl", org_scala_sbt_deps = "dependencies") + +load("//:third_party/org_scala_lang.bzl", org_scala_lang_deps = "dependencies") + +load("//:third_party/org_scala_lang_modules.bzl", org_scala_lang_modules_deps = "dependencies") + +load("//:third_party/org_mongodb.bzl", org_mongodb_deps = "dependencies") + +load("//:third_party/org_ow2_asm.bzl", org_ow2_asm_deps = "dependencies") + +load("//:third_party/com_google_errorprone.bzl", com_google_errorprone_deps = "dependencies") + +load("//:third_party/com_google_protobuf.bzl", com_google_protobuf_deps = "dependencies") + +load("//:third_party/org_apache_zookeeper.bzl", org_apache_zookeeper_deps = "dependencies") + +load("//:third_party/jline.bzl", jline_deps = "dependencies") + +load("//:third_party/org_jctools.bzl", org_jctools_deps = "dependencies") + +load("//:third_party/io_monix.bzl", io_monix_deps = "dependencies") + +load("//:third_party/org_eclipse_persistence.bzl", org_eclipse_persistence_deps = "dependencies") + +load("//:third_party/com_wix_pay.bzl", com_wix_pay_deps = "dependencies") + +load("//:third_party/org_apache_maven_resolver.bzl", org_apache_maven_resolver_deps = "dependencies") + +load("//:third_party/org_apache_maven_enforcer.bzl", org_apache_maven_enforcer_deps = "dependencies") + +load("//:third_party/org_codehaus_jackson.bzl", org_codehaus_jackson_deps = "dependencies") + +load("//:third_party/net_sf_jopt_simple.bzl", net_sf_jopt_simple_deps = "dependencies") + +load("//:third_party/com_googlecode_libphonenumber.bzl", com_googlecode_libphonenumber_deps = "dependencies") + +load("//:third_party/com_google_re2j.bzl", com_google_re2j_deps = "dependencies") + +load("//:third_party/com_github_spullara_mustache_java.bzl", com_github_spullara_mustache_java_deps = "dependencies") + +load("//:third_party/com_datastax_cassandra.bzl", com_datastax_cassandra_deps = "dependencies") + +load("//:third_party/xml_apis.bzl", xml_apis_deps = "dependencies") + +load("//:third_party/org_xmlunit.bzl", org_xmlunit_deps = "dependencies") + +load("//:third_party/org_twdata_maven.bzl", org_twdata_maven_deps = "dependencies") + +load("//:third_party/org_tukaani.bzl", org_tukaani_deps = "dependencies") + +load("//:third_party/org_sonatype_sisu.bzl", org_sonatype_sisu_deps = "dependencies") + +load("//:third_party/org_sonatype_plexus.bzl", org_sonatype_plexus_deps = "dependencies") + +load("//:third_party/org_slf4j.bzl", org_slf4j_deps = "dependencies") + +load("//:third_party/org_mortbay_jetty.bzl", org_mortbay_jetty_deps = "dependencies") + +load("//:third_party/org_jruby.bzl", org_jruby_deps = "dependencies") + +load("//:third_party/org_jgrapht.bzl", org_jgrapht_deps = "dependencies") + +load("//:third_party/org_jetbrains.bzl", org_jetbrains_deps = "dependencies") + +load("//:third_party/org_iq80_snappy.bzl", org_iq80_snappy_deps = "dependencies") + +load("//:third_party/org_eclipse_sisu.bzl", org_eclipse_sisu_deps = "dependencies") + +load("//:third_party/org_eclipse_jgit.bzl", org_eclipse_jgit_deps = "dependencies") + +load("//:third_party/org_eclipse_jetty.bzl", org_eclipse_jetty_deps = "dependencies") + +load("//:third_party/org_ebaysf_web.bzl", org_ebaysf_web_deps = "dependencies") + +load("//:third_party/org_codehaus_plexus.bzl", org_codehaus_plexus_deps = "dependencies") + +load("//:third_party/org_codehaus_mojo.bzl", org_codehaus_mojo_deps = "dependencies") + +load("//:third_party/org_bouncycastle.bzl", org_bouncycastle_deps = "dependencies") + +load("//:third_party/org_apache_sshd.bzl", org_apache_sshd_deps = "dependencies") + +load("//:third_party/org_apache_maven_wagon.bzl", org_apache_maven_wagon_deps = "dependencies") + +load("//:third_party/org_apache_maven_shared.bzl", org_apache_maven_shared_deps = "dependencies") + +load("//:third_party/org_apache_maven_scm.bzl", org_apache_maven_scm_deps = "dependencies") + +load("//:third_party/org_apache_maven.bzl", org_apache_maven_deps = "dependencies") + +load("//:third_party/org_apache_maven_archetype.bzl", org_apache_maven_archetype_deps = "dependencies") + +load("//:third_party/org_apache_lucene.bzl", org_apache_lucene_deps = "dependencies") + +load("//:third_party/org_apache_kafka.bzl", org_apache_kafka_deps = "dependencies") + +load("//:third_party/org_apache_httpcomponents.bzl", org_apache_httpcomponents_deps = "dependencies") + +load("//:third_party/org_apache_curator.bzl", org_apache_curator_deps = "dependencies") + +load("//:third_party/org_apache_commons.bzl", org_apache_commons_deps = "dependencies") + +load("//:third_party/org_antlr.bzl", org_antlr_deps = "dependencies") + +load("//:third_party/net_sourceforge_jchardet.bzl", net_sourceforge_jchardet_deps = "dependencies") + +load("//:third_party/jdom.bzl", jdom_deps = "dependencies") + +load("//:third_party/javax_annotation.bzl", javax_annotation_deps = "dependencies") + +load("//:third_party/io_grpc.bzl", io_grpc_deps = "dependencies") + +load("//:third_party/dom4j.bzl", dom4j_deps = "dependencies") + +load("//:third_party/commons_configuration.bzl", commons_configuration_deps = "dependencies") + +load("//:third_party/com_thesamet_scalapb.bzl", com_thesamet_scalapb_deps = "dependencies") + +load("//:third_party/com_jcraft.bzl", com_jcraft_deps = "dependencies") + +load("//:third_party/com_googlecode_javaewah.bzl", com_googlecode_javaewah_deps = "dependencies") + +load("//:third_party/com_google_jimfs.bzl", com_google_jimfs_deps = "dependencies") + +load("//:third_party/com_github_tomakehurst.bzl", com_github_tomakehurst_deps = "dependencies") + +load("//:third_party/com_github_marschall.bzl", com_github_marschall_deps = "dependencies") + +load("//:third_party/com_github_jnr.bzl", com_github_jnr_deps = "dependencies") + +load("//:third_party/com_github_jknack.bzl", com_github_jknack_deps = "dependencies") + +load("//:third_party/com_gitblit.bzl", com_gitblit_deps = "dependencies") + +load("//:third_party/com_flipkart_zjsonpatch.bzl", com_flipkart_zjsonpatch_deps = "dependencies") + +load("//:third_party/com_codota.bzl", com_codota_deps = "dependencies") + +def third_party_dependencies(): + + + com_codota_deps() + + + com_flipkart_zjsonpatch_deps() + + + com_gitblit_deps() + + + com_github_jknack_deps() + + + com_github_jnr_deps() + + + com_github_marschall_deps() + + + com_github_tomakehurst_deps() + + + com_google_jimfs_deps() + + + com_googlecode_javaewah_deps() + + + com_jcraft_deps() + + + com_thesamet_scalapb_deps() + + + commons_configuration_deps() + + + dom4j_deps() + + + io_grpc_deps() + + + + javax_annotation_deps() + + + jdom_deps() + + + net_sourceforge_jchardet_deps() + + + org_antlr_deps() + + + org_apache_commons_deps() + + + org_apache_curator_deps() + + + org_apache_httpcomponents_deps() + + + org_apache_kafka_deps() + + + org_apache_lucene_deps() + + + org_apache_maven_archetype_deps() + + + org_apache_maven_deps() + + + org_apache_maven_scm_deps() + + + org_apache_maven_shared_deps() + + + org_apache_maven_wagon_deps() + + + org_apache_sshd_deps() + + + + org_bouncycastle_deps() + + + org_codehaus_mojo_deps() + + + org_codehaus_plexus_deps() + + + org_ebaysf_web_deps() + + + org_eclipse_jetty_deps() + + + org_eclipse_jgit_deps() + + + org_eclipse_sisu_deps() + + + org_iq80_snappy_deps() + + + org_jetbrains_deps() + + + org_jgrapht_deps() + + + org_jruby_deps() + + + org_mortbay_jetty_deps() + + + org_slf4j_deps() + + + org_sonatype_plexus_deps() + + + org_sonatype_sisu_deps() + + + org_tukaani_deps() + + + org_twdata_maven_deps() + + + org_xmlunit_deps() + + + xml_apis_deps() + + + com_datastax_cassandra_deps() + + + com_github_spullara_mustache_java_deps() + + + com_google_re2j_deps() + + + com_googlecode_libphonenumber_deps() + + + net_sf_jopt_simple_deps() + + + org_codehaus_jackson_deps() + + + org_apache_maven_enforcer_deps() + + + org_apache_maven_resolver_deps() + + + com_wix_pay_deps() + + + org_eclipse_persistence_deps() + + + io_monix_deps() + + + org_jctools_deps() + + + jline_deps() + + + org_apache_zookeeper_deps() + + + com_google_protobuf_deps() + + + com_google_errorprone_deps() + + + org_ow2_asm_deps() + + + org_mongodb_deps() + + + org_scala_lang_modules_deps() + + + org_scala_lang_deps() + + + org_scala_sbt_deps() + + + org_specs2_deps() + + + net_bytebuddy_deps() + + + org_hamcrest_deps() + + + org_mockito_deps() + + + org_objenesis_deps() + + + org_scalacheck_deps() + + + org_scalaz_deps() + + + com_google_inject_extensions_deps() + + + javax_servlet_deps() + + + org_apache_wicket_deps() + + + com_google_code_findbugs_deps() + + + com_google_guava_deps() + + + com_google_j2objc_deps() + + + junit_deps() + + + org_checkerframework_deps() + + + org_joda_deps() + + + com_fasterxml_jackson_core_deps() + + + joda_time_deps() + + + org_apache_xbean_deps() + + + commons_codec_deps() + + + com_chuusai_deps() + + + com_typesafe_akka_deps() + + + com_typesafe_deps() + + + com_wix_deps() + + + org_javassist_deps() + + + org_jsoup_deps() + + + org_reactivestreams_deps() + + + org_reflections_deps() + + + org_typelevel_deps() + + + com_fasterxml_jackson_module_deps() + + + com_thoughtworks_paranamer_deps() + + + commons_io_deps() + + + commons_lang_deps() + + + aopalliance_deps() + + + args4j_deps() + + + com_force_api_deps() + + + com_github_dblock_waffle_deps() + + + com_google_code_gson_deps() + + + com_google_inject_deps() + + + com_intellij_deps() + + + com_sun_mail_deps() + + + com_toedter_deps() + + + com_unboundid_deps() + + + commons_logging_deps() + + + javax_activation_deps() + + + javax_inject_deps() + + + log4j_deps() + + + net_java_dev_jna_deps() + + + org_apache_ivy_deps() + + + org_apache_mina_deps() + + + org_apache_tika_deps() + + + org_codehaus_groovy_deps() + + + org_eclipse_jdt_deps() + + + org_freemarker_deps() + + + org_fusesource_wikitext_deps() + + + org_kohsuke_deps() + + + org_parboiled_deps() + + + org_pegdown_deps() + + + redis_clients_deps() + + + rhino_deps() + + + ro_fortsoft_pf4j_deps() + + + rome_deps() + + + com_jayway_jsonpath_deps() + + + net_minidev_deps() + + + com_github_pathikrit_deps() + + + org_scalaj_deps() + + + backport_util_concurrent_deps() + + + ch_qos_logback_deps() + + + com_google_collections_deps() + + + commons_collections_deps() + + + org_apache_velocity_deps() + + + oro_deps() + + + velocity_deps() + + + com_github_scopt_deps() + + + javax_enterprise_deps()