Currently, my built structure for a plugin in is a bit messy: I'm using the normal IDEA project file to build the plugin locally. When I push it to the repo and travis-ci is building it, it uses the maven pom.xml
because for travis to work, it always has to download the complete IDEA sources.
Although this works, this has several drawbacks:
- I need to keep two built mechanisms up to date. This is
- When a new IDEA version is out (every few weeks), I need to change the SDK in maven and in my IDEA settings
- When I add a new library, change resources, etc. I need to do this for two the two settings as well
- I ran into problems when I kept the IDEA Maven plugin turned on because it saw the
pom.xml
and interfered with my local built. Turning it off means, I cannot download libraries with Maven which has the feature of tracking dependencies.
I saw that Gradle has an 'idea' plugin and after googling, I got the impression that Gradle is the preferred choice these days. I have seen Best way to add Gradle support to IntelliJ IDEA and I'm sure I can use the answers there to turn my pom.xml
into a valid build.gradle
.
However, maybe someone else has already done this or can provide a better approach. What I'm looking for is a unified way to build my plugin locally and on Travis-CI.
Some Details
For compiling an IDEA plugin, you need its SDK which you can access through an installation of IDEA or a download of the complete package. Locally, I'm using my installation for the SDK. With Travis, my maven built has the rule to download the tar.gz
and extract it.