2017 © Pedro Pelรกez
 

library conductor

Tools for managing multiple packages in one source repository

image

mybuilder/conductor

Tools for managing multiple packages in one source repository

  • Thursday, March 16, 2017
  • by mybuilder
  • Repository
  • 14 Watchers
  • 62 Stars
  • 496 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 5 Forks
  • 5 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Build Status, (*1)

Conductor, (*2)

We no longer use Conductor at MyBuilder and instead now use the Composer path but if you want to take over development of Conductor let us know., (*3)


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., (*4)

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., (*5)

An example project repository structure that we use in-kind is shown below:, (*6)

โ”œโ”€โ”€ 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., (*7)

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., (*8)

Further Reading


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

The Versions

16/03 2017

dev-master

9999999-dev

Tools for managing multiple packages in one source repository

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sten Hiedel

29/05 2015

dev-phar-support

dev-phar-support

Tools for managing multiple packages in one source repository

  Sources   Download

MIT

The Requires

 

The Development Requires

by Sten Hiedel