Rename our allwpilib (which is now 2020) to not have 2019 in the name

Change-Id: I3c07f85ed32ab8b97db765a9b43f2a6ce7da964a
diff --git a/third_party/allwpilib/BUILD b/third_party/allwpilib/BUILD
new file mode 100644
index 0000000..74612e5
--- /dev/null
+++ b/third_party/allwpilib/BUILD
@@ -0,0 +1,90 @@
+licenses(["notice"])
+
+# Names of WPILib "devices" I don't want to deal with making trivial updates to
+# chop out various ugliness or have to vet for sanity.
+_excluded_devices = [
+    "AnalogGyro",
+    "SerialPort",
+    "SerialHelper",
+    "visa",
+]
+
+# Header files we don't want to have.
+_bad_hdrs = ([
+    "hal/include/HAL/LabVIEW/HAL.h",
+] + ["**/%s.*" % d for d in _excluded_devices])
+
+_hal_header_dirs = [
+    "hal/src/main/native/athena",
+    "hal/src/main/native/include",
+]
+
+_hal_h_hdrs = glob(
+    [d + "/**/*.h" for d in _hal_header_dirs],
+    exclude = _bad_hdrs,
+)
+
+_hal_hpp_hdrs = glob(
+    [d + "/**/*.hpp" for d in _hal_header_dirs],
+    exclude = _bad_hdrs,
+)
+
+py_binary(
+    name = "generate_FRCUsageReporting",
+    srcs = [
+        "generate_FRCUsageReporting.py",
+    ],
+)
+
+genrule(
+    name = "do_generate_FRCUsageReporting",
+    srcs = [
+        "hal/src/generate/FRCUsageReporting.h.in",
+        "hal/src/generate/Instances.txt",
+        "hal/src/generate/ResourceType.txt",
+    ],
+    outs = [
+        "hal/src/main/native/include/hal/FRCUsageReporting.h",
+    ],
+    cmd = " ".join([
+        "$(location :generate_FRCUsageReporting)",
+        "$(location hal/src/generate/FRCUsageReporting.h.in)",
+        "$(location hal/src/generate/Instances.txt)",
+        "$(location hal/src/generate/ResourceType.txt)",
+        "$(location hal/src/main/native/include/hal/FRCUsageReporting.h)",
+    ]),
+    tools = [
+        ":generate_FRCUsageReporting",
+    ],
+)
+
+cc_library(
+    name = "hal",
+    srcs = glob(
+        include = [
+            "hal/src/main/native/athena/*.cpp",
+            "hal/src/main/native/cpp/cpp/*.cpp",
+            "hal/src/main/native/cpp/*.cpp",
+            "hal/src/main/native/athena/ctre/*.cpp",
+            "hal/src/main/native/shared/handles/*.cpp",
+            "hal/src/main/native/cpp/handles/*.cpp",
+        ],
+        exclude = ["**/%s.*" % d for d in _excluded_devices],
+    ),
+    hdrs = _hal_h_hdrs + _hal_hpp_hdrs + [
+        "hal/src/main/native/include/hal/FRCUsageReporting.h",
+    ],
+    copts = [
+        "-Wno-unused-parameter",
+        "-Wno-cast-align",
+    ],
+    defines = ["WPILIB2019=1"],
+    includes = _hal_header_dirs,
+    restricted_to = ["//tools:roborio"],
+    visibility = ["//third_party:__pkg__"],
+    deps = [
+        "//aos/logging",
+        "//third_party/allwpilib/wpiutil",
+        "@allwpilib_ni_libraries//:ni-libraries",
+    ],
+)