Pigeon and Profile configuration#26
Pigeon and Profile configuration#26ElectricCookie wants to merge 64 commits intocircus-kitchens:mainfrom
Conversation
Co-authored-by: Tobias Ottenweller <tobias@circuskitchens.com>
…ircus-kitchens#30) Bumps com.android.tools.build:gradle from 7.3.1 to 8.1.1. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* bump flutter version to current * update example sdk version * update flutter version for github actions * correct formatting step
…s#31) * Bump kotlin_version from 1.7.10 to 1.9.10 in /android Bumps `kotlin_version` from 1.7.10 to 1.9.10. Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.7.10 to 1.9.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md) - [Commits](JetBrains/kotlin@v1.7.10...v1.9.10) Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk7` from 1.7.10 to 1.9.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md) - [Commits](JetBrains/kotlin@v1.7.10...v1.9.10) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Bump kotlin_version from 1.7.10 to 1.9.10 in /android Bumps `kotlin_version` from 1.7.10 to 1.9.10. Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.7.10 to 1.9.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md) - [Commits](JetBrains/kotlin@v1.7.10...v1.9.10) Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk7` from 1.7.10 to 1.9.10 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md) - [Commits](JetBrains/kotlin@v1.7.10...v1.9.10) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update build.gradle * Update example project --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tobias Ottenweller <tobias@circuskitchens.com>
…ircus-kitchens#34) Bumps com.android.tools.build:gradle from 8.1.1 to 8.1.2. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump version 2.1.0 * Update changelog.
Bumps [lints](https://github.com/dart-lang/lints) from 2.1.1 to 3.0.0. - [Release notes](https://github.com/dart-lang/lints/releases) - [Changelog](https://github.com/dart-lang/lints/blob/main/CHANGELOG.md) - [Commits](dart-archive/lints@v2.1.1...v3.0.0) --- updated-dependencies: - dependency-name: lints dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ircus-kitchens#36) * feat: add option to initialize method to skip profile creation * chore: upgrade dependencies * refactor: update generated classes * feat: expand capabilities of Example application * feat: add Android Code to handle GetProfilesList and GetActiveProfile * feat: GetProfiles and ActiveProfiles functions are now available * refactor: restrcuture package so that we control what we export * chore: update README * fix: remove profileName form constrcutor * fix: use older UUID version * refactor: make comman in ActionResult String again * feat: add convenience function for logging * fix: wrong comparison * fix: adnroid native code issues * refactor: remove unused method getPlatformVersion * chore: update CHANGELOG and pubspec for prerelease * Fix usage of correct result. --------- Co-authored-by: Tobias Ottenweller <tobias@circuskitchens.com>
Bumps [uuid](https://github.com/Daegalus/dart-uuid) from 3.0.7 to 4.2.1. - [Release notes](https://github.com/Daegalus/dart-uuid/releases) - [Changelog](https://github.com/daegalus/dart-uuid/blob/main/CHANGELOG.md) - [Commits](daegalus/dart-uuid@3.0.7...4.2.1) --- updated-dependencies: - dependency-name: uuid dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…s#39) Bumps `kotlin_version` from 1.9.10 to 1.9.20. Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.10 to 1.9.20 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/commits) Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk7` from 1.9.10 to 1.9.20 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/commits) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ircus-kitchens#42) Bumps com.android.tools.build:gradle from 8.1.2 to 8.1.4. --- updated-dependencies: - dependency-name: com.android.tools.build:gradle dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
I have merged the changes from main that were causing conflicts and have updated the flutter plugins for gradle https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply I have tried this with a Zebra TC58 and it has been working. Only known issue is a problem where the creation of a profile fails if its already existing. (Even when passing the CREATE_IF_NOT_EXIST flag). Hapy to receive feedback on moving this forward. Not every parameter is implemented yet but I think this is a good start :) |
|
Thank you very much for contributing 🎉 We need more time to fully understand the implication of your changes. Which feature do you still have planned, or what is still missing? Otherwise, looking forward to your future changes! |
|
I currently don't plan to add more features, due to time constraints The current implementation covers configuring the barcode plugin quite well. Enterprise keyboard and other plugins are not really relevant at the moment to me so I skipped those for now. Adding them should not really be a big issue, its just a matter of implementing the parameters in the pigeon file and mapping them to the intents in Kotlin. |
|
Alright, thanks for the update. Please us know when you PR is ready to get tested and reviewed. We can make sure all works on a TC21 as well. And no worries about missing features, we can add them step by step later on. |
|
You can start testing, I will see if I can resolve the new conflicts in the coming week. Cheers |
Synthesize findings from parallel research agents into cohesive summary. Identifies two-phase roadmap: (1) dependency modernization + Android build verification, (2) release automation + semantic versioning. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…stable - sdk: >=3.0.0 -> >=3.11.0 <4.0.0 (SDK-01) - flutter: >=3.13.1 -> >=3.41.0 (SDK-02) - async: ^2.11.0 -> ^2.13.0 - collection: ^1.17.1 -> ^1.19.1 - freezed_annotation: ^3.0.0 -> ^3.1.0 - json_annotation: ^4.8.0 -> ^4.11.0 - stream_transform: ^2.1.0 -> ^2.1.1 - strict_json: ^2.0.6 -> ^2.4.0 - build_runner: ^2.4.6 -> ^2.13.1 - json_serializable: ^6.6.1 -> ^6.8.0 (fell back from 6.13.1 due to analyzer conflict with pigeon 26.2.3) - flutter pub get succeeds with no version conflict errors
- Updated ROADMAP.md plan progress (1/3 summaries for phase 01) - Marked requirements SDK-01, SDK-02, SDK-03, SDK-04 complete
…, Kotlin 2.3.20 - Delete android/build.gradle (Groovy DSL) - Create android/build.gradle.kts (Kotlin DSL) with AGP 8.7.3 and Kotlin 2.3.20 - Update gradle wrapper to gradle-9.4.1-all.zip - Update example/android/settings.gradle.kts to AGP 8.7.3, Kotlin 2.3.20
…n DSL and API compat - Rewrite generate.sh to use dart run pigeon (remove deprecated flags) - Regenerate lib/src/pigeon.dart and Pigeon.kt via new Pigeon CLI - Add abstract keyword to ActionResult, ScanResult, ScannerStatus (Freezed 3.x) - Regenerate all .freezed.dart and .g.dart files - Fix DataWedgeFlutterApi.setup -> setUp (Pigeon API rename) - Fix android/build.gradle.kts as proper Kotlin DSL library module file - Migrate compileSdk to 36, jvmTarget to JVM_11 via compilerOptions DSL - Update all Kotlin enum references for new SCREAMING_SNAKE_CASE names - Fix example/android/app/build.gradle.kts kotlinOptions -> compilerOptions DSL - Fix const_with_non_const in example/test/widget_test.dart - Android build succeeds: BUILD SUCCESSFUL
- Create 01-02-SUMMARY.md with full execution details - Update STATE.md: advance to plan 3, add decisions, metrics - Update ROADMAP.md: plan 2/3 complete for phase 01 - Update REQUIREMENTS.md: mark AND-01..04, GEN-01..04 complete
- Create test/flutter_datawedge_test.dart with passing placeholder test - Establishes test gate for CI pipeline
…move pub.dev workflow - Rewrite pull_request.yml with stable channel (remove version pin per D-05) - Add android-build job: Java 17 temurin, flutter build apk --release in example/ - Add test job: flutter test with needs [lint] gate - Update dart format exclusions to cover *.freezed.dart and *.g.dart - Upgrade checkout action from v3 to v4 - Delete publish-to-pub.dev.yml (per D-11, consumed via git deps not pub.dev)
- Add 01-03-SUMMARY.md: CI pipeline with lint + android-build + test jobs - Update STATE.md: Phase 1 complete, all 3 plans executed, decisions logged - Update ROADMAP.md: Phase 01 progress 3/3 (Complete) - Update REQUIREMENTS.md: CI-01..CI-05, TST-01, TST-02 marked complete
Wave 1: 02-01 — v3.0.0 baseline tag + CHANGELOG.md header Wave 2: 02-02 — release.yml with mtrust-api-guard automation Covers VER-01, VER-02, VER-03, VER-04. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace old manual changelog format with Keep a Changelog standard - Header-only file; first release entry will be appended by mtrust-api-guard - HTML comment guards against manual edits
- v3.0.0 annotated tag on original fork commit 8f2e65c - CHANGELOG.md with Keep a Changelog header (header-only per D-10) - STATE.md updated: plan 2 of 2, new decisions logged - ROADMAP.md updated with phase 2 progress Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ioning
- 4-job workflow: lint, android-build, test, release
- release job gates on all CI jobs passing (needs: lint, android-build, test)
- fetch-depth: 0 ensures full git history for mtrust-api-guard tag comparison
- mtrust-api-guard 6.0.4 detects API changes and produces semver bump
- graceful skip when change_type == 'none' (no API changes, no release)
- idempotency check: tag_exists detection prevents duplicate releases
- git bot config set before commit (github-actions[bot] identity)
- pubspec.yaml version bumped via sed on version: line
- CHANGELOG.md updated via awk injection after automation guard comment
- annotated git tag v{version} created and pushed
- GitHub Release created via gh CLI with changelog body
- paths-ignore prevents spurious release runs on workflow/doc changes
Hello,
this is an ongoing effort to add the option to configure the profile from flutter.
Currently I've been able to port roughly 120 of the parameters of DataWedge to be callable from Flutter.
To not get lost in types, I ported the communication to pigeon
My goal is to have at least also the encoder parameters in flutter to choose between different barcodes.
Note: Since this also changes what this library can do I will have to make breaking changes to the API.