From 78f9bcdda5373c4b528d7445e8193914c1eb372e Mon Sep 17 00:00:00 2001
From: Ryan <46634687+ryanidk@users.noreply.github.com>
Date: Wed, 24 Apr 2024 20:00:55 -0400
Subject: [PATCH 01/12] Update README.md
---
README.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 47 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 4820fe9..e861be3 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,56 @@
# MergeData
-Robot scouting app developed by FRC Team 2706 Merge Robotics.
-
Now featuring... a working Google Sheets integration!!!
+#### A scouting app for the FIRST Robotics Competition developed by Team 2706 Merge Robotics.
-## Documentation
+View App . Quick Start Guide . Frequently Asked Questions
+
+
+ Table of Contents
+
+ - Features
+ - View App
+ - Description
+ - Quick Start Guide
+ - Frequently Asked Questions
+ - License
+ - Support
+
+
+
+
+
+## Features:
+### **Modular**
+* Every season, a new JSON file is created, which controls all the questions in the app. You can easily tweak it anytime to reflect changes to your scouting procedure. No coding skills needed!
+### **Universal**
+* We use Flutter, a framework compatible with most platforms, including iOS, Android, and in a web browser.
+### **Google Sheets Integration**
+* Scouts can save and send data to a Google Sheets spreadsheet after the scouting is done.
+
+
+
+## View App
+Our app is hosted on GitHub Pages at https://mergedata.ca. It is also available on the Apple App Store and as an APK for Android devices.
+
+
+## Description
+MergeData is a modular FRC scouting app that is designed to be run on any device, including devices running iOS, Android, Windows, GNU/Linux, and macOS. Every season, a configuration file (JSON) gets created which allows the scouting questions to be easily changed to collect any data that is important for your team's scouting strategy. When done scouting, the data can be saved locally, scanned by other devices via a QR code, or uploaded to a Google Sheets spreadsheet.
+
+
+
+## Quick Start Guide
+Installation instructions coming soon TM
+
+
+
+## Frequently Asked Questions
Coming soon TM
+
+
## License
This project is under the Apache 2.0 license, please read the `LICENSE` file for more information.
+
+
## Support
For support, bug reports, or feature requests, please create an issue [here](https://github.com/FRC2706/MergeData/issues).
From 67071ca2ea300084bd069f199f866dc29103e27c Mon Sep 17 00:00:00 2001
From: Ryan <46634687+ryanidk@users.noreply.github.com>
Date: Wed, 24 Apr 2024 20:01:53 -0400
Subject: [PATCH 02/12] Update README.md
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index e861be3..878e797 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# MergeData
#### A scouting app for the FIRST Robotics Competition developed by Team 2706 Merge Robotics.
-View App . Quick Start Guide . Frequently Asked Questions
+View App · Quick Start Guide · Frequently Asked Questions
Table of Contents
@@ -24,7 +24,7 @@
### **Universal**
* We use Flutter, a framework compatible with most platforms, including iOS, Android, and in a web browser.
### **Google Sheets Integration**
-* Scouts can save and send data to a Google Sheets spreadsheet after the scouting is done.
+* Scouts can save and send data to a Google Sheets spreadsheet once scouting is done.
From 007d00dafd5c03fadfb01ad48fc9062f8a0fefc9 Mon Sep 17 00:00:00 2001
From: Ryan <46634687+ryanidk@users.noreply.github.com>
Date: Wed, 24 Apr 2024 20:02:23 -0400
Subject: [PATCH 03/12] Update README.md
---
README.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/README.md b/README.md
index 878e797..bb81419 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,7 @@
Our app is hosted on GitHub Pages at https://mergedata.ca. It is also available on the Apple App Store and as an APK for Android devices.
+
## Description
MergeData is a modular FRC scouting app that is designed to be run on any device, including devices running iOS, Android, Windows, GNU/Linux, and macOS. Every season, a configuration file (JSON) gets created which allows the scouting questions to be easily changed to collect any data that is important for your team's scouting strategy. When done scouting, the data can be saved locally, scanned by other devices via a QR code, or uploaded to a Google Sheets spreadsheet.
From eb864fab7a42e7954381d262f237481c24e605b2 Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 14:39:09 -0500
Subject: [PATCH 04/12] add 2025
---
assets/games/2025.json | 178 +++++++++++++++++++++++++++++++++++++++++
assets/pit/2025.json | 55 +++++++++++++
lib/main.dart | 2 +-
pubspec.lock | 44 +++++-----
pubspec.yaml | 4 +-
5 files changed, 258 insertions(+), 25 deletions(-)
create mode 100644 assets/games/2025.json
create mode 100644 assets/pit/2025.json
diff --git a/assets/games/2025.json b/assets/games/2025.json
new file mode 100644
index 0000000..a9d8b75
--- /dev/null
+++ b/assets/games/2025.json
@@ -0,0 +1,178 @@
+{
+ "Pre-Match": [
+ {
+ "name": "Scouter Name",
+ "required": true,
+ "type": "text"
+ },
+ {
+ "name": "Event",
+ "choices": ["Niagara", "North Bay", "DCMP"],
+ "required": true,
+ "type": "radio"
+ },
+ {
+ "name": "Alliance Station",
+ "choices": ["Red 1", "Red 2", "Red 3", "Blue 1", "Blue 2", "Blue 3"],
+ "required": false,
+ "type": "radio"
+ },
+ {
+ "name": "Match #",
+ "required": true,
+ "type": "number"
+ },
+ {
+ "name": "Team #",
+ "required": true,
+ "type": "number"
+ },
+ {
+ "name": "Starting Postition",
+ "choices": ["Left", "Middle", "Right"],
+ "required": true,
+ "type": "radio"
+ }
+ ],
+
+ "Autonomous": [
+ {
+ "name": "Crossed Starting Line",
+ "type": "bool"
+ },
+ {
+ "name": "Auto Coral scored on L1 (bottom)",
+ "type": "counter"
+ },
+ {
+ "name": "Auto Coral scored on L2 (branch)",
+ "type": "counter"
+ },
+ {
+ "name": "Auto Coral scored on L3 (branch)",
+ "type": "counter"
+ },
+ {
+ "name": "Auto Coral scored on L4 (branch)",
+ "type": "counter"
+ },
+ {
+ "name": "Auto # of Coral Dropped",
+ "type": "counter"
+ },
+ {
+ "name": "Auto Coral Pickup Location",
+ "type": "radio",
+ "required": true,
+ "choices": ["Floor", "Human Player Sation", "Both"]
+ },
+ {
+ "name": "Auto # of Algae Removed from Reef",
+ "type": "counter"
+ },
+ {
+ "name": "Auto # of Algae scored in Processor",
+ "type": "counter"
+ },
+ {
+ "name": "Auto # of Algae scored in Net",
+ "type": "counter"
+ },
+ {
+ "name": "Auto # of Algae Dropped",
+ "type": "counter"
+ },
+ {
+ "name": "Comments on Auto",
+ "type": "text"
+ }
+ ],
+
+ "TeleOp": [
+ {
+ "name": "TeleOp Coral scored on L1 (bottom)",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Coral scored on L2 (branch)",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Coral scored on L3 (branch)",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Coral scored on L4 (branch)",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Coral Dropped",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Coral Pickup Location",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Algae Harvested from Reef",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Algae scored in Processor",
+ "type": "counter"
+ },
+ {
+ "name": "TeleOp Algae Scored in Net by Robot",
+ "type": "counter"
+ },
+ {
+ "name": "Teleop Algae Dropped",
+ "type": "counter"
+ }
+ ],
+
+
+
+ "EndGame": [
+ {
+ "name": "Attempted Climb?",
+ "type": "bool"
+ },
+ {
+ "name": "Ending Position",
+ "type": "radio",
+ "required": false,
+ "choices": ["None", "Parked", "High Climb", "Low Climb"]
+ }
+ ],
+
+
+ "PostMatch": [
+ {
+ "name": "Defence Rating",
+ "type": "radio",
+ "required": true,
+ "choices": ["1", "2", "3", "4", "5", "N/A"]
+ },
+ {
+ "name": "Ability to withstand defence",
+ "type": "radio",
+ "required": true,
+ "choices": ["1", "2", "3", "4", "5", "N/A"]
+ },
+ {
+ "name": "Did they die during the match?",
+ "type": "bool"
+ },
+ {
+ "name": "Main Cycle",
+ "type": "text",
+ "required": false
+ },
+ {
+ "name": "Comments",
+ "type": "text",
+ "required": false
+ }
+ ]
+}
\ No newline at end of file
diff --git a/assets/pit/2025.json b/assets/pit/2025.json
new file mode 100644
index 0000000..a8ce5e1
--- /dev/null
+++ b/assets/pit/2025.json
@@ -0,0 +1,55 @@
+{
+ "Pit": [
+ {
+ "name": "Scout name",
+ "required": true,
+ "type": "text"
+ },
+ {
+ "name": "Team number",
+ "required": false,
+ "type": "number"
+ },
+ {
+ "name": "Weight (lbs)",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "name": "Drivetrain type",
+ "choices": ["Swerve", "Tank", "Butterfly/Grasshopper", "Mecanum", "Other"],
+ "required": false,
+ "type": "radio"
+ },
+ {
+ "name": "Other drivetrain",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "name": "Where can you pick up from?",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "name": "Autos",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "name": "Where can they score?",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "name": "Endgame: Can they climb?",
+ "required": false,
+ "type": "text"
+ },
+ {
+ "name": "Other comments",
+ "required": false,
+ "type": "text"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/lib/main.dart b/lib/main.dart
index ef85224..f9fb1c9 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:merge_data/screens/start.dart';
-const CURRENT_YEAR = 2024;
+const CURRENT_YEAR = 2025;
const API_ENDPOINT = "https://ryanidkproductions.com/api/mergedata";
void main() {
diff --git a/pubspec.lock b/pubspec.lock
index 55f58c1..363900f 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -53,10 +53,10 @@ packages:
dependency: transitive
description:
name: collection
- sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+ sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev"
source: hosted
- version: "1.18.0"
+ version: "1.19.0"
crypto:
dependency: transitive
description:
@@ -188,26 +188,26 @@ packages:
dependency: transitive
description:
name: leak_tracker
- sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
+ sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev"
source: hosted
- version: "10.0.0"
+ version: "10.0.7"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
- sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
+ sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev"
source: hosted
- version: "2.0.1"
+ version: "3.0.8"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
- sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
+ sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
- version: "2.0.1"
+ version: "3.0.1"
lints:
dependency: transitive
description:
@@ -228,18 +228,18 @@ packages:
dependency: transitive
description:
name: material_color_utilities
- sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
- version: "0.8.0"
+ version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
- sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
+ sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
- version: "1.11.0"
+ version: "1.15.0"
path:
dependency: transitive
description:
@@ -388,7 +388,7 @@ packages:
dependency: transitive
description: flutter
source: sdk
- version: "0.0.99"
+ version: "0.0.0"
source_span:
dependency: transitive
description:
@@ -401,10 +401,10 @@ packages:
dependency: transitive
description:
name: stack_trace
- sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+ sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev"
source: hosted
- version: "1.11.1"
+ version: "1.12.0"
stream_channel:
dependency: transitive
description:
@@ -417,10 +417,10 @@ packages:
dependency: transitive
description:
name: string_scanner
- sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.3.0"
term_glyph:
dependency: transitive
description:
@@ -433,10 +433,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
+ sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev"
source: hosted
- version: "0.6.1"
+ version: "0.7.3"
typed_data:
dependency: transitive
description:
@@ -545,10 +545,10 @@ packages:
dependency: transitive
description:
name: vm_service
- sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
+ sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev"
source: hosted
- version: "13.0.0"
+ version: "14.3.0"
web:
dependency: transitive
description:
@@ -582,5 +582,5 @@ packages:
source: hosted
version: "6.5.0"
sdks:
- dart: ">=3.3.0 <4.0.0"
+ dart: ">=3.4.0 <4.0.0"
flutter: ">=3.19.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index d41512b..020fe15 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -69,12 +69,12 @@ flutter:
# - images/a_dot_ham.jpeg
assets:
- assets/games/2024.json
- #- assets/games/2025.json
+ - assets/games/2025.json
#- assets/games/2026.json
#- assets/games/2027.json
#- assets/games/2028.json
- assets/pit/2024.json
- #- assets/pit/2025.json
+ - assets/pit/2025.json
#- assets/pit/2026.json
#- assets/pit/2027.json
#- assets/pit/2028.json
From aaad7b8f101918f1a5c88404fc88de844d92118d Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 14:39:41 -0500
Subject: [PATCH 05/12] add workflow
---
.github/workflows/build-deploy.yml | 153 +++++++++++++++--------------
1 file changed, 77 insertions(+), 76 deletions(-)
diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml
index feed4f1..3e7b376 100644
--- a/.github/workflows/build-deploy.yml
+++ b/.github/workflows/build-deploy.yml
@@ -4,6 +4,7 @@ on:
push:
branches:
- main
+ - ryan-2025-update
pull_request:
branches:
- main
@@ -12,80 +13,80 @@ jobs:
build_web_and_apk:
name: Build Web and APK
runs-on: ubuntu-latest
-
+
steps:
- - name: Checkout code
- uses: actions/checkout@v2
-
- - name: Install Flutter
- uses: subosito/flutter-action@v1
- with:
- flutter-version: '3.x'
-
- - name: Get dependencies
- run: flutter pub get
-
- - name: Test
- run: flutter test --coverage
-
- - name: Build web release project
- run: flutter build web
-
- - name: Create CNAME file
- run: echo "mergedata.ca" > ./build/web/CNAME
-
- - name: Upload web production-ready build files
- uses: actions/upload-artifact@v2
- with:
- name: production-files
- path: ./build/web
-
- - name: Deploy to GitHub Pages
- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- uses: peaceiris/actions-gh-pages@v4
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./build/web
-
- - name: Build APK
- run: flutter build apk --release
-
- - name: Rename APK
- run: mv build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/MergeData.apk
-
- - name: Upload APK
- uses: actions/upload-artifact@v2
- with:
- name: MergeData.apk
- path: build/app/outputs/flutter-apk/MergeData.apk
-
- - name: Bump version and push tag
- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- id: create_tag
- uses: mathieudutour/github-tag-action@v6.2
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- default_bump: patch
-
- - name: Create Release
- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ steps.create_tag.outputs.new_tag }}
- release_name: Release ${{ steps.create_tag.outputs.new_tag }}
- draft: false
- prerelease: false
-
- - name: Upload Release Asset
- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: ./build/app/outputs/flutter-apk/MergeData.apk
- asset_name: MergeData.apk
- asset_content_type: application/vnd.android.package-archive
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Install Flutter
+ uses: subosito/flutter-action@v1
+ with:
+ flutter-version: "3.x"
+
+ - name: Get dependencies
+ run: flutter pub get
+
+ - name: Test
+ run: flutter test --coverage
+
+ - name: Build web release project
+ run: flutter build web
+
+ - name: Create CNAME file
+ run: echo "mergedata.ca" > ./build/web/CNAME
+
+ - name: Upload web production-ready build files
+ uses: actions/upload-artifact@v2
+ with:
+ name: production-files
+ path: ./build/web
+
+ - name: Deploy to GitHub Pages
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./build/web
+
+ - name: Build APK
+ run: flutter build apk --release
+
+ - name: Rename APK
+ run: mv build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/MergeData.apk
+
+ - name: Upload APK
+ uses: actions/upload-artifact@v2
+ with:
+ name: MergeData.apk
+ path: build/app/outputs/flutter-apk/MergeData.apk
+
+ - name: Bump version and push tag
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ id: create_tag
+ uses: mathieudutour/github-tag-action@v6.2
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ default_bump: patch
+
+ - name: Create Release
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ id: create_release
+ uses: actions/create-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ steps.create_tag.outputs.new_tag }}
+ release_name: Release ${{ steps.create_tag.outputs.new_tag }}
+ draft: false
+ prerelease: false
+
+ - name: Upload Release Asset
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: ./build/app/outputs/flutter-apk/MergeData.apk
+ asset_name: MergeData.apk
+ asset_content_type: application/vnd.android.package-archive
From 8ebb08f4a75aee6ddf9020cfa2d9cc3ba115bf24 Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 14:41:36 -0500
Subject: [PATCH 06/12] update workflow
---
.github/workflows/build-deploy.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml
index 3e7b376..d42b46d 100644
--- a/.github/workflows/build-deploy.yml
+++ b/.github/workflows/build-deploy.yml
@@ -16,7 +16,7 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Install Flutter
uses: subosito/flutter-action@v1
@@ -36,7 +36,7 @@ jobs:
run: echo "mergedata.ca" > ./build/web/CNAME
- name: Upload web production-ready build files
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: production-files
path: ./build/web
@@ -55,7 +55,7 @@ jobs:
run: mv build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/MergeData.apk
- name: Upload APK
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v4
with:
name: MergeData.apk
path: build/app/outputs/flutter-apk/MergeData.apk
From b56774b82a32989049b89ff1f3d8e94d1718495a Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 14:57:01 -0500
Subject: [PATCH 07/12] Update iOS deployment target and dependencies; modify
.gitignore and project settings
---
.gitignore | 2 +
ios/Flutter/AppFrameworkInfo.plist | 2 +-
ios/Podfile | 2 +-
ios/Podfile.lock | 10 +-
ios/Runner.xcodeproj/project.pbxproj | 8 +-
.../xcshareddata/xcschemes/Runner.xcscheme | 2 +-
ios/Runner/AppDelegate.swift | 2 +-
pubspec.lock | 158 +++++++++---------
pubspec.yaml | 7 +-
9 files changed, 94 insertions(+), 99 deletions(-)
diff --git a/.gitignore b/.gitignore
index 1402e01..8d12875 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,9 +7,11 @@
*.swp
.DS_Store
.atom/
+.build/
.buildlog/
.history
.svn/
+.swiftpm/
migrate_working_dir/
# IntelliJ related
diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist
index 9625e10..7c56964 100644
--- a/ios/Flutter/AppFrameworkInfo.plist
+++ b/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 11.0
+ 12.0
diff --git a/ios/Podfile b/ios/Podfile
index fdcc671..d97f17e 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+# platform :ios, '12.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 77b15ed..7154b01 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -31,12 +31,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
+ Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e
- shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
- url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
+ shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
+ url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
-PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189
+PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796
-COCOAPODS: 1.12.1
+COCOAPODS: 1.16.2
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index b60ff0f..b881986 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -215,7 +215,7 @@
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = YES;
- LastUpgradeCheck = 1430;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
331C8080294A63A400263BE5 = {
@@ -452,7 +452,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -580,7 +580,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -629,7 +629,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index 87131a0..8e3ca5d 100644
--- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
=3.4.0 <4.0.0"
- flutter: ">=3.19.0"
+ dart: ">=3.6.0 <4.0.0"
+ flutter: ">=3.27.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 020fe15..e982603 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -31,7 +31,8 @@ dependencies:
flutter:
sdk: flutter
- url_launcher: 6.2.6
+ url_launcher: ^6.3.1
+ url_launcher_ios: ^6.3.2
flutter_svg:
# The following adds the Cupertino Icons font to your application.
@@ -40,7 +41,7 @@ dependencies:
qr_flutter: ^4.1.0
qr_code_scanner: ^1.0.1
gsheets: ^0.5.0
- shared_preferences: ^2.2.3
+ shared_preferences: ^2.5.2
dev_dependencies:
flutter_test:
@@ -51,7 +52,7 @@ dev_dependencies:
# activated in the `analysis_options.yaml` file located at the root of your
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
- flutter_lints: ^3.0.2
+ flutter_lints: ^5.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
From dfcaf2662643da63a1be712e26839dba74c9cfbc Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 15:01:39 -0500
Subject: [PATCH 08/12] Update PRODUCT_BUNDLE_IDENTIFIER in project.pbxproj
---
ios/Runner.xcodeproj/project.pbxproj | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index b881986..7189c12 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -475,7 +475,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.mergerobotics.merge-data";
+ PRODUCT_BUNDLE_IDENTIFIER = com.team2706.mergedata;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
@@ -654,7 +654,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.mergerobotics.merge-data";
+ PRODUCT_BUNDLE_IDENTIFIER = com.team2706.mergedata;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -677,7 +677,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "com.mergerobotics.merge-data";
+ PRODUCT_BUNDLE_IDENTIFIER = com.team2706.mergedata;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
From 7b39226eacf24e87f3f056e11b1c40d040a8cf95 Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 15:06:50 -0500
Subject: [PATCH 09/12] bump kotlin to 1.9.25
---
android/build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/android/build.gradle b/android/build.gradle
index e83fb5d..041e887 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,5 +1,5 @@
buildscript {
- ext.kotlin_version = '1.7.10'
+ ext.kotlin_version = '1.9.25'
repositories {
google()
mavenCentral()
From 762935c1c923baa24aba8e99b6e3191177e135fb Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 15:28:56 -0500
Subject: [PATCH 10/12] Update Android Gradle plugin to 8.1.0 and increment
version in pubspec.yaml to 1.1.0
---
android/settings.gradle | 2 +-
pubspec.yaml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/android/settings.gradle b/android/settings.gradle
index 7cd7128..7ef64d7 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -23,7 +23,7 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
- id "com.android.application" version "7.3.0" apply false
+ id "com.android.application" version "8.1.0" apply false
}
include ":app"
diff --git a/pubspec.yaml b/pubspec.yaml
index e982603..9d8cac1 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
-version: 1.0.0+1
+version: 1.1.0+1
environment:
sdk: ">=3.2.3 <4.0.0"
From 05636840aec97d367387dc9142adfbb162786c5a Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 15:34:57 -0500
Subject: [PATCH 11/12] gradle upgrade
---
android/gradle/wrapper/gradle-wrapper.properties | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 3c472b9..cb086a5 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-all.zip
From 80735cb6e825c3f03997a5beaa76d0b8d5e551df Mon Sep 17 00:00:00 2001
From: ryanidk <46634687+ryanidk@users.noreply.github.com>
Date: Mon, 3 Mar 2025 15:43:14 -0500
Subject: [PATCH 12/12] feat: change to qr_code_scanner_plus
---
lib/screens/scan.dart | 2 +-
pubspec.lock | 16 ++++------------
pubspec.yaml | 2 +-
3 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/lib/screens/scan.dart b/lib/screens/scan.dart
index dcb3555..c9dcb55 100644
--- a/lib/screens/scan.dart
+++ b/lib/screens/scan.dart
@@ -5,7 +5,7 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/foundation.dart' show kIsWeb;
import 'package:flutter/services.dart';
import 'package:merge_data/screens/send_data.dart';
-import 'package:qr_code_scanner/qr_code_scanner.dart';
+import 'package:qr_code_scanner_plus/qr_code_scanner_plus.dart';
class ScanResultsPage extends StatefulWidget {
final String title;
diff --git a/pubspec.lock b/pubspec.lock
index cd07ecf..5578201 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -176,14 +176,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.1.2"
- js:
- dependency: transitive
- description:
- name: js
- sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
- url: "https://pub.dev"
- source: hosted
- version: "0.6.7"
leak_tracker:
dependency: transitive
description:
@@ -312,14 +304,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.2"
- qr_code_scanner:
+ qr_code_scanner_plus:
dependency: "direct main"
description:
- name: qr_code_scanner
- sha256: f23b68d893505a424f0bd2e324ebea71ed88465d572d26bb8d2e78a4749591fd
+ name: qr_code_scanner_plus
+ sha256: "39696b50d277097ee4d90d4292de36f38c66213a4f5216a06b2bdd2b63117859"
url: "https://pub.dev"
source: hosted
- version: "1.0.1"
+ version: "2.0.10+1"
qr_flutter:
dependency: "direct main"
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 9d8cac1..9ead1a4 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -39,7 +39,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.8
qr_flutter: ^4.1.0
- qr_code_scanner: ^1.0.1
+ qr_code_scanner_plus: ^2.0.7
gsheets: ^0.5.0
shared_preferences: ^2.5.2