Skip to content

Commit

Permalink
addressed comments via links new tab etc
Browse files Browse the repository at this point in the history
  • Loading branch information
jasondaming committed Nov 7, 2024
1 parent 9d023f5 commit ea6b0d6
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions source/docs/beta/tasks/beta-task-overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Task 1 - Install Software (Targeted Completion 10/28/2024)

The purpose of Task 1 is to complete installation of the new Control System software. This task consists of 1 Objective

1. Install the necessary software for your assigned Beta Test language (LabVIEW or VSCode + plugins, NI FRC Game Tools, and any vendor libraries e.g. CTRE Phoenix, REVLib, etc)
1. Install the necessary software for your assigned Beta Test language (LabVIEW or VSCode + plugins, NI FRC Game Tools, and any vendor libraries using the :doc:`Dependency Manager </docs/software/vscode-overview/3rd-party-libraries>` e.g. CTRE Phoenix, REVLib, etc)

Task 2 - Basic Benchtop Test (Targeted Completion 11/4/2024)
------------------------------------------------------------
Expand Down Expand Up @@ -46,5 +46,5 @@ The purpose of Task 4 is to write new code in order to test features and functio

1. Java: Use :doc:`Epilogue annotation logging </docs/software/telemetry/robot-telemetry-with-annotations>`
2. Java: Use the re-written :doc:`Java units library </docs/software/basic-programming/java-units>`
3. Java/C++: Utilize the new Vendor Dependency manager in Visual Studio Code
3. Java/C++: Utilize the new :doc:`Dependency Manager </docs/software/vscode-overview/3rd-party-libraries>` in Visual Studio Code

2 changes: 1 addition & 1 deletion source/docs/beta/tasks/task-4-new-features.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ The purpose of this task is to test any newly developed or heavily modified feat

**Java/C++**

- Utilize the new Vendor Dependency manager in Visual Studio Code
- Utilize the new Vendor :doc:`Dependency Manager </docs/software/vscode-overview/3rd-party-libraries>` in Visual Studio Code

**Java/C++/Python**

Expand Down
8 changes: 4 additions & 4 deletions source/docs/software/vscode-overview/3rd-party-libraries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Vendor dependencies are installed on a per-project basis (so each robot project
.. image:: images/3rd-party-libraries/dependency-activity-bar.png
:alt: The activity bar of VS Code showing the WPILib icon that opens the Dependency Manager.

All vendordep operations can be controlled by the Dependency Manager. Click the button shown above to access the interface.
All vendordep operations can be controlled by the Dependency Manager. Click the WPILib logo in the activity bar as shown above to access the interface.

.. image:: images/3rd-party-libraries/dependency-sidebar.png
:alt: The interface of the Dependency Manager with the installed vendordeps at the top and a list of available vendordeps below it.
Expand All @@ -37,7 +37,7 @@ Vendor dependencies are installed on a per-project basis (so each robot project

The button with the trash icon will uninstall the vendordep. The dropdown shows what version is currently installed but you can change that to a different version to :guilabel:`update` or :guilabel:`downgrade` to the specified version.

.. note:: The Dependncy Manager will automatically build your program when it loses focus. This allows you to use the changed dependencies.
.. note:: The Dependency Manager will automatically build your program when it loses focus. This allows you to use the changed dependencies.

.. tab-item:: Python
:sync: python
Expand Down Expand Up @@ -78,7 +78,7 @@ Vendor dependencies are installed on a per-project basis (so each robot project

To remove a library dependency from a project, select :guilabel:`Manage Current Libraries` from the :guilabel:`Manage Vendor Libraries` menu, check the box for any libraries to uninstall and click :guilabel:`OK`. These libraries will be removed as dependencies from the project.

**Command-Line**
.. tab-item:: Command-Line

Adding a vendor library dependency from the vendor URL can also be done through the command-line via a gradle task. Open a command-line instance at the project root, and enter ``gradlew vendordep --url=<url>`` where ``<url>`` is the vendor JSON URL. This will add the vendor library dependency JSON file to the ``vendordeps`` folder of the project. Vendor libraries can be updated the same way.

Expand All @@ -88,7 +88,7 @@ Vendor dependencies are installed on a per-project basis (so each robot project

#### How Does It Work? - Java/C++

For Java and C++, a :term:`JSON` file describing the vendor library is installed on your system to ``~/wpilib/YYYY/vendordeps`` (where YYYY is the year and ~ is ``C:\Users\Public`` on Windows). This can either be done by an offline installer or the file can be fetched from an online location using the menu item in Visual Studio Code. This file is then used from VS Code to add to the library to each individual project. Vendor library information is managed on a per-project basis to make sure that a project is always pointing to a consistent version of a given vendor library. The libraries themselves are placed in the Maven cache at ``C:\Users\Public\wpilib\YYYY\maven``. Vendors can place a local copy here with an offline installer (recommended) or require users to be connected to the internet for an initial build to fetch the library from a remote Maven location.
For Java and C++, a :term:`JSON` file describing the vendor library is installed on your system to ``~/wpilib/YYYY/vendordeps`` (where YYYY is the year and ~ is ``C:\Users\Public`` on Windows). This is often done by an offline installer, but may need to be done manually if a ``.zip`` of the ``.json`` files is provided. This file is then used from VS Code to add to the library to each individual project. Vendor library information is managed on a per-project basis to make sure that a project is always pointing to a consistent version of a given vendor library. The libraries themselves are placed in the Maven cache at ``C:\Users\Public\wpilib\YYYY\maven``. Vendors can place a local copy here with an offline installer (recommended) or require users to be connected to the internet for an initial build to fetch the library from a remote Maven location.

This JSON file allows specification of complex libraries with multiple components (Java, C++, JNI, etc.) and also helps handle some complexities related to simulation.

Expand Down
2 changes: 1 addition & 1 deletion source/docs/yearly-overview/yearly-changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ Supported Operating Systems and Architectures:

## Visual Studio Code Extension

- Add dependency view extension for easier finding and updating of 3rd party libraries
- Add :doc:`Dependency Manager extension </docs/software/vscode-overview/3rd-party-libraries>` for easier finding and updating of 3rd party libraries
- Add gradle clean command
- Use shell scripts for launching tools on Linux / macOS, since macOS doesn't ship Python any more

Expand Down

0 comments on commit ea6b0d6

Please sign in to comment.