## Queue with IntelliJ IDEA http://gatkforums.broadinstitute.org/gatk/discussion/1309/queue-with-intellij-idea
We have found it that Queue works best with IntelliJ IDEA Community Edition (free) or Ultimate Edition installed with the Scala Plugin enabled. Once you have downloaded IntelliJ IDEA, follow the instructions below to setup a Sting project with Queue and the Scala Plugin.
[[File:sting_project_libraries.png|300px|thumb|right|Project Libraries]] [[File:sting_module_sources.png|300px|thumb|right|Module Sources]] [[File:sting_module_dependencies.png|300px|thumb|right|Module Dependencies]] [[File:sting_module_scala_facet.png|300px|thumb|right|Scala Facet]]
Build Queue from source from the command line with ant queue, so that:
queue-extensions for the GATK are generated to the build folderFile > SettingsIDE Settings in the left navigation list select PluginsAvailable tab under pluginsscala pluginNo. The correct scala libraries and compiler are already available in the lib folder from when you built Queue from the command lineRestart IntelliJ to load the scala pluginSelect the menu File... > New Project...
On the first page of "New Project" select
Create project from scratch
Click Next >
On the second page of "New Project" select
Set the project Name: to Sting
Set the Project files location: to the directory where you checked out the Sting git repository, for example /Users/jamie/src/Sting
Uncheck Create Module
Click Finish
The "Project Structure" window should open. If not open it via the menu File > Project Structure
Under the Project Settings in the left panel of "Project Structure" select Project
Make sure that Project SDK is set to a build of 1.6
If the Project SDK only lists <No SDK> add a New > JSDK pointing to /System/Library/Frameworks/JavaVM.framework/Versions/1.6
Under the Project Settings in the left panel of "Project Structure" select Libraries
Click the plus (+) to create a new Project Library
Set the Name: to Sting/lib
Select Attach Jar Directories
Select the path to lib folder under your SVN checkout
Under the Project Settings in the left panel of "Project Structure" select Modules
Click on the + box to add a new module
On the first page of "Add Module" select
Create module from scratch
Click Next \>
On the second page of "Add Module" select
Set the module Name: to Sting
Change the Content root to: <directory where you checked out the Sting SVN repository>
Click Next \>
On the third page
Uncheck all of the other source directories only leaving the java/src directory checked
Click Next \>
On fourth page click Finish
Back in the Project Structure window, under the Module 'Sting', on the Sources tab make sure the following folders are selected
Source Folders (in blue):
public/java/src
public/scala/src
private/java/src (Broad only)
private/scala/src (Broad only)
build/queue-extensions/srcTest Source Folders (in green):
public/java/test
public/scala/test
private/java/test (Broad only)
private/scala/test (Broad only)In the Project Structure window, under the Module 'Sting', on the Module Dependencies tab select
Click on the button Add...
Select the popup menu Library...
Select the Sting/lib library
Click Add selected
Refresh the Project Structure window so that it becomes aware of the Scala library in Sting/lib
Click the OK button
Reopen Project Structure via the menu File > Project Structure
Sting module
Click on the plus (+) button above the second panel module
In the popup menu under Facet select Scala
On the right under Facet 'Scala' set the Compiler library: to Sting/lib
Click OKFile > SettingsProject Settings [Sting] in the left navigation list select Compiler then Annotation ProcessorsEnable annotation processingobtain processors from the classpath selectedOK[[File:queue_debug.png|300px|thumb|right|Queue Remote Debug]]
In IntelliJ 10 open the menu Run > Edit Configurations.
Click the gold [+] button at the upper left to open the Add New Configuration popup menu.
Select Remote from the popup menu.
With the new configuration selected on the left, change the configuration name from 'Unnamed' to something like 'Queue Remote Debug'.
Set the Host to the hostname of your server, and the Port to an unused port. You can try the default port of 5005.
From the Use the following command line arguments for running remote JVM, copy the argument string.
On the server, paste / modify your command line to run with the previously copied text, for example java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 Queue.jar -S myscript.scala ....
If you would like the program to wait for you to attach the debugger before running, change suspend=n to suspend=y.
OK to save your changes.Queue Remote Debug is selected via the configuration drop down or Run > Edit Configurations.Run > Debug.From Stack overflow:
Point IntelliJ to http://download.oracle.com/javase/6/docs/api/.
Go to File -> Project Structure -> SDKs -> Apple 1.x -> DocumentationPaths, and the click specify URL.
In IntelliJ, open File -> Project Structure. Click on "SDKs" under "Platform Settings". Add the following path under the Sourcepath tab: /Library/Java/JavaVirtualMachines/1.6.0_29-b11-402.jdk/Contents/Home/src.jar!/src