As long as the super-project can reference tasks created in the sub-project, allow those tasks to have execution blocks attached to them in the super-project Rakefile.
So, to be clear, here's a task in in the subproject, located at foo.
task :hello do
p "HELLO"
end
And here is the super-project:
subproject 'foo'
task 'foo:hello' do
p "WORLD"
end
Now, when executing the super project:
$ rake foo:hello
HELLO
WORLD
The sub-project blocks are all executed before the super-project blocks.