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] || ""
