Intellij 9 Development Experience
Getting the source and setting up for the first run was fairly painless after you find the download information. It was nice to see that the code repository was git. I ran into 2 issues in getting setup:
- Git clone failed with an unclear message initially. It turned out I was trying to clone using the git protocol behind a corporate firewall which was blocking it. As soon I was not behind the firewall, all went well. Be prepared... it is 924 MB.
- Setting up the run configuration wasn't complex, but it wasn't as advertised.
Here is what the Building and Running from the IDE from the checkout and build page should read:
- Open the project as a "new" directory-based project
- Configure a JSDK named "IDEA jdk", pointing to an installation of either JDK 1.6 (recommended) or JDK 1.5. This is on the project tab of the project structure.
- Increase the compiler heap size... default is 128M, it works with 512M :)
- Use Build | Make Project to build the code
- To run the code, use the provided shared run configuration "IDEA".
Important notes:
- You will see that there are circular dependencies between 4 of the project modules.
- With the default compiler heap size, you will get a compilation error ( which is erroneous )
- There are a number of deprecation warnings during compilation... this might be a great place for someone to get involved and do some clean up.
After you have an Intellij running another instance of Intellij :) Here is a list of resources to be familiar with:
- Source Repository Layout
- View PSI structure (under the tool menu) - PSI is an IDEA AST abstraction, which was the toughest learning curve. Learn it! Then look at the following clases and their usage in the code base: PsiUtilBase, PsiUtil, PsiResolveHelper, PsiResolveHelperImpl
End Result
In the end, I spent 4 hours adding in additional gradle task support into Intellij 9, created a patch and submitted to Peter... a few days later I was informed that it was committed to repository. Enhanced Gradle support is on it's way!
I had mixed feels when IDEA announced it was going open source, but now that it is... Let's get in there and make this an even better editor!
Kudos to JetBrains and it's community!
8 comments:
I've used Gradle for a project, but during development I run with an exploded web directory for efficiency. I had to sign an applet as part of the build to the exploded directory. I could only use ANT og Maven targets to be run during this build. Would have been great if one could add Gradle tasks instead. I had to add a simple ANT file in order to do this.
Any thoughts on the complexity to add this functionality?
how do we get a hold of your modifications?
@phil
It should be committed on IDEA git repo... if you would prefer it from me, let me know. I'll put it on github.
I've just started using Gradle.
Thanks for providing the patch!
Hi Ken.
I can't find new gradle syntax support (apply plugin instead usePlugin, task instead createTask) on idea trunk. (I looked into org.jetbrains.plugins.groovy.gradle package at groovy plugin).
For example, it uses PsiUtil.isMethodCall((GrMethodCallExpression)parent, "createTask") to lookup for custom tasks.
Can you point me to the location of your patch (maybe it is overrided somehow or moved to another location or so).
I've used Gradle for a project, but during development I run with an exploded web directory for efficiency. I had to sign an applet as part of the build to the exploded directory.Launch x431
Post a Comment