|
| 1 | +[versions] |
| 2 | +ejml = "0.44.0" |
| 3 | +jackson = "2.19.2" |
| 4 | +jmh = "1.37" |
| 5 | +opencv = "4.10.0-3" |
| 6 | +thirdparty-year = "frc2025" # Note: this also appears in the opencv module name in the libraries section |
| 7 | +quickbuf = "1.4" |
| 8 | + |
| 9 | +[libraries] |
| 10 | +# General runtime dependencies |
| 11 | +ejml-simple = { module = "org.ejml:ejml-simple", version.ref = "ejml" } # also pulls in other EJML modules as transitive dependencies |
| 12 | +gson = { module = "com.google.code.gson:gson", version = "2.13.1" } |
| 13 | +jackson-annotations = { module = "com.fasterxml.jackson.core:jackson-annotations", version.ref = "jackson" } |
| 14 | +jackson-core = { module = "com.fasterxml.jackson.core:jackson-core", version.ref = "jackson" } |
| 15 | +jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" } |
| 16 | +quickbuf-runtime = { module = "us.hebi.quickbuf:quickbuf-runtime", version.ref = "quickbuf" } |
| 17 | +thirdparty-opencv = { module = "edu.wpi.first.thirdparty.frc2025.opencv:opencv-java", version.ref = "opencv" } |
| 18 | + |
| 19 | +# General test dependencies |
| 20 | +compile-testing = { module = "com.google.testing.compile:compile-testing", version = "0.23.0" } |
| 21 | +jmh-annotationprocessor = { module = "org.openjdk.jmh:jmh-generator-annprocess", version.ref = "jmh" } |
| 22 | +jmh-core = { module = "org.openjdk.jmh:jmh-core", version.ref = "jmh" } |
| 23 | +junit-api = { module = "org.junit.jupiter:junit-jupiter", version = "5.13.4" } |
| 24 | +junit-launcher = { module = "org.junit.platform:junit-platform-launcher", version = "1.10.1" } |
| 25 | +mockito-core = { module = "org.mockito:mockito-core", version = "4.1.0" } |
| 26 | + |
| 27 | +# buildsrc dependencies |
| 28 | +# Note that these are also Gradle plugins and cannot be used with the plugin specification |
| 29 | +# due to their presence on the classpath without version information. |
| 30 | +wpilib-gradle-vscode = { module = "org.wpilib:gradle-cpp-vscode", version = "2027.0.0" } |
| 31 | +wpilib-native-utils = { module = "org.wpilib:native-utils", version = "2027.1.1" } |
| 32 | + |
| 33 | +[bundles] |
| 34 | +ejml = ["ejml-simple"] |
| 35 | +jackson = ["jackson-annotations", "jackson-core", "jackson-databind"] |
| 36 | +mockito = ["mockito-core"] |
| 37 | +# junit api and launcher artifacts are different dependency types (implementation and runtime, respectively), |
| 38 | +# so it doesn't make sense to bundle them in a single "junit" bundle |
| 39 | +# Similar logic applies for JMH |
| 40 | + |
| 41 | +[plugins] |
| 42 | +build-shadow = { id = "com.gradleup.shadow", version = "9.1.0" } |
| 43 | +lint-errorprone = { id = "net.ltgt.errorprone", version = "4.3.0" } |
| 44 | +lint-spotbugs = { id = "com.github.spotbugs", version = "6.4.2" } |
| 45 | +lint-spotless = { id = "com.diffplug.spotless", version = "8.0.0" } |
| 46 | + |
| 47 | +wpilib-gradle-jni = { id = "org.wpilib.GradleJni", version = "2027.0.0" } |
| 48 | +# Note: these plugins can't be used. Their JARs are on the classpath for buildSrc, |
| 49 | +# which doesn't retain version information. |
| 50 | +# wpilib-gradle-vscode = { id = "org.wpilib.GradleVsCode", version = "2027.0.0" } |
| 51 | +# wpilib-native-utils = { id = "org.wpilib.NativeUtils", version = "2027.1.1" } |
| 52 | +wpilib-repositories = { id = "org.wpilib.WPILibRepositoriesPlugin", version = "2027.0.0" } |
| 53 | +wpilib-versioning = { id = "org.wpilib.WPILibVersioningPlugin", version = "2027.0.1" } |
0 commit comments