diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 361bb7b8ae..2da6cec408 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -40,7 +40,7 @@ stages: publishJUnitResults: false testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-Ponlylinuxathena -PjenkinsBuild' + options: '-Ponlylinuxathena -PbuildServer' - task: Gradle@2 condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) @@ -51,7 +51,7 @@ stages: publishJUnitResults: false testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-Ponlylinuxathena -PreleaseType=OFFICIAL -PjenkinsBuild' + options: '-Ponlylinuxathena -PreleaseMode -PbuildServer' - task: PublishPipelineArtifact@0 inputs: @@ -74,7 +74,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-Ponlylinuxraspbian -PjenkinsBuild' + options: '-Ponlylinuxraspbian -PbuildServer' - task: Gradle@2 condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) @@ -85,7 +85,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-Ponlylinuxraspbian -PreleaseType=OFFICIAL -PjenkinsBuild' + options: '-Ponlylinuxraspbian -PreleaseMode -PbuildServer' - task: PublishPipelineArtifact@0 inputs: @@ -108,7 +108,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PjenkinsBuild' + options: '-PbuildServer' - task: Gradle@2 condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) @@ -119,7 +119,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PreleaseType=OFFICIAL -PjenkinsBuild' + options: '-PreleaseMode -PbuildServer' - task: PublishPipelineArtifact@0 inputs: @@ -174,7 +174,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PskipPMD -PjenkinsBuild' + options: '-PskipPMD -PbuildServer' - task: Gradle@2 condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) @@ -186,7 +186,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PskipPMD -PreleaseType=OFFICIAL -PjenkinsBuild' + options: '-PskipPMD -PreleaseMode -PbuildServer' - task: PublishPipelineArtifact@0 inputs: @@ -200,7 +200,7 @@ stages: - powershell: | mkdir build $ProgressPreference = 'SilentlyContinue' - wget "https://github.com/wpilibsuite/frc-openjdk-windows/releases/download/v11.0.0u28-1/jdk-x86-11.0.0u28-1.zip" -O "build\jdk.zip" + wget "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x86-32_windows_hotspot_11.0.4_11.zip" -O "build\jdk.zip" displayName: 'Download JDK' - task: JavaToolInstaller@0 inputs: @@ -218,7 +218,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PskipPMD -PjenkinsBuild' + options: '-PskipPMD -PbuildServer' - task: Gradle@2 condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) @@ -229,7 +229,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PskipPMD -PreleaseType=OFFICIAL -PjenkinsBuild' + options: '-PskipPMD -PreleaseMode -PbuildServer' - task: PublishPipelineArtifact@0 inputs: @@ -258,7 +258,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PjenkinsBuild' + options: '-PbuildServer' - task: Gradle@2 condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) @@ -270,7 +270,7 @@ stages: publishJUnitResults: true testResultsFiles: '**/TEST-*.xml' tasks: 'build' - options: '-PreleaseType=OFFICIAL -PjenkinsBuild' + options: '-PreleaseMode -PbuildServer' - task: PublishPipelineArtifact@0 inputs: diff --git a/build.gradle b/build.gradle index f08002041b..a52b53138e 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,8 @@ import edu.wpi.first.toolchain.* plugins { id 'base' - id 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' version '2.3' + id 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' version '4.0.1' + id 'edu.wpi.first.wpilib.repositories.WPILibRepositoriesPlugin' version '2020.1' id 'edu.wpi.first.NativeUtils' apply false id 'edu.wpi.first.GradleJni' version '0.9.0' id 'edu.wpi.first.GradleVsCode' version '0.9.4' @@ -13,8 +14,23 @@ plugins { id 'com.github.johnrengelman.shadow' version '4.0.3' apply false } -repositories { - mavenCentral() +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 { @@ -26,20 +42,11 @@ buildScan { ext.licenseFile = files("$rootDir/LICENSE.txt", "$rootDir/ThirdPartyNotices.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' - } +if (project.hasProperty("publishVersion")) { + wpilibVersioning.version.set(project.publishVersion) } -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} +wpilibVersioning.version.finalizeValue() def outputsFolder = file("$buildDir/allOutputs") @@ -56,7 +63,7 @@ task outputVersions() { } doLast { - versionFile.write pubVersion + versionFile.write wpilibVersioning.version.get() } } @@ -89,10 +96,6 @@ subprojects { apply from: "${rootDir}/shared/java/javastyle.gradle" - repositories { - mavenCentral() - } - // Disables doclint in java 8. if (JavaVersion.current().isJava8Compatible()) { tasks.withType(Javadoc) { diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index c306450d0f..cefc3bbd86 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -5,5 +5,5 @@ repositories { } } dependencies { - compile "edu.wpi.first:native-utils:2020.0.4" + compile "edu.wpi.first:native-utils:2020.0.5" } diff --git a/docs/build.gradle b/docs/build.gradle index f0782bc80d..e95a50fe48 100644 --- a/docs/build.gradle +++ b/docs/build.gradle @@ -11,13 +11,6 @@ evaluationDependsOn(':cameraserver') evaluationDependsOn(':wpilibc') evaluationDependsOn(':wpilibj') -def pubVersion = '' -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseArtifactIdCpp = 'documentation' def artifactGroupIdCpp = 'edu.wpi.first.wpilibc' def zipBaseNameCpp = '_GROUP_edu_wpi_first_wpilibc_ID_documentation_CLS' @@ -53,7 +46,7 @@ doxygen { extension_mapping 'inc=C++' project_name 'WPILibC++' - project_number pubVersion + project_number wpilibVersioning.version.get() javadoc_autobrief true recursive true quiet true @@ -77,7 +70,6 @@ tasks.register("zipCppDocs", Zip) { into '/' } - // Java configurations { javaSource { @@ -113,8 +105,9 @@ task generateJavaDocs(type: Javadoc) { source configurations.javaSource.collect { zipTree(it) } include '**/*.java' failOnError = true + options.encoding = 'UTF-8' - title = "WPILib API $pubVersion" + title = "WPILib API ${wpilibVersioning.version.get()}" ext.entryPoint = "$destinationDir/index.html" if (JavaVersion.current().isJava11Compatible()) { @@ -151,14 +144,14 @@ publishing { artifactId = "${baseArtifactIdJava}" groupId artifactGroupIdJava - version pubVersion + version wpilibVersioning.version.get() } cpp(MavenPublication) { artifact zipCppDocs artifactId = "${baseArtifactIdCpp}" groupId artifactGroupIdCpp - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/shared/config.gradle b/shared/config.gradle index 2a66371269..a8b5c7e5a4 100644 --- a/shared/config.gradle +++ b/shared/config.gradle @@ -6,9 +6,9 @@ nativeUtils { wpi { configureDependencies { wpiVersion = "-1" - niLibVersion = "2019.12.1" - opencvVersion = "3.4.4-5" - googleTestVersion = "1.8.1-1-f71fb4f" + niLibVersion = "2019.12.2" + opencvVersion = "3.4.7-1" + googleTestVersion = "1.9.0-3-437e100" } } } @@ -18,10 +18,6 @@ nativeUtils.wpi.addWarningsAsErrors() nativeUtils.setSinglePrintPerPlatform() -toolchainsPlugin.crossCompilers.named(nativeUtils.wpi.platforms.roborio) { - optional.set(true) -} - model { components { all { diff --git a/shared/java/javacommon.gradle b/shared/java/javacommon.gradle index 5dc248725e..05e3948841 100644 --- a/shared/java/javacommon.gradle +++ b/shared/java/javacommon.gradle @@ -3,13 +3,6 @@ apply plugin: 'java' //apply plugin: 'net.ltgt.errorprone' apply plugin: 'jacoco' -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseArtifactId = project.baseId def artifactGroupId = project.groupId def javaBaseName = "_GROUP_edu_wpi_first_${project.baseId}_ID_${project.baseId}-java_CLS" @@ -74,7 +67,7 @@ publishing { artifactId = "${baseArtifactId}-java" groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/shared/javacpp/publish.gradle b/shared/javacpp/publish.gradle index 854a99677b..1dafcbb5ae 100644 --- a/shared/javacpp/publish.gradle +++ b/shared/javacpp/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def outputsFolder = file("$buildDir/outputs") def baseArtifactId = nativeName @@ -65,7 +58,7 @@ model { artifactId = "${baseArtifactId}-cpp" groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/shared/jni/publish.gradle b/shared/jni/publish.gradle index 7908304525..99c36851d5 100644 --- a/shared/jni/publish.gradle +++ b/shared/jni/publish.gradle @@ -1,13 +1,6 @@ import java.security.MessageDigest apply plugin: 'maven-publish' -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def outputsFolder = file("$buildDir/outputs") def baseArtifactId = nativeName @@ -110,7 +103,7 @@ model { artifactId = "${baseArtifactId}-cpp" groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } jni(MavenPublication) { jniTaskList.each { @@ -123,7 +116,7 @@ model { artifactId = "${baseArtifactId}-jni" groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/shared/opencv.gradle b/shared/opencv.gradle index 21540fe8a4..9e0341f10e 100644 --- a/shared/opencv.gradle +++ b/shared/opencv.gradle @@ -1,4 +1,4 @@ -def opencvVersion = '3.4.4-5' +def opencvVersion = '3.4.7-1' if (project.hasProperty('useCpp') && project.useCpp) { model { @@ -22,12 +22,12 @@ if (project.hasProperty('useCpp') && project.useCpp) { if (project.hasProperty('useJava') && project.useJava) { dependencies { - compile "edu.wpi.first.thirdparty.frc2019.opencv:opencv-java:${opencvVersion}" + compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:${opencvVersion}" if (!project.hasProperty('skipDev') || !project.skipDev) { - devCompile "edu.wpi.first.thirdparty.frc2019.opencv:opencv-java:${opencvVersion}" + devCompile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:${opencvVersion}" } if (project.hasProperty('useDocumentation') && project.useDocumentation) { - javaSource "edu.wpi.first.thirdparty.frc2019.opencv:opencv-java:${opencvVersion}:sources" + javaSource "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:${opencvVersion}:sources" } } } diff --git a/shared/plugins/publish.gradle b/shared/plugins/publish.gradle index 5379b44a53..6f318b7829 100644 --- a/shared/plugins/publish.gradle +++ b/shared/plugins/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion = '' -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseArtifactId = pluginName def artifactGroupId = 'edu.wpi.first.halsim' def zipBaseName = "_GROUP_edu_wpi_first_halsim_ID_${pluginName}_CLS" @@ -75,7 +68,7 @@ model { artifactId = baseArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/simulation/halsim_adx_gyro_accelerometer/publish.gradle b/simulation/halsim_adx_gyro_accelerometer/publish.gradle index 11feda572c..8f12d09c8e 100644 --- a/simulation/halsim_adx_gyro_accelerometer/publish.gradle +++ b/simulation/halsim_adx_gyro_accelerometer/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion = '' -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseArtifactId = nativeName def artifactGroupId = 'edu.wpi.first.halsim' def zipBaseName = "_GROUP_edu_wpi_first_halsim_ID_${nativeName}_CLS" @@ -63,7 +56,7 @@ model { artifactId = baseArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/simulation/lowfi_simulation/publish.gradle b/simulation/lowfi_simulation/publish.gradle index 4143cd2b97..9a3204e3fe 100644 --- a/simulation/lowfi_simulation/publish.gradle +++ b/simulation/lowfi_simulation/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion = '' -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseArtifactId = nativeName def artifactGroupId = 'edu.wpi.first.halsim' def zipBaseName = "_GROUP_edu_wpi_first_halsim_ID_${nativeName}_CLS" @@ -64,7 +57,7 @@ model { artifactId = baseArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/wpilibc/build.gradle b/wpilibc/build.gradle index 18b47d940a..840a73a5b1 100644 --- a/wpilibc/build.gradle +++ b/wpilibc/build.gradle @@ -22,7 +22,7 @@ task generateCppVersion() { outputs.file wpilibVersionFileOutput inputs.file wpilibVersionFileInput - if (WPILibVersion.releaseType.toString().equalsIgnoreCase('official')) { + if (wpilibVersioning.releaseMode) { outputs.upToDateWhen { false } } @@ -32,12 +32,13 @@ task generateCppVersion() { // 3. If there is a generated build number, and the release type is development, then we will // only generate if the publish task is run. doLast { - println "Writing version ${WPILibVersion.version} to $wpilibVersionFileOutput" + def version = wpilibVersioning.version.get() + println "Writing version ${version} to $wpilibVersionFileOutput" if (wpilibVersionFileOutput.exists()) { wpilibVersionFileOutput.delete() } - def read = wpilibVersionFileInput.text.replace('${wpilib_version}', WPILibVersion.version) + def read = wpilibVersionFileInput.text.replace('${wpilib_version}', version) wpilibVersionFileOutput.write(read) } } diff --git a/wpilibc/publish.gradle b/wpilibc/publish.gradle index 06f88dff32..dd7601e948 100644 --- a/wpilibc/publish.gradle +++ b/wpilibc/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion = '' -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseArtifactId = 'wpilibc-cpp' def artifactGroupId = 'edu.wpi.first.wpilibc' def zipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_wpilibc-cpp_CLS' @@ -67,7 +60,7 @@ model { artifactId = baseArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/wpilibcExamples/publish.gradle b/wpilibcExamples/publish.gradle index ec645ae198..927d88ebc5 100644 --- a/wpilibcExamples/publish.gradle +++ b/wpilibcExamples/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseExamplesArtifactId = 'examples' def baseTemplatesArtifactId = 'templates' def baseCommandsArtifactId = 'commands' @@ -72,7 +65,7 @@ publishing { artifactId = baseExamplesArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } templates(MavenPublication) { @@ -80,7 +73,7 @@ publishing { artifactId = baseTemplatesArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } commands(MavenPublication) { @@ -88,7 +81,7 @@ publishing { artifactId = baseCommandsArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } } diff --git a/wpilibj/build.gradle b/wpilibj/build.gradle index 8e19140432..3e5bbca8e0 100644 --- a/wpilibj/build.gradle +++ b/wpilibj/build.gradle @@ -21,7 +21,7 @@ task generateJavaVersion() { outputs.file wpilibVersionFileOutput inputs.file wpilibVersionFileInput - if (WPILibVersion.releaseType.toString().equalsIgnoreCase('official')) { + if (wpilibVersioning.releaseMode) { outputs.upToDateWhen { false } } @@ -31,12 +31,13 @@ task generateJavaVersion() { // 3. If there is a generated build number, and the release type is development, then we will // only generate if the publish task is run. doLast { - println "Writing version ${WPILibVersion.version} to $wpilibVersionFileOutput" + def version = wpilibVersioning.version.get() + println "Writing version ${version} to $wpilibVersionFileOutput" if (wpilibVersionFileOutput.exists()) { wpilibVersionFileOutput.delete() } - def read = wpilibVersionFileInput.text.replace('${wpilib_version}', WPILibVersion.version) + def read = wpilibVersionFileInput.text.replace('${wpilib_version}', version) wpilibVersionFileOutput.write(read) } } diff --git a/wpilibjExamples/publish.gradle b/wpilibjExamples/publish.gradle index b2aa3aa15d..a2c0746636 100644 --- a/wpilibjExamples/publish.gradle +++ b/wpilibjExamples/publish.gradle @@ -1,12 +1,5 @@ apply plugin: 'maven-publish' -def pubVersion -if (project.hasProperty("publishVersion")) { - pubVersion = project.publishVersion -} else { - pubVersion = WPILibVersion.version -} - def baseExamplesArtifactId = 'examples' def baseTemplatesArtifactId = 'templates' def baseCommandsArtifactId = 'commands' @@ -72,7 +65,7 @@ publishing { artifactId = baseExamplesArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } templates(MavenPublication) { @@ -80,7 +73,7 @@ publishing { artifactId = baseTemplatesArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } commands(MavenPublication) { @@ -88,7 +81,7 @@ publishing { artifactId = baseCommandsArtifactId groupId artifactGroupId - version pubVersion + version wpilibVersioning.version.get() } } }