• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

BuildTools-Customizing

Page history last edited by Charles Jolley 15 years, 3 months ago

The SproutCore build tool logic you will want to customize is written as a series of Rake tasks included in the default Buildfile that ships with SproutCore. (Rake is a Ruby-version of Make.)  You can customize the build tools to your liking by extending or replace these build tasks in your own Buildfiles.  

 

You can customize the build tasks by either writing more Ruby yourself or you can simply call out to an external script, which can be written in any language you like.  See "Extending Tasks with Languages Other Than Ruby" below.

 

The Build Tasks

 

  • target:prepare - Invoked on each Target at the point that it is created.  This task will fill in any standard properties from the configs such as the build root, staging root, etc.  Override to replace the default behavior or to add your own additional configs.
  • manifest:prepare - Invoked when a Manifest when it is first created.  This task will fill in any standard properties needed to build entries in the manifest.
  • manifest:build - Invoked to actually populate a manifest with entries.
  • entry:prepare - Invoked when a manifest Entry is created.  Populates the entry with any basic info needed to perform a build.
  • entry:build - Invoke to actually build a manifest entry.  The default simply invokes the build task associated with the entry.

 

 

Extending Tasks with Languages Other Than Ruby

 

If you don't know Ruby, you can still customize your build tasks using any language that works well for you.

 

# Invoke external code...

task 'manifest:build' do

  MANIFEST.pipe 'myscript', :format => :yaml  

end

 

Comments (0)

You don't have permission to comment on this page.