# cli_pkg 1.0.0-beta.9

Grinder tasks for releasing Dart CLI packages.




## Installing
```
export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add 'cli_pkg:1.0.0-beta.9'
```
Published: 2020-09-25T19:16:16.240874Z
Expected archive SHA-256: 4c62a40dacfa53667e44b95a2b032c1a6429bdc44423b0536a3dc858b0dfdf82

Available in cache; verification: upstream_checksum
## Direct dependencies
- archive: >=1.0.0 <3.0.0
- async: >=1.13.0 <3.0.0
- charcode: ^1.1.0
- collection: >=1.8.0 <2.0.0
- crypto: ^2.0.0
- grinder: ^0.8.0
- http: >=0.11.0 <0.13.0
- js: ^0.6.0
- meta: ^1.1.7
- mustache: ^1.0.0
- node_preamble: ^1.1.0
- package_config: ^1.1.0
- path: ^1.0.0
- pub_semver: ^1.0.0
- pubspec_parse: ^0.1.0
- string_scanner: ^1.0.0
- test: ^1.0.0
- test_process: ^1.0.0
- xml: ^3.6.0
- yaml: ^2.0.0

## Package README (untrusted upstream documentation)
## Dart CLI Packager

This package provides a set of [Grinder][] tasks that make it easy to release a
Dart command-line application on many different release channels, to Dart users
and non-Dart users alike. It also integrates with Travis CI to make it easy to
automatically deploy packages.

[Grinder]: https://pub.dev/packages/grinder

To use this package, import `package:cli_pkg/cli_pkg.dart` and call
[`pkg.addAllTasks()`][] before calling [`grind()`][]:

[`pkg.addAllTasks()`]: https://pub.dev/documentation/cli_pkg/latest/cli_pkg/addAllTasks.html
[`grind()`]: https://pub.dev/documentation/grinder/latest/grinder/grind.html

```dart
import 'package:cli_pkg/cli_pkg.dart' as pkg;
import 'package:grinder/grinder.dart';

void main(List<String> args) {
  pkg.addAllTasks();
  grind(args);
}
```

The following sets of tasks are provided, each of which can also be enabled
individually:

* [Creating standalone archives for your package.](doc/standalone.md)
* [Uploading standalone archives to GitHub releases.](doc/github.md)
* [Compiling to JavaScript and publishing to npm.](doc/npm.md)
* [Uploading standalone archives to Chocolatey.](doc/chocolatey.md)
* [Updating a Homebrew formula to download from GitHub releases.](doc/homebrew.md)
* [Publishing to pub.](doc/pub.md)

It's strongly recommended that this package be imported with the prefix `pkg`.

### Configuration

This package is highly configurable, using properties defined
[at the top level of the library][]. By default, it infers as much configuration
as possible from the package's pubspec, but almost all properties can be
overridden in the `main()` method:

[at the top level of the library]: https://pub.dev/documentation/sass/latest/sass/sass-library.html#properties

```dart
import 'package:cli_pkg/cli_pkg.dart' as pkg;
import 'package:grinder/grinder.dart';

void main(List<String> args) {
  pkg.name = "bot-name";
  pkg.humanName = "My App";

  pkg.addAllTasks();
  grind(args);
}
```

Each task describes exactly which configuration variables it uses. Configuration
that just applies to one set of tasks is always prefixed with a corresponding
name. For example, [`pkg.jsFlags`][] applies to JavaScript compilation.

[`pkg.jsFlags`]: https://pub.dev/documentation/cli_pkg/latest/cli_pkg/jsFlags.html

## Changelog
# 1.0.0-beta.9

* Improve error messages if release notes can't be extracted from
  `CHANGELOG.md`.

# 1.0.0-beta.8

* Fixes a bug when reading a `CHANGELOG.md` with Windows-style line endings.

# 1.0.0-beta.7

* **Breaking change:** Dart snapshots are now named based on the executable name
  (specified in the pubspec or in `pkg.executables`) instead of the name of the
  Dart file in `bin`.

# 1.0.0-beta.6

* **Breaking change:** Chocolatey now uses the `choco` CLI to build and deploy
  packages, rather than re-implementing its logic in Dart. In particular:

  * The `pkg-chocolatey-build` task has been renamed to `pkg-chocolatey-pack` to
    match the CLI's naming scheme.

  * The `pkg-chocolatey-pack` and `pkg-chocolatey-deploy` tasks must be run in
    an environment with the `choco` command available.

* Add a `pkg-chocolatey` command that builds an un-archived Chocolatey package
  directory.

* Rather than releasing binary snapshots on Chocolatey, compile the source code
  to compile native executables on users' machines.

* Add a `chocolateyFiles` getter that returns the files that should be included
  in the Chocolatey package.

* Depend on the correct version of pre-release Dart SDKs from Chocolatey
  packages.

# 1.0.0-beta.5

* Use the correct URL when fetching GitHub release metadata.

# 1.0.0-beta.4

* Add a `pkg.npmDistTag` getter that controls the distribution tag for an npm
  release.

* Add a `pkg.homebrewCreateVersionedFormula` getter that controls whether the
  Homebrew release creates a new formula or updates an existing one.

* Run `pub publish --force` so it doesn't hang forever.

* Properly parse GitHub repositories from HTTP URLs ending in `.git`.

* Drop support for Mac OS ia32 packages, since Dart 2.7 doesn't support them
  anymore.

# 1.0.0-beta.3

* Add a `cli_pkg/testing.dart` library to make it easier for users to
  efficiently and reliably test their executables.

# 1.0.0-beta.2

* Add a `pkg-standalone-dev` task for building a script that can be invoked for
  testing.

* Fix a bug where the version variable wouldn't be set for certain executables.

# 1.0.0-beta.1

* Initial beta release.







 
