Files
FTC-Project-Gen/TROUBLESHOOTING.md
Eric Ratliff 81452a8670 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
2026-01-13 23:58:43 -06:00

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:

  1. Check if SDK exists:
ls ~/ftc-sdk
# Should show: FtcRobotController, RobotCore, Hardware, etc.
  1. 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
  1. Check your project's gradle.properties:
cat gradle.properties
# Should show: ftcSdkDir=/home/yourusername/ftc-sdk
  1. Update if path is wrong:
echo "ftcSdkDir=$HOME/ftc-sdk" > gradle.properties
  1. 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.