Repository: buildr
Updated Branches:
  refs/heads/master 2e664469e -> 428c950d1


Add ipr.add_java_configuration method for defining a java 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/ccf6f653
Tree: http://git-wip-us.apache.org/repos/asf/buildr/tree/ccf6f653
Diff: http://git-wip-us.apache.org/repos/asf/buildr/diff/ccf6f653

Branch: refs/heads/master
Commit: ccf6f6539730977f38ab0de4d9c823885708b675
Parents: 2e66446
Author: Peter Donald <[email protected]>
Authored: Sat May 31 13:48:53 2014 +1000
Committer: Peter Donald <[email protected]>
Committed: Sat May 31 13:48:53 2014 +1000

----------------------------------------------------------------------
 CHANGELOG              |  2 ++
 lib/buildr/ide/idea.rb | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/buildr/blob/ccf6f653/CHANGELOG
----------------------------------------------------------------------
diff --git a/CHANGELOG b/CHANGELOG
index d2e479e..c2c8a9f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,6 @@
 1.4.18 (Pending)
+* 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',
           'finalizers' and 'braces'.
 * Change: Upgrade the version of PMD in use to 5.1.1.

http://git-wip-us.apache.org/repos/asf/buildr/blob/ccf6f653/lib/buildr/ide/idea.rb
----------------------------------------------------------------------
diff --git a/lib/buildr/ide/idea.rb b/lib/buildr/ide/idea.rb
index 760ffe1..fa2e2f3 100644
--- a/lib/buildr/ide/idea.rb
+++ b/lib/buildr/ide/idea.rb
@@ -822,6 +822,41 @@ module Buildr #:nodoc:
         end
       end
 
+      def add_java_configuration(project, classname, options = {})
+        args = options[:args] || ''
+        dir = options[:dir] || "file://$PROJECT_DIR$/"
+        debug_port = options[:debug_port] || 2599
+        module_name = options[:module_name] || project.iml.id
+        jvm_args = options[:jvm_args] || ''
+        name = options[:name] || classname
+
+        add_to_composite_component(self.configurations) do |xml|
+          xml.configuration(:name => name, :type => 'Application', 
:factoryName => 'Application', :default => !!options[:default]) do |xml|
+            xml.extension(:name => 'coverage', :enabled => 'false', :merge => 
'false', :sample_coverage => 'true', :runner => 'idea')
+            xml.option(:name => 'MAIN_CLASS_NAME', :value => classname)
+            xml.option(:name => 'VM_PARAMETERS', :value => jvm_args)
+            xml.option(:name => 'PROGRAM_PARAMETERS', :value => args)
+            xml.option(:name => 'WORKING_DIRECTORY', :value => dir)
+            xml.option(:name => 'ALTERNATIVE_JRE_PATH_ENABLED', :value => 
'false')
+            xml.option(:name => 'ALTERNATIVE_JRE_PATH', :value => '')
+            xml.option(:name => 'ENABLE_SWING_INSPECTOR', :value => 'false')
+            xml.option(:name => 'ENV_VARIABLES')
+            xml.option(:name => 'PASS_PARENT_ENVS', :value => 'true')
+            xml.module(:name => module_name)
+            xml.envs
+            xml.RunnerSettings(:RunnerId => 'Debug') do |xml|
+              xml.option(:name => 'DEBUG_PORT', :value => debug_port.to_s)
+              xml.option(:name => 'TRANSPORT', :value => '0')
+              xml.option(:name => 'LOCAL', :value => 'true')
+            end
+            xml.RunnerSettings(:RunnerId => 'Run')
+            xml.ConfigurationWrapper(:RunnerId => 'Debug')
+            xml.ConfigurationWrapper(:RunnerId => 'Run')
+            xml.method
+          end
+        end
+      end
+
       def add_gwt_configuration(launch_page, project, options = {})
         name = options[:name] || "Run #{launch_page}"
         shell_parameters = options[:shell_parameters] || ""

Reply via email to