# cli_pkg 1.0.0-beta.4

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.4'
```
Published: 2020-02-07T09:37:34.011588Z
Expected archive SHA-256: 7dd0266aaff8ed1f76ab3c0e1eecf012aef8dea8e3acba39b331ddd034657eb3

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.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.







 
