Introduce `idea-plugin` goal to invoke intellij pants plugin via CLI

Review Request #3664 - Created April 8, 2016 and submitted

Yi Cheng
benjyw, nhoward_tw, peiyu, stuhood, zundel

This change enables calling intellij pants plugin from cli to import the targets/directories specified.

Similar to idea goal, idea-plugin goal makes a skeleton ipr project file, and in addition fill in the workspace iws file with target specs and project path, so the plugin will know how to continue to import the project as if the user is doing so.

Only dep is bootstrap.

[tw-mbp-yic pants (from_cli)]$ ./pants --explain idea-plugin 
Goal Execution Order:

bootstrap -> idea-plugin

Goal [TaskRegistrar->Task] Order:

bootstrap [jar-dependency-management->JarDependencyManagementSetup_bootstrap_jar_dependency_management, bootstrap-jvm-tools->BootstrapJvmTools_bootstrap_bootstrap_jvm_tools]
idea-plugin [idea-plugin->PluginGen_idea_plugin]

./pants idea-plugin --no-open examples/src/python/example/hello/main/ examples/tests/java/org/pantsbuild/example/hello/greet/ will generate a iws file containing targets and project path. (only one project path because that's the directory intellij is going to zoom into):

<?xml version="1.0"?>
<project version="4">
  <component name="PropertiesComponent">
    <property name="targets" value="['/Users/yic/workspace/pants/examples/src/python/example/hello/main/', '/Users/yic/workspace/pants/examples/tests/java/org/pantsbuild/example/hello/greet/']" />
    <property name="project_path" value="/Users/yic/workspace/pants/examples/src/python/example/hello/main/" />

Other change:
set default java language level to 8 for IdeGen


  • 0
  • 3
  • 2
  • 5
Description From Last Updated
Yi Cheng
Yi Cheng
Yi Cheng
Garrett Malmquist
Yi Cheng
Yi Cheng
Peiyu Wang
Stu Hood
Yi Cheng
Sameer Sundresh
Stu Hood
Eric Ayers
Eric Ayers
Garrett Malmquist
Yi Cheng
Review request changed

Status: Closed (submitted)

Change Summary:

d31ec5b4b1fb4f91e5beb685539ea14278dc62cf thanks gents!