-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the dart-mt wiki!
This is the home of mt ("monorepo tool"), a program for working with monorepos in Dart.
# mt help
========================
== mt by Modus Create ==
========================
A tool to manage Dart monorepos
Usage: mt <command> [arguments]
Global options:
-h, --help Print this usage information.
--mode [debug (default), release]
-v, --[no-]verbose Print verbose logging
-n, --[no-]dry-run Do not update files
Available commands:
bump bump version numbers
clean Clean .bak files
get Run pub get on directory or directories
install Install project as program
uninstall Uninstall project as program
Run "mt help <command>" for more information about a command.
Consider the following source code tree, for ModusLabs' dart samples implementation of (parts of) its RoboDomo IoT application.
Note that there are numerous pubspec.yaml files buried potentially several levels deep in the tree.
If you want to work on pkg/debug, you might have to edit all the pubspec.yaml files throughout the tree to change from a pub.dev version number to a relative path to pkg/debug. Once debug is published to pub.dev, you may want to re-edit all those pubspec.yaml files to convert from relative path to version again. In fact, to publish anything to pub.dev, you cannot have relative links in your pubspec.yaml!
This sort of issue means a LOT of editing and management of pubspec.yaml files and CHANGELOG.md files. The mt command was conceived to help with the management of pubxpec.yaml and CHANGELOG.md files, publishing packages, git commits and pushes after a version change, and more!
# tree ../dart-samples/RoboDomo -P '*.yaml|*.md'
../dart-samples/RoboDomo
├── bravia-microservice
│ ├── bin
│ └── pubspec.yaml
├── myq-microservice
│ ├── analysis_options.yaml
│ ├── bin
│ ├── CHANGELOG.md
│ ├── pubspec.yaml
│ └── README.md
├── pkg
│ ├── bravia
│ │ ├── CHANGELOG.md
│ │ ├── doc
│ │ │ └── api
│ │ │ ├── bravia
│ │ │ │ ├── Bravia
│ │ │ │ └── ServiceProtocol
│ │ │ └── static-assets
│ │ │ └── readme.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ ├── debug
│ │ ├── analysis_options.yaml
│ │ ├── CHANGELOG.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ ├── env_get
│ │ ├── CHANGELOG.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ ├── hostbase
│ │ ├── CHANGELOG.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ ├── modus_json
│ │ ├── CHANGELOG.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ ├── modus_mqtt
│ │ ├── doc
│ │ │ └── api
│ │ │ ├── mqtt
│ │ │ │ └── Mqtt
│ │ │ └── static-assets
│ │ │ └── readme.md
│ │ ├── lib
│ │ └── pubspec.yaml
│ ├── myq
│ │ ├── CHANGELOG.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ ├── samsung
│ │ ├── CHANGELOG.md
│ │ ├── lib
│ │ ├── pubspec.yaml
│ │ └── README.md
│ └── statefulemitter
│ ├── CHANGELOG.md
│ ├── lib
│ ├── pubspec.yaml
│ └── README.md
├── presence-microservice
│ ├── analysis_options.yaml
│ ├── bin
│ ├── CHANGELOG.md
│ ├── lib
│ ├── pubspec.yaml
│ └── README.md
├── README.md
├── samsung-microservice
│ ├── bin
│ └── pubspec.yaml
└── weather-microservice
├── analysis_options.yaml
├── bin
├── CHANGELOG.md
├── pubspec.yaml
└── README.md
41 directories, 43 files