pubspec_extract 2.1.0
pubspec_extract: ^2.1.0 copied to clipboard
Extracts Dart pubspec.yaml file and generate pubspec.dart at build time
Pubspec Extract #
Extracts Dart pubspec.yaml file and generate pubspec.dart at build time.
Usage as a command line tool #
Install the command-line tool locally #
Add the pubspec_extract
dev dependency
dart pub add --dev pubspec_extract
then run:
dart run pubspec_extract -s pubspec.yaml -d lib/pubspec.dart --map-list
Install the command-line tool globally #
run:
dart pub global activate pubspec_extract
The executable will be compiled and available at $HOME/.pub-cache/bin
or %APPDATA%\Pub\Cache\bin
. You can run it using:
Builder options in command-line args:
dart pub global run pubspec_extract -s pubspec.yaml -d lib/pubspec.dart --map-list
Command line arguments #
Arg | Abbr | Description |
---|---|---|
source | s | YAML source file. Default - pubspec.yaml |
destination | d | Output dart file export path. Default - lib/pubspec.dart |
class-name | c | Output dart class. Default - Pubspec |
[no-]format | f | Format output dart code. Default - true |
map-list | m | Add a list of the exported variables |
[no-]extract-name | Extract top-level 'name' from pubspec. Default - true | |
[no-]extract-description | Extract top-level 'description' from pubspec. Default - true | |
[no-]extract-version | Extract top-level 'version' from pubspec. Default - true | |
[no-]extract-topics | Extract top-level 'version' from pubspec. Default - true | |
[no-]extract-homepage | Extract top-level 'homepage' from pubspec. Default - true | |
[no-]extract-issue-tracker | Extract top-level 'issue_tracker' from pubspec. Default - true | |
[no-]extract-publish-to | Extract top-level 'publish_to' from pubspec. Default - true | |
[no-]extract-funding | Extract top-level 'funding' from pubspec. Default - true | |
[no-]extract-screenshots | Extract top-level 'screenshots' from pubspec. Default - true | |
[no-]extract-false-secrets | Extract top-level 'false_secrets' from pubspec. Default - true | |
[no-]extract-environment | Extract top-level 'environment' from pubspec. Default - true | |
[no-]extract-dependencies | Extract top-level 'dependencies' from pubspec. Default - true | |
[no-]extract-dependency-overrides | Extract top-level 'dependency_overrides' from pubspec. Default - true | |
[no-]extract-ignored-advisories | Extract top-level 'ignored_advisories' from pubspec. Default - true | |
[no-]extract-dev-dependencies | Extract top-level 'dev_dependencies' from pubspec. Default - true | |
[no-]extract-flutter | Extract top-level 'flutter' from pubspec. Default - true | |
[no-]extract-executables | Extract top-level 'executables' from pubspec. Default - true | |
[no-]extract-undocumented-keys | Extract other undocumented top-level keys from pubspec. Default - true | |
version | Extractor version | |
verbose | v | Verbose output |
help | h | Show usage info |
Usage with build_runner #
Add the build_runner
dev dependency
dart pub add --dev build_runner
Build the pubspec.dart
file
dart run build_runner build
Builder options are configured in your pubspec.yaml:
pubspec_extract:
class_name: Pubspec
source: pubspec.yaml
destination: lib/pubspec.dart
format: true
map_list: false
extract-name: true
extract-description: true
extract-version: true
extract-topics: true
extract-homepage: true
extract-issue-tracker: true
extract-publish-to: true
extract-funding: true
extract-screenshots: true
extract-false-secrets: true
extract-environment: true
extract-dependencies: true
extract-dependency-overrides: true
extract-ignored-advisories: true
extract-undocumented-keys: true
Usage #
Then in your application, you can import pubspec.dart
:
import 'pubspec.dart'; // May not exist but it's okay!
void main() {
print(Pubspec.name);
print(Pubspec.description);
print(Pubspec.version);
}