diff --git a/WORKSPACE b/WORKSPACE new file mode 100644 index 0000000000..9a56913b6e --- /dev/null +++ b/WORKSPACE @@ -0,0 +1,64 @@ + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +RULES_JVM_EXTERNAL_TAG = "4.3" +RULES_JVM_EXTERNAL_SHA = "6274687f6fc5783b589f56a2f1ed60de3ce1f99bc4e8f9edef3de43bdf7c6e74" + +load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") + +# Re-usable building blocks for Bazel build tool +# https://gerrit.googlesource.com/bazlets/ +# https://gerrit.googlesource.com/bazlets/+/968b97fa03a9d2afd760f2e8ede3d5643da390d2 +git_repository( + name = "com_googlesource_gerrit_bazlets", + remote = "https://gerrit.googlesource.com/bazlets", + commit = "968b97fa03a9d2afd760f2e8ede3d5643da390d2", +) +# We cannot use the tar.gz provided over HTTP because it contains timestamps and each download has a +# different hash. +#http_archive( +# name = "com_googlesource_gerrit_bazlets", +# sha256 = "...", +# urls = [ +# "https://gerrit.googlesource.com/bazlets/+archive/968b97fa03a9d2afd760f2e8ede3d5643da390d2.tar.gz", +# ], +#) +# This provides these useful imports: +# load("@com_googlesource_gerrit_bazlets//tools:maven_jar.bzl", "maven_jar") +# load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests") + + +http_archive( + name = "rules_jvm_external", + sha256 = RULES_JVM_EXTERNAL_SHA, + strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, + url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG, +) + +load("@rules_jvm_external//:defs.bzl", "maven_install") + +maven_install( + artifacts = [ + "com.google.errorprone:error_prone_annotation:[2.0,)", + "com.google.errorprone:error_prone_core:[2.0,)", + "com.google.errorprone:error_prone_annotations:[2.0,)", + "com.google.errorprone:error_prone_check_api:[2.0,)", + "com.google.errorprone:error_prone_test_helpers:[2.0,)", + "com.google.guava:guava:[20.0,)", + "com.google.guava:guava-testlib:[30.0,)", + "org.mockito:mockito-core:2.27.0", + "com.google.testparameterinjector:test-parameter-injector:[1.8,)", + "junit:junit:4.13.1", + "org.junit.jupiter:junit-jupiter-api:5.0.0-M3", + "com.google.truth:truth:[1.1,)", + "com.google.truth.extensions:truth-java8-extension:[1.1,)", + "org.checkerframework:checker-qual:3.12.0", + "com.google.auto.service:auto-service-annotations:1.1.1", + "com.google.protobuf:protobuf-java:[3.0.0,)", + "com.google.protobuf:protobuf-java-util:[3.0.0,)", + "com.google.code.findbugs:jsr305:3.0.2", + ], + repositories = [ + "https://repo1.maven.org/maven2", + ], +) \ No newline at end of file diff --git a/mug-errorprone/BUILD b/mug-errorprone/BUILD new file mode 100644 index 0000000000..60bf4b5cd5 --- /dev/null +++ b/mug-errorprone/BUILD @@ -0,0 +1,42 @@ +java_plugin( + name = "mug-errorprone", + deps = [":errorprone"], +) + +java_library( + name = "errorprone", + srcs = glob(["src/main/java/**/*.java"]), + deps = [ + "@maven//:com_google_guava_guava", + "@maven//:com_google_errorprone_error_prone_core", + "@maven//:com_google_errorprone_error_prone_annotation", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:com_google_errorprone_error_prone_check_api", + "@maven//:com_google_auto_service_auto_service_annotations", + "//mug", + "//mug-guava", + ], +) + + +load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests") + + +junit_tests( + name = "AllTests", + srcs = glob(["src/test/java/**/*Test.java"]), + deps = [ + ":errorprone", + "//mug", + "@maven//:com_google_guava_guava", + "@maven//:com_google_guava_guava_testlib", + "@maven//:com_google_truth_truth", + "@maven//:org_mockito_mockito_core", + "@maven//:com_google_testparameterinjector_test_parameter_injector", + "@maven//:org_junit_jupiter_junit_jupiter_api", + "@maven//:com_google_truth_extensions_truth_java8_extension", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:com_google_errorprone_error_prone_test_helpers", + "@maven//:junit_junit", + ], +) diff --git a/mug-errorprone/src/test/java/com/google/mu/errorprone/StringUnformatArgsCheckTest.java b/mug-errorprone/src/test/java/com/google/mu/errorprone/StringUnformatArgsCheckTest.java index 9905a389c3..6a9f6f886d 100644 --- a/mug-errorprone/src/test/java/com/google/mu/errorprone/StringUnformatArgsCheckTest.java +++ b/mug-errorprone/src/test/java/com/google/mu/errorprone/StringUnformatArgsCheckTest.java @@ -1,6 +1,8 @@ package com.google.mu.errorprone; import com.google.errorprone.CompilationTestHelper; + +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; @@ -10,11 +12,6 @@ public class StringUnformatArgsCheckTest { private final CompilationTestHelper helper = CompilationTestHelper.newInstance(StringUnformatArgsCheck.class, getClass()); - @Test public void parseWithFewerLambdaArgs() { - //helper.addSourceFile("ParseWithFewerLambdaArgs.java").doTest(); - } - - /* @Test public void goodParseWithLambda() { helper @@ -613,6 +610,7 @@ public void scanMethodChecked() { .doTest(); } + @Ignore("scanAndCollectFrom() doesn't exist?") @Test public void scanAndCollectFromMethodChecked_withCollector() { helper @@ -629,6 +627,7 @@ public void scanAndCollectFromMethodChecked_withCollector() { .doTest(); } + @Ignore("scanAndCollectFrom() doesn't exist?") @Test public void scanAndCollectFromMethodChecked_withBiCollector() { helper @@ -803,5 +802,5 @@ public void scanMethod_cannotProvideLambdaArgForEllipsisPlaceholder() { " }", "}") .doTest(); - }*/ + } } diff --git a/mug-guava/BUILD b/mug-guava/BUILD new file mode 100644 index 0000000000..e37955e488 --- /dev/null +++ b/mug-guava/BUILD @@ -0,0 +1,33 @@ +java_library( + name = "mug-guava", + srcs = glob(["src/main/java/**/*.java"]), + visibility = ["//visibility:public"], + deps = [ + "@@maven//:com_google_guava_guava", + "@maven//:org_checkerframework_checker_qual", + "@maven//:com_google_errorprone_error_prone_annotations", + "//mug", + ], +) + + +load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests") + + +junit_tests( + name = "AllTests", + srcs = glob(["src/test/java/**/*Test.java"]), + deps = [ + ":mug-guava", + "//mug", + "@maven//:com_google_guava_guava", + "@maven//:com_google_guava_guava_testlib", + "@maven//:com_google_truth_truth", + "@maven//:org_mockito_mockito_core", + "@maven//:com_google_testparameterinjector_test_parameter_injector", + "@maven//:org_junit_jupiter_junit_jupiter_api", + "@maven//:com_google_truth_extensions_truth_java8_extension", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:junit_junit", + ], +) diff --git a/mug-protobuf/BUILD b/mug-protobuf/BUILD new file mode 100644 index 0000000000..e0916ef92e --- /dev/null +++ b/mug-protobuf/BUILD @@ -0,0 +1,39 @@ +java_library( + name = "mug-protobuf", + srcs = glob(["src/main/java/**/*.java"]), + visibility = ["//visibility:public"], + deps = [ + "@maven//:com_google_guava_guava", + "@maven//:com_google_code_findbugs_jsr305", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:com_google_protobuf_protobuf_java", + "@maven//:com_google_protobuf_protobuf_java_util", + "//mug", + ], +) + + + +load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests") + + +junit_tests( + name = "AllTests", + srcs = glob(["src/test/java/**/*Test.java"]), + deps = [ + ":mug-protobuf", + "//mug", + "//mug-guava", + "@maven//:com_google_guava_guava", + "@maven//:com_google_guava_guava_testlib", + "@maven//:com_google_protobuf_protobuf_java", + "@maven//:com_google_protobuf_protobuf_java_util", + "@@maven//:com_google_truth_truth", + "@@maven//:org_mockito_mockito_core", + "@maven//:com_google_testparameterinjector_test_parameter_injector", + "@maven//:org_junit_jupiter_junit_jupiter_api", + "@maven//:com_google_truth_extensions_truth_java8_extension", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:junit_junit", + ], +) diff --git a/mug/BUILD b/mug/BUILD new file mode 100644 index 0000000000..2cd978a954 --- /dev/null +++ b/mug/BUILD @@ -0,0 +1,44 @@ +java_library( + name = "mug", + visibility = ["//visibility:public"], + srcs = glob(["src/main/java/**/*.java"]), + resources = glob(["src/main/resources/**"]), +) + +load("@com_googlesource_gerrit_bazlets//tools:junit.bzl", "junit_tests") + +java_library( + name = "tests", + srcs = glob(["src/test/java/**/*.java"], exclude = glob(["src/test/java/**/*Test.java"])), + deps = [ + ":mug", + "@maven//:com_google_guava_guava", + "@maven//:com_google_guava_guava_testlib", + "@maven//:com_google_truth_truth", + "@maven//:org_mockito_mockito_core", + "@maven//:com_google_testparameterinjector_test_parameter_injector", + "@maven//:org_junit_jupiter_junit_jupiter_api", + "@maven//:com_google_truth_extensions_truth_java8_extension", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:junit_junit", + ], +) + + +junit_tests( + name = "AllTests", + srcs = glob(["src/test/java/**/*Test.java"]), + deps = [ + ":mug", + ":tests", + "@maven//:com_google_guava_guava", + "@maven//:com_google_guava_guava_testlib", + "@maven//:com_google_truth_truth", + "@maven//:org_mockito_mockito_core", + "@maven//:com_google_testparameterinjector_test_parameter_injector", + "@maven//:org_junit_jupiter_junit_jupiter_api", + "@maven//:com_google_truth_extensions_truth_java8_extension", + "@maven//:com_google_errorprone_error_prone_annotations", + "@maven//:junit_junit", + ], +)