Fixing so many tests

This commit is contained in:
Eric Ratliff
2026-02-02 23:08:22 -06:00
parent 38f1e0f3ed
commit 5f68bde615
5 changed files with 49 additions and 121 deletions

View File

@@ -133,11 +133,6 @@ deploy.bat
java
}}
repositories {{
mavenCentral()
google()
}}
dependencies {{
// Testing (runs on PC without SDK)
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
@@ -200,8 +195,18 @@ tasks.register<Exec>("buildApk") {{
"#, sdk_path, sdk_path);
fs::write(project_path.join("build.gradle.kts"), build_gradle)?;
// settings.gradle.kts
let settings_gradle = format!("rootProject.name = \"{}\"\n", self.name);
// settings.gradle.kts - Repositories go here in Gradle 8+
let settings_gradle = format!(r#"rootProject.name = "{}"
// Repository configuration (Gradle 8+ prefers repositories in settings)
dependencyResolutionManagement {{
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {{
mavenCentral()
google()
}}
}}
"#, self.name);
fs::write(project_path.join("settings.gradle.kts"), settings_gradle)?;
// build.sh (Linux/Mac)

View File

@@ -1,11 +0,0 @@
[project]
project_name = "{{PROJECT_NAME}}"
created = "{{CREATION_DATE}}"
weevil_version = "{{WEEVIL_VERSION}}"
template = "{{TEMPLATE_NAME}}"
[ftc]
sdk_version = "10.1.1"
[build]
gradle_version = "8.5"

View File

@@ -1,86 +1,27 @@
// Generated by Weevil {{WEEVIL_VERSION}} on {{CREATION_DATE}}
package robot.{{PACKAGE_NAME}};
import com.qualcomm.robotcore.eventloop.opmode.OpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;
package robot.opmodes;
/**
* Basic OpMode template for {{PROJECT_NAME}}
* Basic OpMode for {{PROJECT_NAME}}
*
* This is a minimal starting point for your robot code.
* Add your hardware and control logic here.
* This is a placeholder to demonstrate project structure.
* To use this with FTC SDK:
* 1. Run: weevil deploy {{PROJECT_NAME}}
* 2. Add FTC SDK imports (OpMode, TeleOp, etc.)
* 3. Extend OpMode and implement methods
*
* For local testing (without robot), write unit tests in src/test/java/robot/
* Run tests with: ./gradlew test
*
* Created by Weevil {{WEEVIL_VERSION}}
* Template: {{TEMPLATE_NAME}}
*/
@TeleOp(name = "{{PROJECT_NAME}}: Basic", group = "TeleOp")
public class BasicOpMode extends OpMode {
public class BasicOpMode {
// Declare your hardware here
// private DcMotor leftMotor;
// private DcMotor rightMotor;
// This placeholder compiles without FTC SDK dependencies
// Replace with actual OpMode code when deploying to robot
/**
* Initialize hardware and setup
*/
@Override
public void init() {
// Initialize your hardware
// leftMotor = hardwareMap.get(DcMotor.class, "left_motor");
// rightMotor = hardwareMap.get(DcMotor.class, "right_motor");
telemetry.addData("Status", "{{PROJECT_NAME}} initialized");
telemetry.addData("Created", "Weevil {{WEEVIL_VERSION}}");
telemetry.update();
}
/**
* Runs repeatedly after init, before play
*/
@Override
public void init_loop() {
telemetry.addData("Status", "Waiting for start...");
telemetry.update();
}
/**
* Runs once when play is pressed
*/
@Override
public void start() {
telemetry.addData("Status", "Running!");
telemetry.update();
}
/**
* Main control loop - runs repeatedly during play
*/
@Override
public void loop() {
// Add your control code here
// Example: Read gamepad and control motors
// double leftPower = -gamepad1.left_stick_y;
// double rightPower = -gamepad1.right_stick_y;
// leftMotor.setPower(leftPower);
// rightMotor.setPower(rightPower);
// Update telemetry
telemetry.addData("Status", "Running");
telemetry.addData("Project", "{{PROJECT_NAME}}");
// telemetry.addData("Left Power", leftPower);
// telemetry.addData("Right Power", rightPower);
telemetry.update();
}
/**
* Runs once when stop is pressed
*/
@Override
public void stop() {
// Stop all motors
// leftMotor.setPower(0);
// rightMotor.setPower(0);
telemetry.addData("Status", "Stopped");
telemetry.update();
public static void main(String[] args) {
System.out.println("{{PROJECT_NAME}} - Ready for deployment");
System.out.println("Run: weevil deploy {{PROJECT_NAME}}");
}
}

View File

@@ -1,11 +0,0 @@
[project]
project_name = "{{PROJECT_NAME}}"
created = "{{CREATION_DATE}}"
weevil_version = "{{WEEVIL_VERSION}}"
template = "{{TEMPLATE_NAME}}"
[ftc]
sdk_version = "10.1.1"
[build]
gradle_version = "8.5"

View File

@@ -1,7 +1,18 @@
plugins {
id 'com.android.application'
// Build configuration for {{PROJECT_NAME}}
// This file is managed by the FTC SDK
buildscript {
repositories {
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.0'
}
}
apply plugin: 'com.android.application'
android {
namespace 'org.firstinspires.ftc.{{PACKAGE_NAME}}'
compileSdk 34
@@ -9,18 +20,11 @@ android {
defaultConfig {
applicationId 'org.firstinspires.ftc.{{PACKAGE_NAME}}'
minSdk 24
targetSdk 34
//noinspection ExpiredTargetSdkVersion
targetSdk 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
@@ -31,12 +35,12 @@ android {
sourceSets {
main {
java {
srcDirs = ['src/main/java']
srcDir 'src/main/java'
}
}
test {
java {
srcDirs = ['src/test/java']
srcDir 'src/test/java'
}
}
}