Rename our allwpilib (which is now 2020) to not have 2019 in the name
Change-Id: I3c07f85ed32ab8b97db765a9b43f2a6ce7da964a
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..81b333f
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,114 @@
+import edu.wpi.first.toolchain.*
+
+plugins {
+ id 'base'
+ id 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' version '4.0.1'
+ id 'edu.wpi.first.wpilib.repositories.WPILibRepositoriesPlugin' version '2020.2'
+ id 'edu.wpi.first.NativeUtils' apply false
+ id 'edu.wpi.first.GradleJni' version '0.10.1'
+ id 'edu.wpi.first.GradleVsCode' version '0.11.0'
+ id 'idea'
+ id 'visual-studio'
+ id 'net.ltgt.errorprone' version '1.1.1' apply false
+ id 'com.github.johnrengelman.shadow' version '5.2.0' apply false
+}
+
+if (project.hasProperty('buildServer')) {
+ wpilibVersioning.buildServerMode = true
+}
+
+if (project.hasProperty('releaseMode')) {
+ wpilibVersioning.releaseMode = true
+}
+
+allprojects {
+ repositories {
+ mavenCentral()
+ }
+ if (project.hasProperty('releaseMode')) {
+ wpilibRepositories.addAllReleaseRepositories(it)
+ } else {
+ wpilibRepositories.addAllDevelopmentRepositories(it)
+ }
+}
+
+buildScan {
+ termsOfServiceUrl = 'https://gradle.com/terms-of-service'
+ termsOfServiceAgree = 'yes'
+
+ publishAlways()
+}
+
+ext.licenseFile = files("$rootDir/LICENSE.txt", "$rootDir/ThirdPartyNotices.txt")
+
+if (project.hasProperty("publishVersion")) {
+ wpilibVersioning.version.set(project.publishVersion)
+}
+
+wpilibVersioning.version.finalizeValue()
+
+def outputsFolder = file("$buildDir/allOutputs")
+
+def versionFile = file("$outputsFolder/version.txt")
+
+task outputVersions() {
+ description = 'Prints the versions of wpilib to a file for use by the downstream packaging project'
+ group = 'Build'
+ outputs.files(versionFile)
+
+ doFirst {
+ buildDir.mkdir()
+ outputsFolder.mkdir()
+ }
+
+ doLast {
+ versionFile.write wpilibVersioning.version.get()
+ }
+}
+
+task libraryBuild() {}
+
+build.dependsOn outputVersions
+
+task copyAllOutputs(type: Copy) {
+ destinationDir outputsFolder
+}
+
+build.dependsOn copyAllOutputs
+copyAllOutputs.dependsOn outputVersions
+
+ext.addTaskToCopyAllOutputs = { task ->
+ copyAllOutputs.dependsOn task
+ copyAllOutputs.inputs.file task.archivePath
+ copyAllOutputs.from task.archivePath
+}
+
+subprojects {
+ apply plugin: 'eclipse'
+ apply plugin: 'idea'
+
+ def subproj = it
+
+ plugins.withType(NativeComponentPlugin) {
+ subproj.apply plugin: MultiBuilds
+ }
+
+ apply from: "${rootDir}/shared/java/javastyle.gradle"
+
+ // Disables doclint in java 8.
+ if (JavaVersion.current().isJava8Compatible()) {
+ tasks.withType(Javadoc) {
+ if (project.name != "docs") {
+ options.addStringOption('Xdoclint:none', '-quiet')
+ }
+ }
+ }
+}
+
+ext.getCurrentArch = {
+ return NativePlatforms.desktop
+}
+
+wrapper {
+ gradleVersion = '6.0'
+}