git_stamp 3.0.2
git_stamp: ^3.0.2 copied to clipboard
A tool to generate a git history that you can see when you run the application.
Git Stamp 🏷 #
Build-Time Git Integration in Your Flutter App
Table of contents #
🏞️ Preview #
Light | Dark |
---|---|
![]() |
![]() |
🕯️ Mechanism #
graph TD
CODE((SOURCE CODE))-->SYNC(flutter pub get)
SYNC-->BUILD(flutter build ...)
subgraph "App"
CODE
PUB
PUB((PACKAGES))-->CODE
end
subgraph "Git Stamp"
GIT_CLI(GIT CLI)-->GENERATOR
DART_CLI(DART CLI)-->GENERATOR
FLUTTER_CLI(FLUTTER CLI)-->GENERATOR
end
subgraph "Git Stamp CLI"
GENERATE
ADD
end
GENERATOR((GENERATOR))-->ADD(~$ dart pub add git_stamp)
ADD-->|Add package|PUB
GENERATOR-->GENERATE(~$ dart run git_stamp)
GENERATE-->|Create ./git_stamp directory with .dart files|CODE
🛠️ Installation #
If you use url_launcher
generation, add the package to pubspec.yaml
:
dependencies:
url_launcher: ^6.2.3
dev_dependencies:
git_stamp:
git:
url: https://github.com/arononak/git_stamp
ref: main
Warning
Add badge to your README.md
[](https://github.com/arononak/git_stamp)
Important
Add git_stamp to .gitignore.
echo "lib/git_stamp/" >> .gitignore
.
🏗️ Generating #
CLI Command | Build type | Use url_launcher |
Generate Flutter UI Files |
---|---|---|---|
dart run git_stamp |
LITE | DISABLED | YES |
dart run git_stamp --build-type full --gen-url-launcher enabled |
FULL | ENABLED | YES |
dart run git_stamp --gen-only build-branch,build-date-time |
CUSTOM | DISABLED | NO |
Caution
Generating requires the use of the git
command-line interface (CLI).
gen-only parameters |
---|
commit-list |
diff-list |
repo-creation-date |
build-branch |
build-date-time |
build-system-info |
repo-path |
observed-files-list |
Important
If you use Github Action, you only get a single commit because GitHub Actions by default only retrieves the latest version (single commit) and does not include the full history of the repository. This is normal behavior to optimize the build process and improve performance, especially for large repositories. Try configuring github actions or generating Git Stamp files before git push
.
💻 Usage #
Default usage:
if (isProd == false) ...[
IconButton(
onPressed: () => showGitStampPage(context: context),
icon: const Icon(Icons.book),
),
],
Advanced usage:
Central GitStamp node:
class GitStamp {
static List<GitStampCommit> commitList
static GitStampCommit latestCommit
static const Map<String, String> diffList
static const String buildBranch
static const String buildDateTime
static const String buildSystemInfo
static const String repoCreationDate
static const String repoPath
static const String observedFilesList
static const bool isLiteVersion
}
Example usage:
import 'git_stamp.dart';
Text('Version: v1.2.3'),
Text('Build: 1234'),
Text('Branch: ${GitStamp.buildBranch}'),
Text('SHA: ${GitStamp.latestCommit.hash}'),
🔧 Git Stamp - Development #
Step | Description |
---|---|
🔧 Run pana command |
Check 160/160 points |
📸 New SS | Create a new screenshots |
🏷️ New tag and push | Deploy every Wednesday ! |
📝 License #
Note
Copyright © 2024 Aron Onak. All rights reserved.
Licensed under the MIT license.
If you have any feedback, please contact me at arononak@gmail.com