Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/havvg/sismofinder

A wrapper for locating Sismo project configuration.
https://github.com/havvg/sismofinder

ci continuous-integration php sismo

Last synced: about 2 months ago
JSON representation

A wrapper for locating Sismo project configuration.

Awesome Lists containing this project

README

        

# SismoFinder

[![Build Status](https://secure.travis-ci.org/havvg/SismoFinder.png)](http://travis-ci.org/havvg/SismoFinder)

`SismoFinder` is a simple wrapper around the configuration file of `Sismo`.
There are two major benefits when using SismoFinder as a replacement or addition to your Sismo configuration file.

The actual project's configuration for a Sismo project is saved within the project itself.
Thus there is no need to setup each new project within Sismo.

The configuration for Sismo is shared among the collaborators of the project.

## Installation

See [INSTALL.md](INSTALL.md) for instructions on how to install `SismoFinder`.

## Configuration

`SismoFinder` by default looks for two files `sismo.config.php` and if not found `sismo.config.php.dist`.

* Package the `sismo.config.php.dist` within your project.
* Add the `sismo.config.php` to your `.gitignore`.

### Example SismoFinder configuration file

This is a very basic example, how a distributed project configuration may look like,
see [Sismo README](https://github.com/fabpot/Sismo/blob/master/README.rst) for more details.

```php
registerNamespaces(array(
'SismoFinder' => '/Users/havvg/Web Development/SismoFinder/src',
));
$loader->register();

$finder = new SismoFinder\Finder();
$finder->addWorkspace('/Users/havvg/Web Development');

return $finder->getProjects();
```

### Addition

```php
registerNamespaces(array(
'SismoFinder' => '/Users/havvg/Web Development/SismoFinder/src',
));
$loader->register();

// create a Growl notifier (for OSX)
$notifier = new Sismo\Notifier\GrowlNotifier('');

$finder = new SismoFinder\Finder();
$finder->addWorkspace('/Users/havvg/Web Development');

$projects = $finder->getProjects();

// A project outside of all workspaces
$projects[] = new Sismo\Project('Project D (local)', '/Users/havvg/Project D/', $notifier);

return $projects;
```

For more usage examples, see the examples in the `doc` folder.