mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-19 00:41:41 +00:00
## Description <!-- What changed? Why? (the code + comments should speak for itself on the "how") --> <!-- Fun screenshots or a cool video or something are super helpful as well. If this touches platform-specific behavior, this is where test evidence should be collected. --> <!-- Any issues this pull request closes or pull requests this supersedes should be linked with `Closes #issuenumber`. --> Bump to wpilib 2026 beta. This does not bump our pythonlib, as robotpy hasn't come out yet. ## Meta Merge checklist: - [ ] Pull Request title is [short, imperative summary](https://cbea.ms/git-commit/) of proposed changes - [ ] The description documents the _what_ and _why_ - [ ] This PR has been [linted](https://docs.photonvision.org/en/latest/docs/contributing/linting.html). - [ ] If this PR changes behavior or adds a feature, user documentation is updated - [ ] If this PR touches photon-serde, all messages have been regenerated and hashes have not changed unexpectedly - [ ] If this PR touches configuration, this is backwards compatible with settings back to v2025.3.2 - [ ] If this PR touches pipeline settings or anything related to data exchange, the frontend typing is updated - [ ] If this PR addresses a bug, a regression test for it is added --------- Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com>
102 lines
3.4 KiB
Groovy
102 lines
3.4 KiB
Groovy
plugins {
|
|
id "java"
|
|
id "edu.wpi.first.GradleRIO" version "2026.1.1-beta-1"
|
|
}
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
|
|
def ROBOT_MAIN_CLASS = "frc.robot.Main"
|
|
|
|
wpi.maven.useDevelopment = true
|
|
wpi.versions.wpilibVersion = "2026.1.1-beta-1"
|
|
wpi.versions.wpimathVersion = "2026.1.1-beta-1"
|
|
|
|
|
|
// Define my targets (RoboRIO) and artifacts (deployable files)
|
|
// This is added by GradleRIO's backing project DeployUtils.
|
|
deploy {
|
|
targets {
|
|
roborio(getTargetTypeClass('RoboRIO')) {
|
|
// Team number is loaded either from the .wpilib/wpilib_preferences.json
|
|
// or from command line. If not found an exception will be thrown.
|
|
// You can use getTeamOrDefault(team) instead of getTeamNumber if you
|
|
// want to store a team number in this file.
|
|
team = project.frc.getTeamOrDefault(4512)
|
|
debug = project.frc.getDebugOrDefault(false)
|
|
|
|
artifacts {
|
|
// First part is artifact name, 2nd is artifact type
|
|
// getTargetTypeClass is a shortcut to get the class type using a string
|
|
|
|
frcJava(getArtifactTypeClass('FRCJavaArtifact')) {
|
|
}
|
|
|
|
// Static files artifact
|
|
frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {
|
|
files = project.fileTree('src/main/deploy')
|
|
directory = '/home/lvuser/deploy'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def deployArtifact = deploy.targets.roborio.artifacts.frcJava
|
|
|
|
// Set to true to use debug for JNI.
|
|
wpi.java.debugJni = false
|
|
|
|
// Set this to true to enable desktop support.
|
|
def includeDesktopSupport = true
|
|
|
|
// Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries.
|
|
// Also defines JUnit 5.
|
|
dependencies {
|
|
implementation wpi.java.deps.wpilib()
|
|
implementation wpi.java.vendor.java()
|
|
|
|
roborioDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.roborio)
|
|
roborioDebug wpi.java.vendor.jniDebug(wpi.platforms.roborio)
|
|
|
|
roborioRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.roborio)
|
|
roborioRelease wpi.java.vendor.jniRelease(wpi.platforms.roborio)
|
|
|
|
nativeDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.desktop)
|
|
nativeDebug wpi.java.vendor.jniDebug(wpi.platforms.desktop)
|
|
simulationDebug wpi.sim.enableDebug()
|
|
|
|
nativeRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.desktop)
|
|
nativeRelease wpi.java.vendor.jniRelease(wpi.platforms.desktop)
|
|
simulationRelease wpi.sim.enableRelease()
|
|
|
|
testImplementation 'junit:junit:4.13.1'
|
|
}
|
|
|
|
// Simulation configuration (e.g. environment variables).
|
|
wpi.sim.addGui().defaultEnabled = true
|
|
wpi.sim.addDriverstation()
|
|
|
|
// Setting up my Jar File. In this case, adding all libraries into the main jar ('fat jar')
|
|
// in order to make them all available at runtime. Also adding the manifest so WPILib
|
|
// knows where to look for our Robot Class.
|
|
jar {
|
|
from {
|
|
configurations.runtimeClasspath.collect {
|
|
it.isDirectory() ? it : zipTree(it)
|
|
}
|
|
}
|
|
manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS)
|
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
}
|
|
|
|
// Configure jar and deploy tasks
|
|
deployArtifact.jarTask = jar
|
|
wpi.java.configureExecutableTasks(jar)
|
|
wpi.java.configureTestTasks(test)
|
|
|
|
// Configure string concat to always inline compile
|
|
tasks.withType(JavaCompile) {
|
|
options.compilerArgs.add '-XDstringConcat=inline'
|
|
}
|