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 java
}} }}
repositories {{
mavenCentral()
google()
}}
dependencies {{ dependencies {{
// Testing (runs on PC without SDK) // Testing (runs on PC without SDK)
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
@@ -200,8 +195,18 @@ tasks.register<Exec>("buildApk") {{
"#, sdk_path, sdk_path); "#, sdk_path, sdk_path);
fs::write(project_path.join("build.gradle.kts"), build_gradle)?; fs::write(project_path.join("build.gradle.kts"), build_gradle)?;
// settings.gradle.kts // settings.gradle.kts - Repositories go here in Gradle 8+
let settings_gradle = format!("rootProject.name = \"{}\"\n", self.name); 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)?; fs::write(project_path.join("settings.gradle.kts"), settings_gradle)?;
// build.sh (Linux/Mac) // 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.opmodes;
package robot.{{PACKAGE_NAME}};
import com.qualcomm.robotcore.eventloop.opmode.OpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;
/** /**
* Basic OpMode template for {{PROJECT_NAME}} * Basic OpMode for {{PROJECT_NAME}}
* *
* This is a minimal starting point for your robot code. * This is a placeholder to demonstrate project structure.
* Add your hardware and control logic here. * 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 {
public class BasicOpMode extends OpMode {
// Declare your hardware here // This placeholder compiles without FTC SDK dependencies
// private DcMotor leftMotor; // Replace with actual OpMode code when deploying to robot
// private DcMotor rightMotor;
/** public static void main(String[] args) {
* Initialize hardware and setup System.out.println("{{PROJECT_NAME}} - Ready for deployment");
*/ System.out.println("Run: weevil deploy {{PROJECT_NAME}}");
@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();
} }
} }

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,6 +1,17 @@
plugins { // Build configuration for {{PROJECT_NAME}}
id 'com.android.application' // 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 { android {
namespace 'org.firstinspires.ftc.{{PACKAGE_NAME}}' namespace 'org.firstinspires.ftc.{{PACKAGE_NAME}}'
@@ -9,18 +20,11 @@ android {
defaultConfig { defaultConfig {
applicationId 'org.firstinspires.ftc.{{PACKAGE_NAME}}' applicationId 'org.firstinspires.ftc.{{PACKAGE_NAME}}'
minSdk 24 minSdk 24
targetSdk 34 //noinspection ExpiredTargetSdkVersion
targetSdk 28
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
} }
compileOptions { compileOptions {
@@ -31,12 +35,12 @@ android {
sourceSets { sourceSets {
main { main {
java { java {
srcDirs = ['src/main/java'] srcDir 'src/main/java'
} }
} }
test { test {
java { java {
srcDirs = ['src/test/java'] srcDir 'src/test/java'
} }
} }
} }