Manage multiple Dart packages within a single repository.
> pub global activate mono_repo
Manage multiple packages in one source repository. Usage: mono_repo <command> [arguments] Global options: -h, --help Print this usage information. --[no-]recursive Whether to recursively walk sub-directorys looking for packages. Available commands: check Check the state of the repository. help Display help information for mono_repo. init Writes a configuration file that can be user-edited. presubmit Run the travis presubmits locally. pub Run `pub get` or `pub upgrade` against all packages. travis Configure Travis-CI for child packages. Run "mono_repo help <command>" for more information about a command.
pubcommand now runs with inherited standard IO. You now see colors!
Added support for the
group task, which accepts a list of tasks using the
normal format. This can be used to group multiple tasks in a single travis
job. All tasks will be ran, but if any of them fail then the whole job will
Example usage combining the analyzer/dartfmt tasks:
stages: - analyze_and_format: - group: - dartanalyzer - dartfmt
.travis.ymlfiles should be replaced with
.mono_repo.ymlfiles, which are a simplified format that supports travis build stages. A basic example file might look like this:
# List of the sdk versions you support dart: - dev - stable # Ordered list of all stages you want to run. stages: # A single stage, called `analyze_and_format` which runs the analyzer and # the formatter only. - analyze_and_format: - dartanalyzer: --hints-as-warnings . - dartfmt: sdk dart: - dev # Overrides the top level sdk default # Assuming everything analyzed correctly, runs a build. - build: - command: "pub run build_runner build" # And finally run tests, these are custom build_runner tests but the regular # `test` task is also supported. - unit_test: - command: "pub run build_runner test" - command: "pub run build_runner test -- -p chrome"
Make numbering more consistent and clean when there is more than one task with a given name.
Print out the full command that executed as part of a task.
List value for
Write ANSI escape sequences in
./tool/travis.sh as pre-escaped ASCII
--[no-]pretty-ansi flag to allow ANSI sequences to be optionally
before_script support to the
travis command. When that value is set in
travis.yml file, we will call the script before running any of the tasks
for that package.
recursive global flag. When set, we will walk all sub-directories
Support git dependencies in packages.
mono_repo.yaml as the configuration file name, instead of
You can install the package from the command line:
$ pub global activate mono_repo
The package has the following executables:
Add this to your package's pubspec.yaml file:
dependencies: mono_repo: "^0.3.2"
You can install packages from the command line:
$ pub get
$ flutter packages get
Alternatively, your editor might support
pub get or
flutter packages get.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.3.2||May 31, 2018|
|0.3.1||Feb 15, 2018|
|0.3.0||Feb 7, 2018|
|0.2.2||Jan 31, 2018|
|0.2.1||Jan 31, 2018|
|0.2.0||Jan 18, 2018|
|0.1.0||Oct 20, 2017|
We analyzed this package on Jun 19, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Detected platforms: Flutter, other
The description is too short.
Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.
Package is pre-v1 release.
While there is nothing inherently wrong with versions of
0.*.*, it usually means that the author is still experimenting with the general direction API.
Maintain an example.
Create a short demo in the
example/directory to show how to use this package. Common file name patterns include:
example.dartor you could also use
|Dart SDK||>=2.0.0-dev.54 <2.0.0|