plugins { id 'net.ltgt.errorprone' version '0.0.13' id 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' version '2.0' id 'edu.wpi.first.NativeUtils' version '1.6.2' id "edu.wpi.first.GradleJni" version "0.1.0" apply false id 'idea' id 'com.gradle.build-scan' version '1.13.1' } repositories { mavenCentral() } buildScan { termsOfServiceUrl = 'https://gradle.com/terms-of-service' termsOfServiceAgree = 'yes' publishAlways() } ext.licenseFile = file("$rootDir/LICENSE.txt") // 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/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 pubVersion } } task build() {} task libraryBuild() {} build.dependsOn outputVersions task clean(type: Delete) { delete buildDir } 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' 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.7' }