« Return to Thread: "featurizing" a catalyst app

"featurizing" a catalyst app

by Rodrigo-51 :: Rate this Message:

Reply to Author | View in Thread

Hi all,
I have an application that has many "features" (or plugins, or extensions, or bundles, or whatever, but I'll call it "feature" for uniqueness sake), which are subsets of the app that may or may not be bundled into the application, depending on the customer it will be shipped to.

What I'm looking for is to have a very Eclipse-like directory structure:

MyApp/features/my_first_feature_1.0.0/root/
MyApp/features/my_first_feature_1.0.0/lib/Controller
MyApp/features/my_first_feature_1.0.0/lib/Model
MyApp/features/my_first_feature_1.0.0/lib/View

MyApp/features/another_feature_1.2.0/root/
MyApp/features/another_feature_1.2.0/lib/Controller
MyApp/features/another_feature_1.2.0/lib/Model
MyApp/features/another_feature_1.2.0/lib/View

The idea is that modules contained in features should not be aware that they are in a feature, but work like they are in the default /lib or /root.

I think the /lib part can probably be setup using this:

__PACKAGE__->config( setup_components => { search_extra => [ @features ] } );

With a little bit of code to fillup @features correctly, and some @INC tweaking...

But how about the /root part? Can mixed-up root dirs be seen as a single root dir easily?

cheers,
   rodrigo

_______________________________________________
List: Catalyst@...
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@.../
Dev site: http://dev.catalyst.perl.org/

 « Return to Thread: "featurizing" a catalyst app