Open pjf opened 10 years ago
We need a way for pluggable components to provide:
We also need to think about actions. Some can be bundled with a distribution, but if an action has multiple dependencies, where should it be placed?
The new Exobrain 1.00 framework is working a treat here, with Exobrain::Twitter
now being its own component that can be downloaded independently from the cpan.
Exobrain has an incredible number of dependencies. While they all install cleanly on a fresh ubuntu box when following the install instructions, that still takes a very long time.
We'd like to reduce these somewhat. Some dependencies aren't actually used (eg, the WIP xmpp server, which brings in all of AnyEvent), and others shouldn't be used unless the user actually wants to use that component. (Why install the Facebook deps if the user isn't using a Facebook source/sink?)
So we should:
Part of splitting Exobrain into components can be converting existing executable files into classes (#26). They can still be managed via Ubic, but they're much cleaner to handle, can provide their own meta-data to Exobrain (if we want that), are easier to test, and don't clutter up the user's bin directory.
We may also consider using Carton, Shipwright, PAR, or some other packaging system to provide a single "exobrain in a box" download.