Skip to content

Commit 8923d10

Browse files
ThadHouseJLLeitschuh
authored andcommitted
Use CS Core Raw Streams for HTTPCamera Input (#952)
* Use CS Core Raw Streams for HTTPCamera Input The images are grabbed in native code, so they are much more efficient. Also, the code is shared with all WPILib tools, so likely tested a bit more * Add missing osx deps * Add release openjdk 13 * Fix checkstyle * Fix private things * More PMD Fixes * Suppress spotbugs warnings * Fix opencv built version * Revert to opencv 3.1 Needed repo grouping, which needed gradle 5.1 at minimum. * Revert back to 5.1 * JDK 13 things * Java 14 prerelease * Fix jpackage * Fix jpackage again * More changes * More things * More args * Package type * More jpck * Finally fix jpkg * Jpackage 32 bit * Fix ran usage win32 * A few more good men * Incorperate j11 tests * Fix checkstyle issues * Fix wrapper * Fix automatically generated tests * Skip failing tests * Skip UI tests on windows builds * Replace references to Java 13 with Java 14 * Fix comments * Revert change to check master tests * Revert "Revert change to check master tests" This reverts commit 05ad8bb.
1 parent d5ec3a4 commit 8923d10

File tree

21 files changed

+447
-269
lines changed

21 files changed

+447
-269
lines changed

annotation/annotation.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ repositories {
77
}
88

99
dependencies {
10-
compileOnly(group = "com.google.auto.service", name = "auto-service", version = "1.0-rc4")
11-
annotationProcessor(group = "com.google.auto.service", name = "auto-service", version = "1.0-rc4")
10+
compileOnly(group = "com.google.auto.service", name = "auto-service", version = "1.0-rc6")
11+
annotationProcessor(group = "com.google.auto.service", name = "auto-service", version = "1.0-rc6")
1212
}

azure-pipelines.yml

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ jobs:
2222
- script: |
2323
$ProgressPreference = 'SilentlyContinue'
2424
mkdir build
25-
wget "https://download.java.net/java/early_access/jpackage/30/openjdk-13-jpackage+30_linux-x64_bin.tar.gz" -O "build/jdk-13.tar.gz"
25+
wget "https://download.java.net/java/early_access/jpackage/1/openjdk-14-jpackage+1-49_linux-x64_bin.tar.gz" -O "build/jdk-14.tar.gz"
2626
sudo mkdir /opt/java
27-
sudo tar -xzvf build/jdk-13.tar.gz -C /opt/java
28-
displayName: 'Download JDK 13'
27+
sudo tar -xzvf build/jdk-14.tar.gz -C /opt/java
28+
displayName: 'Download JDK 14'
2929
- task: Gradle@2
3030
inputs:
3131
workingDirectory: ''
3232
gradleWrapperFile: 'gradlew'
3333
gradleOptions: '-Xmx3072m'
3434
publishJUnitResults: false
35-
tasks: 'check :ui:jpackage -Pgeneration -PjniLocation=build/OpenCVJNI -Pheadless=true -PlogTests -Pjdk13=/opt/java/jdk-13 --stacktrace'
35+
tasks: 'check :ui:jpackage -Pgeneration -PjniLocation=build/OpenCVJNI -Pheadless=true -PlogTests -Pjdk14=/opt/java/jdk-14 --stacktrace'
3636
- task: CopyFiles@2
3737
inputs:
3838
contents: 'ui/build/installer/GRIP-*.deb'
@@ -51,7 +51,7 @@ jobs:
5151
gradleWrapperFile: 'gradlew'
5252
gradleOptions: '-Xmx3072m'
5353
publishJUnitResults: false
54-
tasks: ':ui:jpackage -Pcuda -Pjdk13=/opt/java/jdk-13 --stacktrace'
54+
tasks: ':ui:jpackage -Pcuda -Pjdk14=/opt/java/jdk-14 --stacktrace'
5555
- task: CopyFiles@2
5656
inputs:
5757
contents: 'ui/build/installer/GRIP-*.deb'
@@ -76,9 +76,9 @@ jobs:
7676
displayName: 'Download JDK'
7777
- powershell: |
7878
$ProgressPreference = 'SilentlyContinue'
79-
wget "https://download.java.net/java/early_access/jpackage/30/openjdk-13-jpackage+30_windows-x64_bin.zip" -O "build\jdk-13.zip"
80-
Expand-Archive build\jdk-13.zip -DestinationPath build
81-
displayName: 'Download JDK 13'
79+
wget "https://download.java.net/java/early_access/jpackage/1/openjdk-14-jpackage+1-49_windows-x64_bin.zip" -O "build\jdk-14.zip"
80+
Expand-Archive build\jdk-14.zip -DestinationPath build
81+
displayName: 'Download JDK 14'
8282
- task: JavaToolInstaller@0
8383
inputs:
8484
jdkSourceOption: localDirectory
@@ -93,7 +93,7 @@ jobs:
9393
jdkVersionOption: '1.11'
9494
jdkArchitectureOption: 'x64'
9595
publishJUnitResults: true
96-
tasks: 'check :ui:jpackage -Pheadless=true -Pgeneration -PlogTests -Pjdk13=..\build\jdk-13 --stacktrace'
96+
tasks: 'check :ui:jpackage -Pheadless=true -Pgeneration -PlogTests -PskipUITests -Pjdk14=..\build\jdk-14 --stacktrace'
9797
- task: CopyFiles@2
9898
inputs:
9999
contents: 'ui\build\installer\GRIP-*.exe'
@@ -105,7 +105,7 @@ jobs:
105105
gradleWrapperFile: 'gradlew'
106106
gradleOptions: '-Xmx3072m'
107107
publishJUnitResults: false
108-
tasks: ':ui:jpackage -Pcuda -Pjdk13=..\build\jdk-13 --stacktrace'
108+
tasks: ':ui:jpackage -Pcuda -PskipUITests -Pjdk14=..\build\jdk-14 --stacktrace'
109109
- task: CopyFiles@2
110110
inputs:
111111
contents: 'ui\build\installer\GRIP-*.exe'
@@ -126,8 +126,13 @@ jobs:
126126
- powershell: |
127127
mkdir build
128128
$ProgressPreference = 'SilentlyContinue'
129-
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"
129+
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"
130130
displayName: 'Download JDK'
131+
- powershell: |
132+
$ProgressPreference = 'SilentlyContinue'
133+
wget "https://download.java.net/java/early_access/jpackage/1/openjdk-14-jpackage+1-49_windows-x64_bin.zip" -O "build\jdk-14.zip"
134+
Expand-Archive build\jdk-14.zip -DestinationPath build
135+
displayName: 'Download JDK 14'
131136
- task: JavaToolInstaller@0
132137
inputs:
133138
jdkSourceOption: localDirectory
@@ -141,7 +146,15 @@ jobs:
141146
gradleOptions: '-Xmx1024m'
142147
publishJUnitResults: false
143148
# TODO: run :ui:jpackage once we have a JDK 13 build for 32-bit Windows
144-
tasks: 'check -Pheadless=true -Pgeneration -PlogTests --stacktrace'
149+
tasks: 'check :ui:jpackage -Pheadless=true -Pgeneration -PlogTests -PskipUITests -Pjdk14=..\build\jdk-14 --stacktrace'
150+
# bytedeco does not have a 32 bit enabled CUDA build
151+
# - task: Gradle@2
152+
# inputs:
153+
# workingDirectory: ''
154+
# gradleWrapperFile: 'gradlew'
155+
# gradleOptions: '-Xmx1024m'
156+
# publishJUnitResults: false
157+
# tasks: ':ui:jpackage -Pcuda -PskipUITests -Pjdk14=..\build\jdk-14 --stacktrace'
145158

146159
- task: CopyFiles@2
147160
inputs:
@@ -160,8 +173,8 @@ jobs:
160173
- script: |
161174
mkdir build
162175
wget "https://download.java.net/java/ga/jdk11/openjdk-11_osx-x64_bin.tar.gz" -O "build/jdk.tar.gz"
163-
wget "https://download.java.net/java/early_access/jpackage/30/openjdk-13-jpackage+30_osx-x64_bin.tar.gz" -O "build/jdk-13.tar.gz"
164-
sudo tar xzvf build/jdk-13.tar.gz -C /Library/Java/JavaVirtualMachines/
176+
wget "https://download.java.net/java/early_access/jpackage/1/openjdk-14-jpackage+1-49_osx-x64_bin.tar.gz" -O "build/jdk-14.tar.gz"
177+
sudo tar xzvf build/jdk-14.tar.gz -C /Library/Java/JavaVirtualMachines/
165178
sudo tar xvzf build/jdk.tar.gz -C /Library/Java/JavaVirtualMachines/
166179
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/
167180
displayName: 'Setup JDK'
@@ -173,11 +186,18 @@ jobs:
173186
jdkVersionOption: '1.11'
174187
jdkArchitectureOption: 'x64'
175188
publishJUnitResults: false
176-
tasks: 'check :ui:jpackage -Pheadless=true -Pgeneration -PlogTests -Pjdk13=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home/ --stacktrace'
189+
tasks: 'check jacocoTestReport jacocoRootReport :ui:jpackage -Pheadless=true -Pgeneration -PlogTests -Pjdk14=/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/ --stacktrace'
177190
- task: CopyFiles@2
178191
inputs:
179192
contents: 'ui/build/installer/*'
180193
targetFolder: $(Build.ArtifactStagingDirectory)
194+
195+
- script: |
196+
curl -s https://codecov.io/bash > .codecov
197+
chmod +x .codecov
198+
./.codecov -t $(CODECOV_TOKEN)
199+
displayName: 'Upload jacoco reports to codecov'
200+
181201
- task: Gradle@2
182202
inputs:
183203
workingDirectory: ''
@@ -186,7 +206,7 @@ jobs:
186206
jdkVersionOption: '1.11'
187207
jdkArchitectureOption: 'x64'
188208
publishJUnitResults: false
189-
tasks: ':ui:jpackage -Pcuda -Pjdk13=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home/ --stacktrace'
209+
tasks: ':ui:jpackage -Pcuda -Pjdk14=/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/ --stacktrace'
190210

191211
- task: CopyFiles@2
192212
inputs:
@@ -196,27 +216,3 @@ jobs:
196216
- task: PublishBuildArtifacts@1
197217
inputs:
198218
artifactName: 'MacInstaller'
199-
200-
# JDK 8 agent for UI tests
201-
- job: Mac_UI_Testing
202-
pool:
203-
vmImage: 'xcode9-macos10.13'
204-
205-
steps:
206-
- script: |
207-
mkdir build
208-
wget "https://cdn.azul.com/zulu/bin/zulu8.38.0.13-ca-fx-jdk8.0.212-macosx_x64.tar.gz" -O "build/jdk.tar.gz"
209-
sudo tar xzvf build/jdk.tar.gz -C /Library/Java/JavaVirtualMachines/
210-
displayName: 'Install ZuluFX'
211-
- task: Gradle@2
212-
inputs:
213-
workingDirectory: ''
214-
gradleWrapperFile: 'gradlew'
215-
gradleOptions: '-Xmx3072m -Dorg.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu8.38.0.13-ca-fx-jdk8.0.212-macosx_x64'
216-
publishJUnitResults: false
217-
tasks: 'check jacocoTestReport jacocoRootReport -Pheadless=true -Pgeneration -PlogTests --stacktrace'
218-
- script: |
219-
curl -s https://codecov.io/bash > .codecov
220-
chmod +x .codecov
221-
./.codecov -t $(CODECOV_TOKEN)
222-
displayName: 'Upload jacoco reports to codecov'

build.gradle.kts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,31 @@ buildscript {
99
}
1010
dependencies {
1111
classpath(group = "edu.wpi.first.wpilib.opencv", name = "opencv-installer", version = "2.0.1")
12-
classpath("com.netflix.nebula:gradle-aggregate-javadocs-plugin:2.2.+")
12+
classpath("com.netflix.nebula:gradle-aggregate-javadocs-plugin:3.0.1")
1313

1414
}
1515
}
1616

1717
plugins {
18-
`java`
19-
`jacoco`
20-
`checkstyle`
21-
`pmd`
22-
id("com.github.johnrengelman.shadow") version "4.0.1"
23-
id("com.google.osdetector") version "1.4.0"
24-
id("org.ajoberstar.grgit") version "2.0.0" apply false
18+
java
19+
jacoco
20+
checkstyle
21+
pmd
22+
id("com.github.johnrengelman.shadow") version "5.1.0"
23+
id("com.google.osdetector") version "1.6.2"
24+
id("org.ajoberstar.grgit") version "3.1.1" apply false
2525
//id("net.ltgt.errorprone") version "0.0.16"
26-
id("com.github.spotbugs") version "1.7.1"
27-
id("com.gradle.build-scan") version "2.1"
26+
id("com.github.spotbugs") version "2.0.0"
27+
id("com.gradle.build-scan") version "2.4.2"
2828
}
2929

3030
apply {
3131
plugin("nebula-aggregate-javadocs")
3232
}
3333

3434
buildScan {
35-
setTermsOfServiceUrl("https://gradle.com/terms-of-service")
36-
setTermsOfServiceAgree("yes")
35+
termsOfServiceUrl = "https://gradle.com/terms-of-service"
36+
termsOfServiceAgree = "yes"
3737
}
3838

3939
repositories {
@@ -42,7 +42,7 @@ repositories {
4242
}
4343

4444
tasks.withType<Wrapper>().configureEach {
45-
gradleVersion = "5.0"
45+
gradleVersion = "5.6.3"
4646
distributionType = Wrapper.DistributionType.ALL
4747
}
4848

@@ -66,7 +66,7 @@ javaSubprojects {
6666
jcenter()
6767
maven {
6868
name = "WPILib Maven Release"
69-
setUrl("https://first.wpi.edu/FRC/roborio/maven/release")
69+
setUrl("https://frcmaven.wpi.edu/artifactory/release")
7070
}
7171
maven {
7272
name = "rosjava Maven"
@@ -84,11 +84,11 @@ javaSubprojects {
8484
"compile"(group = "javax.annotation", name = "javax.annotation-api", version = "1.3.2")
8585
"annotationProcessor"(group = "javax.annotation", name = "javax.annotation-api", version = "1.3.2")
8686
"compile"(group = "com.google.code.findbugs", name = "annotations", version = "3.0.1")
87-
"testCompile"(group = "net.jodah", name = "concurrentunit", version = "0.4.2")
87+
"testCompile"(group = "net.jodah", name = "concurrentunit", version = "0.4.6")
8888
"testCompile"(group = "org.hamcrest", name = "hamcrest-all", version = "1.3")
8989
"testCompile"(group = "junit", name = "junit", version = "4.12")
90-
"testCompile"(group = "com.google.truth", name = "truth", version = "0.34")
91-
"testCompile"(group = "com.google.guava", name = "guava-testlib", version = "22.0")
90+
"testCompile"(group = "com.google.truth", name = "truth", version = "1.0")
91+
"testCompile"(group = "com.google.guava", name = "guava-testlib", version = "28.1-jre")
9292
}
9393

9494
checkstyle {

buildSrc/src/main/kotlin/BuildType.kt

Lines changed: 0 additions & 32 deletions
This file was deleted.

buildSrc/src/main/kotlin/JpackageExec.kt

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import java.io.FileFilter
1616
* Because JDK 13 has not yet been released, and because `jpackage` is not yet included in the
1717
* early-access builds, a compatible JDK must be downloaded from
1818
* [https://jdk.java.net/jpackage/](https://jdk.java.net/jpackage/). The location of the JDK must be
19-
* specified with [jdkHome] (eg `/opt/java/jdk-13/`)
19+
* specified with [jdkHome] (eg `/opt/java/jdk-14/`)
2020
*
2121
*/
2222
open class JpackageExec : DefaultTask() {
@@ -146,13 +146,6 @@ open class JpackageExec : DefaultTask() {
146146
@get:Optional
147147
val applicationVendor = stringProperty()
148148

149-
/**
150-
* A machine-readable identifier string in reverse-DNS format (e.g. "edu.wpi.grip").
151-
*/
152-
@get:Input
153-
@get:Optional
154-
val identifier = stringProperty()
155-
156149
/**
157150
* A properties file containing key-value pairs for file association integration.
158151
* Currently broken on Linux and Mac.
@@ -175,13 +168,6 @@ open class JpackageExec : DefaultTask() {
175168
@get:Optional
176169
val winUpgradeUuid = stringProperty()
177170

178-
/**
179-
* Windows-specific. The name to use for the application in its Windows registry entries.
180-
*/
181-
@get:Input
182-
@get:Optional
183-
val winRegistryName = stringProperty()
184-
185171
/**
186172
* Windows-specific. Allows the application to be installed in the Windows start menu.
187173
*/
@@ -208,7 +194,7 @@ open class JpackageExec : DefaultTask() {
208194
project.exec {
209195
val args = mutableListOf<String>()
210196
args.add(jdkHome.file("bin/jpackage").get().asFile.absolutePath)
211-
args.add("create-installer")
197+
//args.add("create-installer")
212198

213199
runtimeImage.ifPresent { dir ->
214200
args.addAll("--runtime-image", dir.asFile.absolutePath)
@@ -217,18 +203,18 @@ open class JpackageExec : DefaultTask() {
217203
args.add("--verbose")
218204
}
219205
jvmArgs.ifPresent { jvmArgs ->
220-
args.add("--jvm-args")
206+
args.add("--java-options")
221207
args.add(jvmArgs.joinToString(separator = " ", prefix = "\"", postfix = "\""))
222208
}
223209
args.addAll("--input", inputDir.get().asFile.absolutePath)
224210
resourceDir.ifPresent { dir ->
225211
args.addAll("--resource-dir", dir.asFile.absolutePath)
226212
}
227-
args.addAll("--output", outputDir.get().asFile.absolutePath)
213+
args.addAll("--dest", outputDir.get().asFile.absolutePath)
228214
icon.ifPresent { iconFile ->
229215
args.addAll("--icon", iconFile.toString())
230216
}
231-
args.addAll("--main-jar", mainJar.get().asFile.absolutePath)
217+
args.addAll("--main-jar", mainJar.get().asFile.name)
232218
args.addAll("--main-class", mainClassName.get())
233219

234220
args.addAll("--name", applicationName.get())
@@ -245,22 +231,16 @@ open class JpackageExec : DefaultTask() {
245231
applicationVendor.ifPresent { vendor ->
246232
args.addAll("--vendor", vendor)
247233
}
248-
identifier.ifPresent { id ->
249-
args.addAll("--identifier", id)
250-
}
251234
fileAssociations.ifPresent { propsFile ->
252235
args.addAll("--file-associations", propsFile.asFile.absolutePath)
253236
}
254-
args.addAll("--installer-type", installerType.get())
237+
args.addAll("--package-type", installerType.get())
255238

256239
when (OperatingSystem.current()) {
257240
OperatingSystem.WINDOWS -> {
258241
winUpgradeUuid.ifPresent { uuid ->
259242
args.addAll("--win-upgrade-uuid", uuid)
260243
}
261-
winRegistryName.ifPresent { name ->
262-
args.addAll("--win-registry-name", name)
263-
}
264244
if (addToWindowsMenu.getOrElse(false)) {
265245
args.add("--win-menu")
266246
}
@@ -270,7 +250,7 @@ open class JpackageExec : DefaultTask() {
270250
}
271251
OperatingSystem.MAC_OS -> {
272252
macBundleIdentifier.ifPresent { id ->
273-
args.addAll("--mac-bundle-identifier", id)
253+
args.addAll("--mac-package-identifier", id)
274254
}
275255
}
276256
OperatingSystem.LINUX -> {

0 commit comments

Comments
 (0)