Engine installer


#1

I just figured out a pretty cool way to automate the installation of
engines (or well, any kind of plugin)…

Plugins now have an install.rb that hooks into the plugin installation
process. You can make a new plugin with just this file, called
my_installer for example, and then do something like this in it:

require ‘commands/plugin’

install the engines plugin

Commands::Plugin.parse! [‘install’,
http://svn.rails-engines.org/plugins/engines’]

install some engines

Commands::Plugin.parse! [‘install’, ‘http://my-cool-engine’]
Commands::Plugin.parse! [‘install’, ‘http://my-other-cool-engine’]

install another really cool plugin ; )

Commands::Plugin.parse! [‘install’,
http://progrium.com/svn/vantage/trunk/widgets’]

get rid of the installer

Commands::Plugin.parse! [‘remove’, ‘my_installer’]

Now if you put this up somewhere, you can install all these things
into a new app with:

$ script/plugin install http://example.com/svn/my_installer

I imagine you could do a lot of other cool stuff this way! Let me know
if this is already a well known practice or something. :stuck_out_tongue:


Jeff L.
http://blogrium.com/


#2

Very interesting Jeff :slight_smile:

It would certainly be good if when you tried to install an engine, it
checked for the engines plugin and installed it if necessary - fancy
coding this up as a patch to the engine generator and submitting it?

  • james

On 4/4/06, Jeff L. removed_email_address@domain.invalid wrote:

http://svn.rails-engines.org/plugins/engines’]
into a new app with:
engine-developers mailing list
removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org

  • J *
    ~

#3

Oooo, great idea. I’m on it.

-jeff

On 4/4/06, James A. removed_email_address@domain.invalid wrote:

engines (or well, any kind of plugin)…
Commands::Plugin.parse! [‘install’, ‘http://my-cool-engine’]
$ script/plugin install http://example.com/svn/my_installer
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org


Jeff L.
http://blogrium.com/


#4

Done. http://dev.rails-engines.org/tickets/122

On 4/4/06, Jeff L. removed_email_address@domain.invalid wrote:

require ‘commands/plugin’
Commands::Plugin.parse! [‘remove’, ‘my_installer’]
Jeff L.
~


Jeff L.
http://blogrium.com/


#5

You know, we could even push Engines.start :whatever into the
environment file here. :stuck_out_tongue:

I’m doing that in my engines, but I don’t know if it’s something we’d
want as default engine behavior…

-jeff

On 4/4/06, James A. removed_email_address@domain.invalid wrote:

-jeff

On 4/4/06, Jeff L. removed_email_address@domain.invalid wrote:

http://svn.rails-engines.org/plugins/engines’]
into a new app with:
engine-developers mailing list
removed_email_address@domain.invalid

  • J *
    ~

engine-developers mailing list
removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org


Jeff L.
http://blogrium.com/


#6

By ‘push’ I presume you mean write (append) it to the file? I guess it
could be done… Probably the best thing for the moment my be sticking
that information (what you’re doing at the moment) up on the wiki.

  • james

On 4/4/06, Jeff L. removed_email_address@domain.invalid wrote:

On 4/4/06, James A. removed_email_address@domain.invalid wrote:

engines (or well, any kind of plugin)…
Commands::Plugin.parse! [‘install’, ‘http://my-cool-engine’]
$ script/plugin install http://example.com/svn/my_installer
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org

http://blogrium.com/


engine-developers mailing list
removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org

  • J *
    ~

#7

Thanks :slight_smile:

  • james

On 4/4/06, Jeff L. removed_email_address@domain.invalid wrote:

It would certainly be good if when you tried to install an engine, it

process. You can make a new plugin with just this file, called
Commands::Plugin.parse! [‘install’,
if this is already a well known practice or something. :stuck_out_tongue:


removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org

  • J *
    ~

#8

Okay, sounds good. Err, I mean, done:
http://www.rails-engines.org/wiki/pages/Developer+Tips

On 4/4/06, James A. removed_email_address@domain.invalid wrote:

I’m doing that in my engines, but I don’t know if it’s something we’d

Done. http://dev.rails-engines.org/tickets/122

checked for the engines plugin and installed it if necessary - fancy

my_installer for example, and then do something like this in it:
http://progrium.com/svn/vantage/trunk/widgets’]


Jeff L.
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org

  • J *
    ~

engine-developers mailing list
removed_email_address@domain.invalid
http://lists.rails-engines.org/listinfo.cgi/engine-developers-rails-engines.org


Jeff L.
http://blogrium.com/