A library for maintaining sets of related Dart projects versioned in git, in particular managing dependencies between them.
For now the best place to learn about Jefe is the introductory blog post.
Jefe is designed to be used both as a command (called jefe
) and as source (e.g. integrating with other tools like grinder)
pub global activate jefe
import 'package:jefe/jefe.dart';
main() async {
// first install the project group
final ProjectGroup projectGroup = await ProjectGroup.install(
new Directory('/Users/blah'), 'git@git.example');
final executor = new CommandExecutor(projectGroup);
// initialise it (sets it on develop branch etc)
await executor.execute(lifecycle.init());
// start a new feature
// All projects will be on a feature branch called feacha,
// will have the dependencies to other projects in this group set as
// path dependencies, and will have pub get called
await executor.execute(lifecycle.startNewFeature('feacha'));
// Code something awesome
// finish off the feature
// All projects will have their feature branches merged to develop,
// will have the dependencies to other projects in this group set as
// git dependencies bashed on the current commit hash,
// will be git pushed to their origin
// and will have pub get called
await executor.execute(lifecycle.completeFeature('feacha'));
// now cut a release.
// All the project pubspec versions will be bumped according to the release type
// and git tagged with same version, will be merged to master
await executor.execute(lifecycle.release(type: ReleaseType.major));
}
main() async {
final executor = await executorForDirectory('/Users/blah/myfoo_root');
await executor.execute(docker.generateProductionDockerfile(
'my_server', 'my_client',
outputDirectory: new Directory('/tmp'),
dartVersion: '1.9.3',
environment: {'MY_FOO': false},
exposePorts: [8080, 8181, 5858],
entryPointOptions: ["--debug:5858/0.0.0.0"]));
}
Please file feature requests and bugs at the issue tracker.
added jefe test
which runs pub run test
on all projects that have a test
dir
added dev_dependencies
to the project dependencies that jefe
manages
Add this to your package's pubspec.yaml file:
dependencies:
jefe: "^0.2.5"
You can install packages from the command line:
with pub:
$ pub get
Alternatively, your editor might support pub get
.
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
import 'package:jefe/jefe.dart';
Version | Uploaded | Documentation | Archive |
---|---|---|---|
0.4.0 | Jun 25, 2016 |
|
|
0.3.1 | Apr 4, 2016 |
|
|
0.3.0 | Apr 2, 2016 |
|
|
0.2.10 | Jan 24, 2016 |
|
|
0.2.9 | Jan 23, 2016 |
|
|
0.2.8 | Jan 21, 2016 |
|
|
0.2.7 | Jan 21, 2016 |
|
|
0.2.6 | Aug 20, 2015 |
|
|
0.2.5 | Aug 20, 2015 |
|
|
0.2.4 | Jul 2, 2015 |
|
|
This package version is not analyzed, because it is more than two years old. Check the latest stable version for its analysis.