# Rake best practices for managing multi-directory project?

**URL:** <https://www.ruby-forum.com/t/rake-best-practices-for-managing-multi-directory-project/54763>\
**Category:** Ruby\
**Created:** [March 14, 2006, 1:09am UTC](https://www.ruby-forum.com/t/rake-best-practices-for-managing-multi-directory-project/54763 "2006-03-14T01:09:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stuart\_Hungerford](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/b38774/32.png) [@Stuart\_Hungerford](https://www.ruby-forum.com/u/Stuart_Hungerford)\
**Post date:** [March 14, 2006, 1:09am UTC](https://www.ruby-forum.com/t/rake-best-practices-for-managing-multi-directory-project/54763/1 "2006-03-14T01:09:01Z")

</div>

Hi,

I’m currently working on a project with a number of “modules”  
in different directories. I’m using Rake to manage the running  
of the module services in the correct order.

I have a directory structure something like this:

```
  /project
     +-- Rakefile

     +-- module A
           +-- module A files
           +-- tasks.rake

     +-- module B
           +-- module B files
           + tasks.rake

     +-- module C
           etc

```

So each module directory has its own tasks.rake file and all  
the SQL, shell, Ruby etc scripts needed to implement the  
service it provides. Each tasks.rake uses Rake namespaces  
fully to avoid any task name ambiguity across the project.

The “top level” Rakefile in /project uses Rake imports to  
bring each module tasks.rake file into it and make them  
available from the command line.

Are there any Rake best practices or idioms or patterns that  
I could be applying in this situation?

For example, in my current setup the top level Rakefile needs  
to setup module paths as global variables so the tasks.rake  
files look in their own directory for script files and not the  
top level directory–which seems a bit clunky.

Any advice from people using Rake for similar projects would  
be much appreciated.

TIA,

Stu
