PSA: Do not run VS Code's WPI Check For Online Updates function anymore

Hello All,

During testing for the 2020 season, we found that there is a bug in the 2019 VS Code plugins that cause the Check For Online WPILib Updates functionality to see 2020 beta builds as valid for 2019. They are not, and this will cause your build to fail. The latest version of GradleRIO for 2019 will always be 2019.4.1, so if you need to update, for instance if you have an old project, its easy to do so manually. In the build.gradle file, all that would need to be updated is the GradleRIO version at the top of the file.

We might be pushing a patched 2019 plugin to the VS Code Marketplace, we are looking into it, but for now just don’t run the update functionality, and instead do so manually.

Thanks!

16 Likes

We posted an update (2019.4.2) to the VS Code Extension to make it so only 2019 versions get detected. You can update in a few ways.

Method A: Navigate to https://marketplace.visualstudio.com/items?itemName=wpilibsuite.vscode-wpilib , click Download Extension. Then Open VS Code, Open the Command Palette (Ctrl + Shift + P), type Install From VSIX and select the Install from VSIX command, and navigate to the downloaded file.

Method B: Go to the extensions tab in VS Code, navigate to the WPILib extension, right click on it, and one of the options will either be Select a Version, or Check for Updates (Depending on your VS Code Version). Select that, and update to 2019.4.2.

This update only changes the online update logic, it doesn’t change anything else.

2 Likes

Thanks for this. Really appreciate the heads up and the fix, especially as we integrate our new programmers and get them set-up

Absolutely, as soon as it was first reported we knew it would be an issue. It’s one of the things the new setup made possible as well. In previous years, releasing a new set of eclipse plugins after beta started would have been a ton of manual work and builds. But with our new setup, it was just pull the tag, quickly patch, push an updated tag, and the ci system handled everything perfectly.

Just a note - we stumbled onto this problem after updating during a teaching session yesterday. The editing of the build.gradle file you suggested fixed everything. I hadn’t seen this PSA when I posted, and [gixxy] kindly directed me here.

To help others who make the same mistake I did I’ll note we had two symptoms after updating. First, the build started looking for libraries in a 2020 folder structure, and after I dealt with that by copying the old 2019 libraries to a 2020 version, we got image version issues with this error message during deploy:
admin @ roborio-2429-FRC.local: Connected.
Reason: InvalidImageException
RoboRIO Image invalid! RoboRIO: 2019_v14, allowed: [2020_v5]

Hopefully this may help others find this thread and let them know that the change to build.gradle with the 2019.4.1 version will fix the underlying issue leading to the errors we experienced. (We will also try out the new extension.)
Thanks!

I finally got around to running the update using the first option of downloading the VSIX. Now my projects are reporting
This project is not compatible with this version of the extension....

Which version of the extension did you download? Did you happen to download the 2020 beta extension. It shows up as the top release on the releases page, but gives a link for non beta teams.

Note that is only the GitHub releases page. The vscode marketpage only has 2019 downloads.

You’re not trying to open a 2020 project, right?

I used the link above and just confirmed that it was 2019.4.2 Further investigation though turns out it was only one particular project that had issues. It could have been something else I did. Fortunately it was a very simple Motion Magic project from my summer presentation that I was easily able to create a new project and copy the contents of the Robot.java file.

Thanks for the quick response anyhow. After a few week we will even see if my Motion Magic presentation is even relevant after the Falcon 500 firmware is out in the wild and brings along the TalonSRX .