Skip to content

Require CameraServer/AprilTag vendordeps - #2673

Open
thatcomputerguy0101 wants to merge 1 commit into
PhotonVision:mainfrom
thatcomputerguy0101:required-vdeps
Open

thatcomputerguy0101 wants to merge 1 commit into
PhotonVision:mainfrom
thatcomputerguy0101:required-vdeps

Conversation

@thatcomputerguy0101

Copy link
Copy Markdown
Contributor

Description

What changed?

Alternative to #2670 that requires the CameraServer/AprilTag vendordeps directly instead of their Maven artifacts. This requires the CameraServer/AprilTag vendordeps to be manually installed, but prevents hard-to-understand error messages from version conflicts.

Why?

GradleRIO alpha-8 stopped preinstalling the vision libraries.

If a vendordep is missing, an error like the following is printed:

> Failed to apply plugin class 'org.wpilib.gradlerio.wpi.WPIPlugin'.
   > Could not create an instance of type org.wpilib.gradlerio.wpi.WPIExtension.
      > Conflicting Vendor Dependency 19049c8a-7635-4aca-aa7d-1fdde2c10eed for uuid 515fe07e-bfc6-11fa-b3de-0242ac130004. Reason: You need to install the CameraServer vendordep from WPILib!

If a conflicting version is found (as can be the case in the other PR), a vague error message like the following is displayed:

> Entry libopencv_videoio.413.dylib is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/9.4.1/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.

Testing

  • I have tested this change locally
  • Test evidence (screenshots, videos, or test results):

Paste screenshots or video links here

Related Issues

Closes #2672


AI Disclosure

  • This PR was authored entirely by me
  • This PR includes AI-generated code (e.g., from GitHub Copilot, ChatGPT)
    • If yes, I have reviewed all AI-generated code for correctness
    • If yes, please describe which parts were AI-assisted:

Describe AI involvement here if applicable


Merge Checklist

Additional Checks (if applicable)

  • User-facing changes? User documentation is updated
  • Breaking changes? Migration guide is included in description, migration is added to DbMigrations.java, and tests are added to verify the migration works
  • Bug fix? Regression test is added
  • New dependency? License compatibility is verified and steps have been taken to follow it
  • Serde changes? All messages are regenerated with no unexpected hash changes
  • Configuration changes? Changes are backwards compatible with previous season's last release
  • Pipeline/data exchange changes? Frontend types are updated in ./photon-client/src/types

@thatcomputerguy0101
thatcomputerguy0101 requested a review from a team as a code owner November 14, 2026 14:13
@github-actions github-actions Bot added the photonlib Things related to the PhotonVision library label Nov 14, 2026
@thatcomputerguy0101

Copy link
Copy Markdown
Contributor Author

It might be worth figuring out what the resolution to wpilibsuite/allwpilib#9700 is first before deciding between these two PRs, because if OpenCV is given a custom version alias I think #2670 would give a better user experience.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

photonlib Things related to the PhotonVision library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PhotonLib dev fails on WPILib 2027 alpha 8 simulation: cscore.dll not found, then OpenCvLoader ClassNotFoundException

1 participant