Project outline (cribbed from Keith's proposal):
Translate the ideas of Rake into a Squeak library / facility using OSProcess.
Technical details:
Squeak can run scripts through OSProcess [1], but it doesn't have a framework for declarative building of various targets that is customarily exhibited by Make or Ant. Ruby's Rake [2] demonstrates an interesting approach to this problem that could be implemented in Squeak readily and used for building and testing automation beyond the Squeak image.
Benefits to the student:
The student would gain familiarity with the requirements and logic and algorithms involved in a reliable and sensible declarative and configurable build system. They would be able to explore this in a live-objects environment which could offer opportunities for innovation in this area.
Benefits to the community:
This would provide Squeak with a declarative, idempotent build system for external files and programs as well as other Squeak images, that also integrates well with other Squeak code and libraries. It could even offer new facilities for building Squeak images using the Installer [3] tool.
Mentor: Brian Rice
Refs: [1] http://wiki.squeak.org/squeak/708 [2] http://rake.rubyforge.org/ [3] http://wiki.squeak.org/squeak/Installer
(Honestly, this feels vague and hand-wavey... refinements would be welcome!)
-- -Brian http://briantrice.com
A non-Ruby-site's explanation of Rake: http://www.martinfowler.com/articles/rake.html
On Mar 2, 2007, at 5:31 PM, Brian Rice wrote:
Project outline (cribbed from Keith's proposal):
Translate the ideas of Rake into a Squeak library / facility using OSProcess.
Technical details:
Squeak can run scripts through OSProcess [1], but it doesn't have a framework for declarative building of various targets that is customarily exhibited by Make or Ant. Ruby's Rake [2] demonstrates an interesting approach to this problem that could be implemented in Squeak readily and used for building and testing automation beyond the Squeak image.
Benefits to the student:
The student would gain familiarity with the requirements and logic and algorithms involved in a reliable and sensible declarative and configurable build system. They would be able to explore this in a live-objects environment which could offer opportunities for innovation in this area.
Benefits to the community:
This would provide Squeak with a declarative, idempotent build system for external files and programs as well as other Squeak images, that also integrates well with other Squeak code and libraries. It could even offer new facilities for building Squeak images using the Installer [3] tool.
Mentor: Brian Rice
Refs: [1] http://wiki.squeak.org/squeak/708 [2] http://rake.rubyforge.org/ [3] http://wiki.squeak.org/squeak/Installer
(Honestly, this feels vague and hand-wavey... refinements would be welcome!)
-- -Brian http://briantrice.com
soc@lists.squeakfoundation.org