Sha256: 360e6ea0deccb642ff9995257e35b710468979a074a149966edc691c4a6b44a8

Contents?: true

Size: 1.26 KB

Versions: 10

Compression:

Stored size: 1.26 KB

Contents

# Motivation
To achieve the higher level of modularity, Celluloid was split into small sub-projects that naturally depend on each other.
Bundler can't handle circular dependencies properly and currently the only workaround is to list all celluloid-ish dependencies in both Gemfile and gemspec.
This is error-prone and not efficient. Thus it was required to put some better workaround in place.

# Configuration
The list of gems and their properties are now defined in `dependencies.yml`.

For example:

```yml
celluloid:
  bundler:
    github: celluloid/celluloid
    branch: 0.17.0-prerelease
celluloid-extras:
  bundler:
    github: celluloid/celluloid-extras
celluloid-supervision:
  bundler:
    github: celluloid/celluloid-supervision
celluloid-pool:
  bundler:
    github: celluloid/celluloid-pool
celluloid-fsm:
  bundler:
    github: celluloid/celluloid-fsm
timers:
  gemspec:
     - ~> 4.0.0
  bundler:
    github: celluloid/timers
```

# Modification of `gemspec` and `Gemfile`

The injection of dependencies into `gemspec` and `Gemfile` is handled by `Celluloid::Sync.gems()`, which routes to either `Celluloid::Gems.gemspec` or `Celluloid::Gems.gemfile` depending on what is passed to it:

* Discussed in [SYNC.md](../SYNC.md#how-do-you-install-it-in-gemfile-and-gemspec-then)

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
celluloid-0.17.4 culture/gems/README.md
celluloid-0.18.0.pre culture/gems/README.md
celluloid-0.17.3 culture/gems/README.md
celluloid-zmq-0.17.2 culture/gems/README.md
celluloid-0.17.2 culture/gems/README.md
celluloid-0.17.1.2 culture/gems/README.md
celluloid-0.17.1.1 culture/gems/README.md
celluloid-zmq-0.17.0 culture/gems/README.md
celluloid-0.17.1 culture/gems/README.md
celluloid-0.17.0 culture/gems/README.md