2016-04-29 74 views
2

我有gradle项目与多个复杂的JavaExec任务,我想要相应的想法运行配置为了方便。Gradle + Intellij的想法:运行配置

是否可以配置想法运行配置?想法插件或其他东西?

+1

可以配置的IntelliJ运行你想 – djodjo

+1

我知道任何gradle这个任务(S),但是这不是我问。 不方便使用插件,如jprofilier –

+1

它更好地添加您的问题的具体示例,否则其难以帮助 – djodjo

回答

6

专为一个自定义任务:

// create IDEA run configurations from Gradle JavaExec tasks 
task createRunConfigurations { 
    def runConfigurationsDir = new File(".idea/runConfigurations") 
    runConfigurationsDir.mkdirs() 

    tasks.withType(JavaExec).each { task -> 
     def taskName = task.name 
     def mainClass = task.main 
     def props = task.systemProperties.collect { k, v -> "-D$k=$v" }.join(' ') 
     def args = task.args.join(" ") 

     def writer = new FileWriter(new File(runConfigurationsDir, "${taskName}.xml")) 
     def xml = new MarkupBuilder(writer) 

     xml.component(name: "ProjectRunConfigurationManager") { 
      configuration(default: 'false', name: taskName, type: "Application", factoryName: "Application", singleton: "true") { 
       option(name: 'MAIN_CLASS_NAME', value: mainClass) 
       option(name: 'VM_PARAMETERS', value: props) 
       option(name: 'PROGRAM_PARAMETERS', value: args) 
       option(name: 'WORKING_DIRECTORY', value: 'file://$PROJECT_DIR$') 
       module(name: 'module-name') 
      } 
     } 
    } 
}