Initial release: FTC Project Generator
Generate clean, testable FTC robot projects with proper separation from SDK bloat. Features: - Composite build setup - one shared SDK, multiple clean projects - Subsystem pattern with hardware interfaces for easy testing - JUnit scaffolding - tests run on PC without robot - Minimal project structure (~50KB vs 200MB SDK) - Support for multiple FTC SDK versions Philosophy: Your code should be YOUR code. SDK is just a dependency. Built by Nexus Workshops for FTC teams tired of fighting the standard structure. License: MIT
This commit is contained in:
108
TROUBLESHOOTING.md
Normal file
108
TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# Troubleshooting
|
||||
|
||||
## Error: "Project with path ':RobotCore' not found"
|
||||
|
||||
**Symptom:**
|
||||
```
|
||||
FAILURE: Build failed with an exception.
|
||||
* What went wrong:
|
||||
Project with path ':RobotCore' not found in build ':ftc-sdk'.
|
||||
```
|
||||
|
||||
**Cause:** FTC SDK was not cloned or is at wrong location.
|
||||
|
||||
**Solution:**
|
||||
|
||||
1. Check if SDK exists:
|
||||
```bash
|
||||
ls ~/ftc-sdk
|
||||
# Should show: FtcRobotController, RobotCore, Hardware, etc.
|
||||
```
|
||||
|
||||
2. If SDK doesn't exist, clone it:
|
||||
```bash
|
||||
git clone --depth 1 --branch v10.1.1 \
|
||||
https://github.com/FIRST-Tech-Challenge/FtcRobotController.git \
|
||||
~/ftc-sdk
|
||||
```
|
||||
|
||||
3. Check your project's `gradle.properties`:
|
||||
```bash
|
||||
cat gradle.properties
|
||||
# Should show: ftcSdkDir=/home/yourusername/ftc-sdk
|
||||
```
|
||||
|
||||
4. Update if path is wrong:
|
||||
```bash
|
||||
echo "ftcSdkDir=$HOME/ftc-sdk" > gradle.properties
|
||||
```
|
||||
|
||||
5. Try again:
|
||||
```bash
|
||||
./gradlew test
|
||||
```
|
||||
|
||||
## Error: Can't find SDK at specified path
|
||||
|
||||
**Solution:** Set environment variable:
|
||||
```bash
|
||||
export FTC_SDK_DIR=~/ftc-sdk
|
||||
./gradlew test
|
||||
```
|
||||
|
||||
Or edit `gradle.properties` in your project.
|
||||
|
||||
## SDK exists but wrong version
|
||||
|
||||
**Solution:** Update SDK to correct version:
|
||||
```bash
|
||||
cd ~/ftc-sdk
|
||||
git fetch --tags
|
||||
git checkout v10.1.1 # or whatever version you need
|
||||
```
|
||||
|
||||
## Fresh Start
|
||||
|
||||
If all else fails:
|
||||
|
||||
```bash
|
||||
# Remove old SDK
|
||||
rm -rf ~/ftc-sdk
|
||||
|
||||
# Remove old project
|
||||
rm -rf my-project
|
||||
|
||||
# Start fresh
|
||||
ftc-new-project my-project
|
||||
|
||||
# Verify SDK was cloned
|
||||
ls ~/ftc-sdk
|
||||
|
||||
# Test
|
||||
cd my-project
|
||||
./gradlew test
|
||||
```
|
||||
|
||||
## Verify Setup
|
||||
|
||||
Run this diagnostic:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
echo "=== FTC Setup Diagnostic ==="
|
||||
echo ""
|
||||
echo "1. SDK Directory:"
|
||||
ls -la ~/ftc-sdk 2>/dev/null || echo " ✗ SDK not found at ~/ftc-sdk"
|
||||
echo ""
|
||||
echo "2. SDK Modules:"
|
||||
ls ~/ftc-sdk/RobotCore 2>/dev/null && echo " ✓ RobotCore found" || echo " ✗ RobotCore missing"
|
||||
ls ~/ftc-sdk/Hardware 2>/dev/null && echo " ✓ Hardware found" || echo " ✗ Hardware missing"
|
||||
echo ""
|
||||
echo "3. Project gradle.properties:"
|
||||
cat gradle.properties 2>/dev/null || echo " ✗ No gradle.properties in current dir"
|
||||
echo ""
|
||||
echo "4. Environment:"
|
||||
echo " FTC_SDK_DIR=$FTC_SDK_DIR"
|
||||
```
|
||||
|
||||
Save as `check-setup.sh` and run it in your project directory.
|
||||
Reference in New Issue
Block a user