Put in new allwiplib-2018 and packaged the large files
added new allwpilib
added ntcore
Added new wpiutil
Change-Id: I5bbb966a69ac2fbdce056e4c092a13f246dbaa6a
diff --git a/third_party/allwpilib_2018/build.gradle b/third_party/allwpilib_2018/build.gradle
new file mode 100644
index 0000000..676e7bf
--- /dev/null
+++ b/third_party/allwpilib_2018/build.gradle
@@ -0,0 +1,202 @@
+import edu.wpi.first.nativeutils.NativeUtils
+import edu.wpi.first.nativeutils.tasks.JNIHeaders
+
+buildscript {
+ repositories {
+ mavenLocal()
+ maven {
+ url "https://plugins.gradle.org/m2/"
+ }
+ }
+ dependencies {
+ classpath 'gradle.plugin.edu.wpi.first:native-utils:1.5.1'
+ }
+}
+
+plugins {
+ id 'net.ltgt.errorprone' version '0.0.10'
+ id 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' version '2.0'
+ id 'idea'
+}
+
+ext.licenseFile = file("$rootDir/LICENSE.txt")
+
+ext.getJNIHeadersClass = {
+ return JNIHeaders
+}
+
+ext.getClassifier = { binary->
+ return NativeUtils.getClassifier(binary)
+}
+
+ext.getPlatformPath = { binary->
+ return NativeUtils.getPlatformPath(binary)
+}
+
+ext.createComponentZipTasks = { components, name, base, type, project, func ->
+ def configMap = [:]
+ components.each {
+ if (it in NativeLibrarySpec && it.name == name) {
+ it.binaries.each {
+ def target = getClassifier(it)
+ if (configMap.containsKey(target)) {
+ configMap.get(target).add(it)
+ } else {
+ configMap.put(target, [])
+ configMap.get(target).add(it)
+ }
+ }
+ }
+ }
+ def taskList = []
+ def outputsFolder = file("$project.buildDir/outputs")
+ def baseN = base + name
+ configMap.each { key, value ->
+ def task = project.tasks.create(baseN + "-${key}", type) {
+ description = 'Creates component archive for platform ' + key
+ destinationDir = outputsFolder
+ classifier = key
+ baseName = baseN + '-classifier'
+ duplicatesStrategy = 'exclude'
+
+ from(licenseFile) {
+ into '/'
+ }
+
+ func(it, value)
+ }
+ taskList.add(task)
+
+ project.build.dependsOn task
+
+ project.artifacts {
+ task
+ }
+ }
+ return taskList
+}
+
+ext.createAllCombined = { list, name, base, type, project ->
+ def outputsFolder = file("$project.buildDir/outputs")
+ def baseN = base + name
+ def task = project.tasks.create(baseN + '-all', type) {
+ description = 'Creates component archive for all classifiers'
+ destinationDir = outputsFolder
+ classifier = 'all'
+ baseName = baseN + '-classifier'
+ duplicatesStrategy = 'exclude'
+
+ list.each {
+ it.outputs.files.each {
+ from project.zipTree(it)
+ }
+ dependsOn it
+ }
+ }
+
+ project.build.dependsOn task
+
+ project.artifacts {
+ task
+ }
+
+ return task
+
+}
+
+ext.includeStandardZipFormat = { task, value ->
+ value.each { binary->
+ if (binary.buildable) {
+ if (binary instanceof SharedLibraryBinarySpec) {
+ task.dependsOn binary.buildTask
+ task.from(new File(binary.sharedLibraryFile.absolutePath + ".debug")) {
+ into getPlatformPath(binary) + '/shared'
+ }
+ task.from (binary.sharedLibraryFile) {
+ into getPlatformPath(binary) + '/shared'
+ }
+ task.from (binary.sharedLibraryLinkFile) {
+ into getPlatformPath(binary) + '/shared'
+ }
+ } else if (binary instanceof StaticLibraryBinarySpec) {
+ task.dependsOn binary.buildTask
+ task.from (binary.staticLibraryFile) {
+ into getPlatformPath(binary) + '/static'
+ }
+ }
+ }
+ }
+}
+
+// Ensure that the WPILibVersioningPlugin is setup by setting the release type, if releaseType wasn't
+// already specified on the command line
+if (!hasProperty('releaseType')) {
+ WPILibVersion {
+ releaseType = 'dev'
+ }
+}
+
+def pubVersion
+if (project.hasProperty("publishVersion")) {
+ pubVersion = project.publishVersion
+} else {
+ pubVersion = WPILibVersion.version
+}
+
+def outputsFolder = file("$buildDir/outputs")
+
+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 pubVersion
+ }
+}
+
+task build() {}
+
+build.dependsOn outputVersions
+
+task clean(type: Delete) {
+ delete buildDir
+}
+
+subprojects {
+ apply plugin: 'eclipse'
+ apply plugin: 'idea'
+ apply plugin: 'checkstyle'
+
+ repositories {
+ mavenCentral()
+ }
+
+ checkstyle {
+ toolVersion = "8.1"
+ configFile = new File(rootDir, "styleguide/checkstyle.xml")
+ }
+
+ // Disables doclint in java 8.
+ if (JavaVersion.current().isJava8Compatible()) {
+ tasks.withType(Javadoc) {
+ options.addStringOption('Xdoclint:none', '-quiet')
+ }
+ }
+ ext.setupWpilibRepo = { publishing ->
+ publishing.repositories.maven {
+ url = WPILibVersion.mavenLocalUrl
+ }
+ }
+}
+
+task wrapper(type: Wrapper) {
+ gradleVersion = '4.1'
+}