mybuilder/conductor


Conductor makes it easy to mange multiple composer packages within a single source repository

License: MIT

Language: PHP

Keywords: composer, deprecated, php


Build Status

Conductor


This tool allows you to manage isolated, internal Composer packages within a single, monolithic repository. Separating units of code based on directory structure, as opposed to at the repository level, maintains a single source of truth whilst providing the benefits of clearly defined component boundaries.

When would you use it?

You would use this tool in a project setting where multiple separate applications co-exist (i.e. admin, frontend and mobile-api). Within this context each application will share code, such as business logic, to provide the end solution.

An example project repository structure that we use in-kind is shown below:

├── app/
│   ├── admin
│   │   ├── src/
│   │   ├── tests/
│   │   └── composer.json
│   ├── frontend
│   │   ├── src/
│   │   ├── tests/
│   │   └── composer.json
│   └── mobile-api
│       ├── src/
│       ├── tests/
│       └── composer.json
├── artifact/
├── bin
│   └── conductor
├── package
│   ├── bar
│   │   ├── src/
│   │   ├── tests/
│   │   └── composer.json
│   └── foo
│       ├── src/
│       ├── tests/
│       └── composer.json
├── composer.json
└── conductor.yml

As you can see the root-level composer.json file is only used for uniform tooling - so no project specific code should be stored at this level. The business logic is contained within each of the isolated packages, with the delivery supplied via the 'app' directory.

Compatibility

  • ✔ Mac OSX
  • ✔ Unix-derived systems (CentOS, Debian etc.)
  • ? Windows - Not tested at this time

Examples

At this time the project comes with a simple todo example which illustrates how to use Conductor in it's entirety.

Further Reading


Created by MyBuilder - Check out our blog for more insight into this and other open-source projects we release.

Project Statistics

Sourcerank 5
Repository Size 501 KB
Stars 63
Forks 5
Watchers 14
Open issues 5
Dependencies 5
Contributors 4
Tags 0
Created
Last updated
Last pushed

Top Contributors See all

Edd Mann Sten Hiedel Gavin Love PWalkow

Packages Referencing this Repo

mybuilder/conductor
Tools for managing multiple packages in one source repository
Latest release 1.0.4 - Updated - 63 stars

Something wrong with this page? Make a suggestion

Last synced: 2016-05-27 14:11:44 UTC

Login to resync this repository