https://github.com/windingmotor/vendor-wizard
🧙 Simplify the management of vendor dependencies in FRC robot projects
https://github.com/windingmotor/vendor-wizard
Last synced: 2 months ago
JSON representation
🧙 Simplify the management of vendor dependencies in FRC robot projects
- Host: GitHub
- URL: https://github.com/windingmotor/vendor-wizard
- Owner: WindingMotor
- Created: 2024-08-06T14:37:14.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-06T14:44:11.000Z (11 months ago)
- Last Synced: 2025-04-01T07:37:54.693Z (3 months ago)
- Language: Python
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🧙 Vendordep Wizard for FRC
Vendor Wizard is a tool designed to simplify the management of vendor dependencies (vendordeps) in FRC (FIRST Robotics Competition) projects. It provides both a CLI script and a GUI tool to help teams easily update and maintain their project dependencies.
## Important Note
**The files from this repository MUST be placed in a folder named `tools` at the root of your robot project for the tool to function correctly.**
## Features
- List all vendordeps and their status
- Update outdated vendordeps
- CLI script for automation and integration with build processes
- Gradle integration for automatic updates during builds## Installation
### Prerequisites
- Python 3.7+
- Bash (for the CLI script)### Setup
1. Clone this repository:
```
git clone https://github.com/WindingMotor/Vendor-Wizard.git
```2. Create a new folder named `tools` at the root of your robot project if it doesn't already exist.
3. Move all the cloned files into the `tools` folder in your robot project.
4. Navigate to your the `tools` folder.
5. Create a virtual environment:
```
python -m venv venv
```6. Activate the virtual environment:
- On Windows:
```
venv\Scripts\activate
```
- On macOS and Linux:
```
source venv/bin/activate
```7. Install the required Python packages:
```
pip install -r tools/requirements.txt
```## Usage
### CLI Tool
The CLI tool is located in the `tools` directory and is named `vendor_wizard.sh`. To use it:
1. Make sure you're in your robot project's root directory.
2. Make the script executable:
```
chmod +x tools/vendor_wizard.sh
```3. Run the script with the desired command:
```
./tools/vendor_wizard.sh list
./tools/vendor_wizard.sh update
```### GUI Tool
To launch the GUI tool:
1. Ensure you're in the `tools` directory and your virtual environment is activated.
2. Run the Python script:
```
python tools/vendor_wizard_gui.py
```## Gradle Integration
To integrate Vendor Wizard with your Gradle build process, add the following task to your `build.gradle` file:
```groovy
task updateVendordeps(type: Exec) {
workingDir "${rootDir}/tools"
commandLine './vendor_wizard.sh', 'update', '--gradle'
standardOutput = new ByteArrayOutputStream()
errorOutput = new ByteArrayOutputStream()
ignoreExitValue = true
doLast {
def output = standardOutput.toString()
def errorOutput = errorOutput.toString()
println output
println errorOutput
}
}
tasks.build.dependsOn updateVendordeps
```This will automatically update your vendordeps when you run the Gradle build.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
---