You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by do...@apache.org on 2014/05/31 06:00:41 UTC
[2/3] git commit: Add ipr.add_ruby_script_configuration method for
defining a ruby configuration within IDEA.
Add ipr.add_ruby_script_configuration method for defining a ruby configuration within IDEA.
Project: http://git-wip-us.apache.org/repos/asf/buildr/repo
Commit: http://git-wip-us.apache.org/repos/asf/buildr/commit/c21e8e2e
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/c21e8e2e
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/c21e8e2e
Branch: refs/heads/master
Commit: c21e8e2eb6dd4e0ef826b440d5e524140256f33c
Parents: ccf6f65
Author: Peter Donald <pe...@realityforge.org>
Authored: Sat May 31 13:50:18 2014 +1000
Committer: Peter Donald <pe...@realityforge.org>
Committed: Sat May 31 13:50:18 2014 +1000
----------------------------------------------------------------------
CHANGELOG | 2 ++
lib/buildr/ide/idea.rb | 29 +++++++++++++++++++++++++++++
2 files changed, 31 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/buildr/blob/c21e8e2e/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index c2c8a9f..9de217f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,6 @@
1.4.18 (Pending)
+* Added: Add ipr.add_ruby_script_configuration method for defining a ruby
+ configuration within IDEA.
* Added: Add ipr.add_java_configuration method for defining a java
configuration within IDEA.
* Change: Include additional rules in default pmd rule set: 'logging-java',
http://git-wip-us.apache.org/repos/asf/buildr/blob/c21e8e2e/lib/buildr/ide/idea.rb
----------------------------------------------------------------------
diff --git a/lib/buildr/ide/idea.rb b/lib/buildr/ide/idea.rb
index fa2e2f3..900a728 100644
--- a/lib/buildr/ide/idea.rb
+++ b/lib/buildr/ide/idea.rb
@@ -857,6 +857,35 @@ module Buildr #:nodoc:
end
end
+ def add_ruby_script_configuration(project, script, options = {})
+ args = options[:args] || ''
+ path = ::Buildr::Util.relative_path(File.expand_path(script), project.base_dir)
+ name = options[:name] || File.basename(script)
+ dir = options[:dir] || "$MODULE_DIR$/#{path}"
+ sdk = options[:sdk] || 'rbenv: ' + (IO.read(File.dirname(__FILE__) + '/../.ruby-version').trim rescue "jruby-#{RUBY_VERSION}")
+
+ add_to_composite_component(self.configurations) do |xml|
+ xml.configuration(:name => name, :type => 'RubyRunConfigurationType', :factoryName => 'Ruby', :default => !!options[:default]) do |xml|
+
+ xml.module(:name => project.iml.id)
+ xml.RUBY_RUN_CONFIG(:NAME => 'RUBY_ARGS', :VALUE => '-e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift)')
+ xml.RUBY_RUN_CONFIG(:NAME => 'WORK DIR', :VALUE => dir)
+ xml.RUBY_RUN_CONFIG(:NAME => 'SHOULD_USE_SDK', :VALUE => 'true')
+ xml.RUBY_RUN_CONFIG(:NAME => 'ALTERN_SDK_NAME', :VALUE => sdk)
+ xml.RUBY_RUN_CONFIG(:NAME => 'myPassParentEnvs', :VALUE => 'true')
+
+ xml.envs
+ xml.EXTENSION(:ID => 'BundlerRunConfigurationExtension', :bundleExecEnabled => 'false')
+ xml.EXTENSION(:ID => 'JRubyRunConfigurationExtension')
+
+ xml.RUBY_RUN_CONFIG(:NAME => 'SCRIPT_PATH', :VALUE => script)
+ xml.RUBY_RUN_CONFIG(:NAME => 'SCRIPT_ARGS', :VALUE => args)
+ xml.RunnerSettings(:RunnerId => 'RubyDebugRunner')
+ xml.ConfigurationWrapper(:RunnerId => 'RubyDebugRunner')
+ end
+ end
+ end
+
def add_gwt_configuration(launch_page, project, options = {})
name = options[:name] || "Run #{launch_page}"
shell_parameters = options[:shell_parameters] || ""