Compare commits
5 Commits
39aa6f60be
...
v1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b6ba058b7 | ||
|
|
8add733514 | ||
|
|
8f12a0a09d | ||
|
|
655a213113 | ||
|
|
64826e2ce2 |
17
CHANGELOG.md
Normal file
17
CHANGELOG.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [1.0.0] - 2026-01-27
|
||||||
|
|
||||||
|
First stable release! 🎉
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Complete Windows deployment support
|
||||||
|
- Android SDK path in project configuration
|
||||||
|
- Robust cross-platform build and deployment scripts
|
||||||
|
- Project upgrade command with config migration
|
||||||
|
- Comprehensive test suite
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Windows APK discovery and deployment
|
||||||
|
- Batch file path parsing (quote handling)
|
||||||
|
- ADB integration and error reporting
|
||||||
@@ -511,7 +511,7 @@ Built with frustration at unnecessarily complex robotics frameworks, and hope th
|
|||||||
|
|
||||||
## Project Status
|
## Project Status
|
||||||
|
|
||||||
**Current Version:** 1.0.0-rc1
|
**Current Version:** 1.0.0
|
||||||
|
|
||||||
**What Works:**
|
**What Works:**
|
||||||
- ✅ Project generation
|
- ✅ Project generation
|
||||||
@@ -532,7 +532,7 @@ Built with frustration at unnecessarily complex robotics frameworks, and hope th
|
|||||||
|
|
||||||
**Questions? Issues? Suggestions?**
|
**Questions? Issues? Suggestions?**
|
||||||
|
|
||||||
📧 Email: [eric@nxws.dev](mailto:eric@nxws.dev)
|
📧 Email: [eric@nxlearn.net](mailto:eric@nxlearn.net)
|
||||||
🐛 Issues: Open an issue on the repository
|
🐛 Issues: Open an issue on the repository
|
||||||
|
|
||||||
Building better tools so you can build better robots. 🤖
|
Building better tools so you can build better robots. 🤖
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
This document outlines the planned feature development for Weevil across multiple versions. Features are subject to change based on user feedback, technical constraints, and market needs.
|
This document outlines the planned feature development for Weevil across multiple versions. Features are subject to change based on user feedback, technical constraints, and market needs.
|
||||||
|
|
||||||
**Current Version:** 1.0.0-rc1
|
|
||||||
**Next Release:** 1.1.0 (Target: TBD)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Version 1.1.0 - Core Stability & Team Adoption
|
## Version 1.1.0 - Core Stability & Team Adoption
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ use weevil::sdk::SdkConfig;
|
|||||||
fn test_config_create_and_save() {
|
fn test_config_create_and_save() {
|
||||||
let temp_dir = TempDir::new().unwrap();
|
let temp_dir = TempDir::new().unwrap();
|
||||||
let sdk_path = temp_dir.path().join("mock-sdk");
|
let sdk_path = temp_dir.path().join("mock-sdk");
|
||||||
|
let android_sdk_path = temp_dir.path().join("android-sdk");
|
||||||
|
|
||||||
// Create minimal SDK structure
|
// Create minimal SDK structure
|
||||||
fs::create_dir_all(sdk_path.join("TeamCode/src/main/java")).unwrap();
|
fs::create_dir_all(sdk_path.join("TeamCode/src/main/java")).unwrap();
|
||||||
@@ -20,10 +21,11 @@ fn test_config_create_and_save() {
|
|||||||
fs::write(sdk_path.join("build.gradle"), "// test").unwrap();
|
fs::write(sdk_path.join("build.gradle"), "// test").unwrap();
|
||||||
fs::write(sdk_path.join(".version"), "v10.1.1").unwrap();
|
fs::write(sdk_path.join(".version"), "v10.1.1").unwrap();
|
||||||
|
|
||||||
let config = ProjectConfig::new("test-robot", sdk_path.clone()).unwrap();
|
let config = ProjectConfig::new("test-robot", sdk_path.clone(), android_sdk_path.clone()).unwrap();
|
||||||
|
|
||||||
assert_eq!(config.project_name, "test-robot");
|
assert_eq!(config.project_name, "test-robot");
|
||||||
assert_eq!(config.ftc_sdk_path, sdk_path);
|
assert_eq!(config.ftc_sdk_path, sdk_path);
|
||||||
|
assert_eq!(config.android_sdk_path, android_sdk_path);
|
||||||
assert_eq!(config.weevil_version, "1.0.0");
|
assert_eq!(config.weevil_version, "1.0.0");
|
||||||
|
|
||||||
// Save and reload
|
// Save and reload
|
||||||
@@ -34,12 +36,14 @@ fn test_config_create_and_save() {
|
|||||||
let loaded = ProjectConfig::load(&project_path).unwrap();
|
let loaded = ProjectConfig::load(&project_path).unwrap();
|
||||||
assert_eq!(loaded.project_name, config.project_name);
|
assert_eq!(loaded.project_name, config.project_name);
|
||||||
assert_eq!(loaded.ftc_sdk_path, config.ftc_sdk_path);
|
assert_eq!(loaded.ftc_sdk_path, config.ftc_sdk_path);
|
||||||
|
assert_eq!(loaded.android_sdk_path, config.android_sdk_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_config_toml_format() {
|
fn test_config_toml_format() {
|
||||||
let temp_dir = TempDir::new().unwrap();
|
let temp_dir = TempDir::new().unwrap();
|
||||||
let sdk_path = temp_dir.path().join("sdk");
|
let sdk_path = temp_dir.path().join("sdk");
|
||||||
|
let android_sdk_path = temp_dir.path().join("android-sdk");
|
||||||
|
|
||||||
// Create minimal SDK
|
// Create minimal SDK
|
||||||
fs::create_dir_all(sdk_path.join("TeamCode/src/main/java")).unwrap();
|
fs::create_dir_all(sdk_path.join("TeamCode/src/main/java")).unwrap();
|
||||||
@@ -47,7 +51,7 @@ fn test_config_toml_format() {
|
|||||||
fs::write(sdk_path.join("build.gradle"), "// test").unwrap();
|
fs::write(sdk_path.join("build.gradle"), "// test").unwrap();
|
||||||
fs::write(sdk_path.join(".version"), "v10.1.1").unwrap();
|
fs::write(sdk_path.join(".version"), "v10.1.1").unwrap();
|
||||||
|
|
||||||
let config = ProjectConfig::new("my-robot", sdk_path).unwrap();
|
let config = ProjectConfig::new("my-robot", sdk_path, android_sdk_path).unwrap();
|
||||||
|
|
||||||
let project_path = temp_dir.path().join("project");
|
let project_path = temp_dir.path().join("project");
|
||||||
fs::create_dir_all(&project_path).unwrap();
|
fs::create_dir_all(&project_path).unwrap();
|
||||||
@@ -59,6 +63,7 @@ fn test_config_toml_format() {
|
|||||||
assert!(content.contains("weevil_version = \"1.0.0\""));
|
assert!(content.contains("weevil_version = \"1.0.0\""));
|
||||||
assert!(content.contains("ftc_sdk_path"));
|
assert!(content.contains("ftc_sdk_path"));
|
||||||
assert!(content.contains("ftc_sdk_version"));
|
assert!(content.contains("ftc_sdk_version"));
|
||||||
|
assert!(content.contains("android_sdk_path"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user