New custom type of run configuration

My project is a bit complicated and depends on some dynamically generated jni dependencies.
I figured that the best way to handle it would be to add a custom type of run configuration.

Where do I start?
Are there good (simple) examples of adding a custom type of run configuration?

Piotr Gabryanczyk

4 comments

Take a look at my plugin https://github.com/ishchenko/idea-nginx

Run configurations are pretty simple there.

0

I have been using your idea-nginx git project as a guide for my custom run configuration in my Idea plugin.  Using your plugin as a guide, I was able to succesfully create the run configuration I needed.  However, I need to attach the Idea console to my running process, and I'm a little unclear as to how I'm supposed to make the output of my execution be the output that shows up in the idea console, and the Idea-nginx project seems to have just a limited amount of output and does not provide a clear template for doing that.  Do you know anything about how to do that? Thanks.

0

See the RunProfileState.execute() method and its return value, the ExecutionResult class. You need to return an instance of DefaultExecutionResult from this method, and to pass in a ProcessHandler instance to its constructor.

You can find an example here: https://github.com/JetBrains/intellij-plugins/blob/master/cucumber-java/src/org/jetbrains/plugins/cucumber/java/run/CucumberJavaRunConfiguration.java

0

Thanks! The tip helped.  I was able to get the log panel to show up.  I made my own ProcessHandler that extends ProcessHandler (since I don't have to do any OS level stuff, nor does it have to run in a seperate process) and wrote a method that starts my program.  There was some hacky code where I attached the output of my program to the ConsoleView object, but besides that it all worked pretty well.

0

Please sign in to leave a comment.