A short DSL to build and maintain NSIS scripts.
The intention is to implement most of the NSIS API, as documented here: nsis.sourceforge.net/Docs/
An initial release will probably interact with makensis.exe over the commandline to produce the installer executable. However, it is my goal to provide a c extension which wraps this functionality in a library and removes the makensis dependency.
Referring to the compilation of NSIS scripts, not the tool; I’ve had some thoughts. Each dsl command translates to one or more NSIS script lines. As a dsl command is added to the NSIS::Builder::commands array, a line & line number should be stored in a sibling array. The makeNSIS error stating line and file should be translated using these two arrays back to the line & source for the dsl.
-
Basic NSIS instructions - nsis.sourceforge.net/Docs/Chapter4.html#4.9.1
-
Create a simple gem using Jeweler - minhajuddin.com/2010/09/30/create-a-simple-gem-using-jeweler/
-
Creating DSLs with Ruby - www.artima.com/rubycs/articles/ruby_as_dsl.html
-
Using instance_eval in multiple contexts - www.infoq.com/articles/eval-options-in-ruby
-
Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet
-
Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it
-
Fork the project
-
Start a feature/bugfix branch
-
Commit and push until you are happy with your contribution
-
Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright © 2010 James Cowlishaw. See LICENSE.txt for further details.