Pakete, Repositories und App-Kategorien suchen

Paketdetailsv11.11.1

pub_release

Automatisiert die Veröffentlichung eines Dart-Pakets auf pub.dev einschließlich Ausführung von dartfmt, Erstellung eines Git-Tags, Erhöhung der Paketversionsnummer und Hochladen des Pakets auf pub.dev.

macOSWindowsLinux
30-Tage-Downloads
970
Likes
22
Pub-Punkte
150

Paket installieren

flutter pub add pub_release

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

pub_release ist ein Flutter/Dart-Paket, das den Prozess des Veröffentlichens eines Dart-Pakets auf pub.dev automatisiert. Es vereinfacht die Veröffentlichung, indem es dartfmt zur Codeformatierung ausführt, die Versionsnummer erhöht, einen Git-Tag erstellt und das aktualisierte Paket auf pub.dev veröffentlicht. Für Entwickler, die häufig Pakete veröffentlichen, wurde es entwickelt, um manuelle Schritte zu reduzieren und Fehler in Veröffentlichungsworkflows zu minimieren. Das Werkzeug unterstützt macOS, Windows und Linux und ist somit in den wichtigsten Entwicklungsumgebungen verfügbar.

Anwendungsfälle

  • Automatisierung von Paketfreigaben
  • Pub.dev-Veröffentlichung vereinfachen
  • Konsistente Code-Formatierung sicherstellen
  • Verwaltung von Versionsinkrements
  • Reduzierung manueller Freigabefehler

Hauptmerkmale

  • Automatisierte Ausführung von dartfmt
  • Versionsanhebung
  • Git-Tagging
  • Auf pub.dev hochladen
  • Plattformübergreifende Unterstützung

Geeignet für

  • Dart-Package-Entwickler
  • CI/CD-Pipeline-Integrationen
  • Häufige Veröffentlicher
  • Open-Source-Beiträger

Hinweise

  • Git-Einrichtung erforderlich
  • Benötigt Pub.dev-Anmeldeinformationen
  • Abhängig von der richtigen Versionsstrategie
  • Möglicherweise ist eine benutzerdefinierte Konfiguration für komplexe Workflows erforderlich

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

README

Pub Release is a package that automates publishing dart/flutter packages to pub.dev.

Pub Release also supports the simultaneous release of multiple related packages.

Pub Release performs the following operations:

  • Run pre/post release 'hook' scripts.
  • Formats all code using dartfmt
  • Increments the version no. using semantic versioning after asking what sort of changes have been made.
  • Creates a dart file containing the version no. in src/version/version.g.dart
  • Updates the pubspec.yaml with the new version no.
  • If you are using Git:
    • Generates a Git Tag using the new version no.
    • Generates release notes from commit messages since the last tag.
    • Publish any executables list in pubspec.yaml as assets on github
  • Allows you to edit the release notes.
  • Adds the release notes to CHANGELOG.MD along with the new version no.
  • Publishes the package to pub.dev.

Getting Started

Install Pub Release globally:

dart pub global activate pub_release

Run it from your package root:

pub_release

Read the full documentation to learn how to use it.

Common Workflows

Dry-run a release (no publish):

pub_release --dry-run

Set a specific version and skip prompts:

pub_release --setVersion=1.2.3 --autoAnswer

Run multi-package release in a mono-repo:

pub_release multi

Dry Run

Use --dry-run to validate a release without publishing. During a dry run, pub_release performs the publish step inside a temporary copy of your package to avoid git working tree warnings while still validating the generated version and changelog.

If you need to allow warnings from dart pub publish, pass --ignore-warnings.

Commands

  • pub_release - release a single package (default).
  • pub_release multi - release related packages using tool/pubrelease.multi.yaml.
  • pub_release help - show usage.

Flags

  • --dry-run - validate but do not publish.
  • --ignore-warnings - pass --ignore-warnings to dart pub publish.
  • --[no]-test - enable/disable unit tests (default: on).
  • --test-concurrency=<n> - maximum concurrent test suites (positive integer); overrides the project setting.
  • --line=<n> - formatter line length (default: 80).
  • --[no]-format - enable/disable formatting (default: on).
  • --verbose - enable verbose logging.
  • --git - enable git operations (default: on).
  • --no-multi - disable multi-release even if a multi config exists.
  • --askVersion - prompt for version (default).
  • --setVersion=<x.y.z> - set version directly.
  • --autoAnswer - suppress prompts (requires --setVersion).
  • --tags=<tag,...> - only run tests matching tags.
  • --exclude-tags=<tag,...> - exclude tests by tag.
  • --skip-packages=<name,...> - skip named packages when running the multi command.

Test Concurrency

For projects whose tests share external state, run test suites serially by adding the following to tool/.pubrelease.yaml:

test-concurrency: 1

Override the project setting for a release with:

pub_release --test-concurrency=4

Pub Release passes the selected value to critical_test as --concurrency=<n>. The value must be a positive integer. If neither setting is provided, critical_test's default concurrency is unchanged. For multi-package releases, the selected value applies to every released package. --no-test still skips tests regardless of the concurrency setting.

Multi Release Notes

When using pub_release multi, the first package that generates a changelog entry will have its release notes propagated to the other packages unless they already contain notes for that version.

Kategorien

Abhängigkeiten

Abhängigkeiten 10 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.