diff --git a/README.md b/README.md index ba40497..9437128 100644 --- a/README.md +++ b/README.md @@ -5,165 +5,250 @@ A Blazingly Fast way to configure your Bleeding Edge flutter project to be produ [![pub package][package_svg]][package] [![GitHub][license_svg]](LICENSE) -[![GitHub issues][issues_svg]][issues] -[![GitHub issues closed][issues_closed_svg]][issues_closed] +--- -
+
+Every coffee helps fuel late-night coding sessions and the occasional existential crisis about regex patterns. 🤔☕
+
+## 🌍 Platform Support
+
+| Android | iOS | Linux | macOS | Web | Windows |
+| :-----: | :-: | :---: | :---: | :-: | :-----: |
+| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
+
+Full support across all platforms - because consistency is key! 🔑
+
+## 🚀 Quick Start
+
+### 1. Add to Dependencies
+
+Add `package_rename` to your `pubspec.yaml` under `dev_dependencies`:
```yaml
dev_dependencies:
package_rename: ^1.10.0
```
-#### Create configuration
-
-You can create configurations by adding `package_rename_config` key in:
-
-1. Root `pubspec.yaml` file
-1. `package_rename_config.yaml` file at root of your project or a custom folder in the project
+### 2. Create Configuration
-## Usage
+You can configure the package in one of two ways (choose your fighter 🥊):
-#### Adding Platform Specific Configurations
+**Option A: `pubspec.yaml`** (Keep it all in one place)
```yaml
package_rename_config:
android:
- app_name: # (String) The display name of the android app
- package_name: # (String) The package name of the android app
- override_old_package: # (Optional) (String) Use this to delete the old folder structure of MainActivity or to use the existing code with the new package name
- lang: # (Optional) (String) The android development language {kotlin(default) or java}
+ app_name: "My Awesome App"
+ package_name: "com.example.awesome_app"
+ # ... other platforms
+```
- ios:
- app_name: # (String) The display name of the ios app
- bundle_name: # (String) The bundle name of the ios app
- package_name: # (String) The product bundle identifier of the ios app
+**Option B: `package_rename_config.yaml`** (Keep it clean)
- linux:
- app_name: # (String) The window title of the linux app
- package_name: # (String) The application id of the linux app
- exe_name: # (String) The executable name (binary name) of the linux app
+Create a file named `package_rename_config.yaml` at the root of your project.
- macos:
- app_name: # (String) The product name of the macos app
- package_name: # (String) The product bundle identifier of the macos app
- copyright_notice: # (String) The product copyright of the macos app
+### 3. Run the Magic Command 🪄
- web:
- app_name: # (String) The title of the web app and PWA
- short_app_name: # (String) The short display name of the PWA (Optional, defaults to app_name if not set)
- description: # (String) The description of the web app and PWA
+Execute the command and watch the magic happen:
- windows:
- app_name: # (String) The window title & software name of the windows app
- organization: # (String) The organization name (company name) of the windows app
- copyright_notice: # (String) The legal copyright of the windows app
- exe_name: # (String) The executable name (binary name) of the windows app
+```bash
+dart run package_rename
```
-> For full example click [here](example/example.md#default-configuration)
+If you're using a custom config file path:
-#### Running Package Rename
+```bash
+dart run package_rename --path="path/to/config.yaml"
+```
-Execute the command as per your config location:
+## 🛠️ Configuration Guide
-if config file exists in either pubspec.yaml or root path:
+Here is everything you can configure. Copy-paste what you need!
-```bash
-dart run package_rename
-```
+```yaml
+package_rename_config:
+ android:
+ app_name: "My App" # Display name
+ package_name: "com.org.app" # Package name
+ override_old_package: "com.old.app" # Optional: Cleans up old folder structure
+ lang: "kotlin" # Optional: "kotlin" (default) or "java"
-OR
+ ios:
+ app_name: "My App" # Display name
+ bundle_name: "My App" # Bundle name
+ package_name: "com.org.app" # Product Bundle Identifier
-if config file exists in a custom folder:
+ linux:
+ app_name: "My App" # Window title
+ package_name: "com.org.app" # Application ID
+ exe_name: "my_app" # Executable name (binary)
-```bash
-dart run package_rename --path="path/to/package_rename_config.yaml"
-```
+ macos:
+ app_name: "My App" # Product name
+ package_name: "com.org.app" # Product Bundle Identifier
+ copyright_notice: "Copyright © 2024" # Copyright notice
-or
+ web:
+ app_name: "My App" # App title & PWA name
+ short_app_name: "App" # PWA short name (defaults to app_name)
+ description: "Best App" # Web app description
-```bash
-dart run package_rename -p "path/to/package_rename_config.yaml"
+ windows:
+ app_name: "My App" # Window title & Software name
+ organization: "My Org" # Organization/Company name
+ copyright_notice: "Copyright © 2024" # Legal copyright
+ exe_name: "my_app" # Executable name (binary)
```
-## Flavour Support
+> For a full example, check out the [example configuration](example/example.md#default-configuration).
-Package Rename supports flavours. You can add flavour specific configurations by adding `flavour_name` in configuration key.
+## 🍦 Flavour Support
+
+For when vanilla just isn't enough! 🍨
+
+You can add flavour-specific configurations by appending the flavour name to the configuration key:
```yaml
-package_rename_config-flavour_name:
+package_rename_config-dev:
+ android:
+ app_name: "My App (Dev)"
+ package_name: "com.org.app.dev"
# ...
```
-> For full example click [here](example/example.md#flavour-configuration)
-
-And then run the following command:
+Run with the flavour flag:
```bash
-dart run package_rename --flavour=flavour_name
+dart run package_rename --flavour=dev
```
-or
+## 🤝 Contributing
-```bash
-dart run package_rename -f flavour_name
-```
+Found a bug? Have a feature request? Want to add support for a 7th platform?
-With custom config file location:
+1. [Check existing issues][issues]
+2. [Report bugs][new_issue]
+3. [Submit PRs][pulls]
-```bash
-dart run package_rename --flavour=flavour_name --path="path/to/package_rename_config.yaml"
-```
+All contributions welcome! Even if it's just fixing typos in this README. 😅
-## Known Issues
+## 📜 License
-### iOS and macOS issues with `PRODUCT_BUNDLE_IDENTIFIER`:
+BSD 3-Clause License - see [LICENSE](LICENSE) file for details.
-The `PRODUCT_BUNDLE_IDENTIFIER`'s in **ios/Runner.xcodeproj/project.pbxproj** and **macos/Runner.xcodeproj/project.pbxproj** have different values for different targets. Like, in my case:
+TL;DR: Use it, modify it, share it, just don't blame us if your app becomes _too_ easy to rename. 😎
-**DEFAULT**
+## If you liked the package, then please give it a Like 👍🏼 and [Star ⭐][repository]
-- `rocks.outdatedguy.packageRenameExample`
-- `rocks.outdatedguy.packageRenameExample.RunnerTests`
+Your support keeps this project alive and helps us add more features! ✨
-**EXTENSIONS**
+## 🎁 Bonus: Secret Message
-- `rocks.outdatedguy.packageRenameExample.Share-Extension`
-- `rocks.outdatedguy.packageRenameExample.NotificationServiceExtension`
-- blah blah blah...
+For the curious developers who actually read READMEs to the end, here's a secret: 🕵️
-Hence, to properly change the `PRODUCT_BUNDLE_IDENTIFIER` without removing the **Extension** name, make sure all `PRODUCT_BUNDLE_IDENTIFIER`'s except the **DEFAULT** ones are enclosed in double quotes (`""`).
+