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

Change-Id: I3c07f85ed32ab8b97db765a9b43f2a6ce7da964a
diff --git a/buildSrc/src/main/groovy/DisableBuildingGTest.groovy b/buildSrc/src/main/groovy/DisableBuildingGTest.groovy
new file mode 100644
index 0000000..bdf46f7
--- /dev/null
+++ b/buildSrc/src/main/groovy/DisableBuildingGTest.groovy
@@ -0,0 +1,70 @@
+

+import org.gradle.api.GradleException;

+import org.gradle.api.Plugin;

+import org.gradle.api.Project;

+import org.gradle.api.Task;

+import org.gradle.api.file.FileTree;

+import org.gradle.api.tasks.compile.JavaCompile;

+import org.gradle.language.base.internal.ProjectLayout;

+import org.gradle.language.base.plugins.ComponentModelBasePlugin;

+import org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask;

+import org.gradle.model.ModelMap;

+import edu.wpi.first.toolchain.ToolchainExtension

+import org.gradle.model.Mutate;

+import org.gradle.api.plugins.ExtensionContainer;

+import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec;

+import org.gradle.model.RuleSource;

+import org.gradle.model.Validate;

+import org.gradle.nativeplatform.NativeExecutableBinarySpec

+import org.gradle.nativeplatform.NativeBinarySpec;

+import org.gradle.nativeplatform.NativeComponentSpec;

+import org.gradle.nativeplatform.NativeLibrarySpec;

+import org.gradle.nativeplatform.SharedLibraryBinarySpec;

+import org.gradle.nativeplatform.StaticLibraryBinarySpec;

+import org.gradle.nativeplatform.platform.internal.NativePlatformInternal;

+import org.gradle.nativeplatform.toolchain.NativeToolChain;

+import org.gradle.nativeplatform.toolchain.NativeToolChainRegistry;

+import org.gradle.nativeplatform.toolchain.internal.PlatformToolProvider;

+import org.gradle.nativeplatform.toolchain.internal.ToolType;

+import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain;

+import org.gradle.nativeplatform.toolchain.internal.msvcpp.VisualCppToolChain;

+import org.gradle.nativeplatform.toolchain.internal.tools.ToolRegistry;

+import org.gradle.platform.base.BinarySpec;

+import org.gradle.platform.base.ComponentSpec;

+import org.gradle.platform.base.ComponentSpecContainer;

+import org.gradle.platform.base.BinaryContainer;

+import org.gradle.platform.base.ComponentType;

+import org.gradle.platform.base.TypeBuilder;

+import org.gradle.nativeplatform.tasks.ObjectFilesToBinary;

+import groovy.transform.CompileStatic;

+import groovy.transform.CompileDynamic

+import org.gradle.nativeplatform.BuildTypeContainer

+

+@CompileStatic

+class DisableBuildingGTest implements Plugin<Project> {

+  @CompileStatic

+  public void apply(Project project) {

+

+  }

+

+  @CompileStatic

+  static class Rules extends RuleSource {

+    @CompileDynamic

+    private static void setBuildableFalseDynamically(NativeBinarySpec binary) {

+        binary.buildable = false

+    }

+

+    @Validate

+    @CompileStatic

+    // TODO: Move this to tc plugin

+    void disableCrossTests(BinaryContainer binaries, ExtensionContainer extContainer) {

+        final ToolchainExtension ext = extContainer.getByType(ToolchainExtension.class);

+

+        for (GoogleTestTestSuiteBinarySpec binary : binaries.withType(GoogleTestTestSuiteBinarySpec.class)) {

+            if (ext.getCrossCompilers().findByName(binary.getTargetPlatform().getName()) != null) {

+              setBuildableFalseDynamically(binary)

+            }

+        }

+    }

+  }

+}