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
2.1 KiB
2.1 KiB
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:
- Check if SDK exists:
ls ~/ftc-sdk
# Should show: FtcRobotController, RobotCore, Hardware, etc.
- If SDK doesn't exist, clone it:
git clone --depth 1 --branch v10.1.1 \
https://github.com/FIRST-Tech-Challenge/FtcRobotController.git \
~/ftc-sdk
- Check your project's
gradle.properties:
cat gradle.properties
# Should show: ftcSdkDir=/home/yourusername/ftc-sdk
- Update if path is wrong:
echo "ftcSdkDir=$HOME/ftc-sdk" > gradle.properties
- Try again:
./gradlew test
Error: Can't find SDK at specified path
Solution: Set environment variable:
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:
cd ~/ftc-sdk
git fetch --tags
git checkout v10.1.1 # or whatever version you need
Fresh Start
If all else fails:
# 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:
#!/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.