Different openapi.jar in Maven Central and IntelliJ CE
I've noticed that idea-IC-141.1532.4/lib/openapi.jar does not appear to contain the same classes as the one from http://mvnrepository.com/artifact/com.intellij/openapi
In particular the former contains com.intellij.util.PlatformUtils and the latter doesn't.
elharo@elharo:~/.gradle/caches/artifacts-23/filestore$ jar tvf IntelliJ/idea-IC-141.1532.4/lib/openapi.jar |grep Platform
2015 Thu Jun 18 22:45:04 EDT 2015 com/intellij/patterns/PlatformPatterns$1.class
3486 Thu Jun 18 22:44:46 EDT 2015 com/intellij/patterns/PlatformPatterns.class
6578 Thu Jun 18 22:44:46 EDT 2015 com/intellij/util/PlatformIcons.class
3084 Thu Jun 18 22:44:46 EDT 2015 com/intellij/util/PlatformUtils.class
346 Thu Jun 18 22:44:48 EDT 2015 com/intellij/util/PlatformUtilsCore.class
2331 Thu Jun 18 22:48:12 EDT 2015 com/intellij/openapi/externalSystem/service/project/PlatformFacade.class
4546 Thu Jun 18 22:47:14 EDT 2015 com/intellij/openapi/actionSystem/PlatformDataKeys.class
1228 Thu Jun 18 22:47:10 EDT 2015 com/intellij/openapi/wm/StatusBarWidget$PlatformType.class
elharo@elharo:~/.gradle/caches/artifacts-23/filestore$ jar tvf com.intellij/open*/*/jar/*/*jar|grep Platform
elharo@elharo:~/.gradle/caches/artifacts-23/filestore$ ls com.intellij/open*/*/jar/*/*jar
com.intellij/openapi/7.0.3/jar/5d93ad6b315b8a88b9e742f58ecef1f673c12823/openapi-7.0.3.jar
I'm pretty sure there are a lot of other classes missing as well.
Is there a reason fro this discrepancy? Are there Maven artifacts that do provide the full complement of IntelliJ classes? I'm trying to create a gradle build for an IntelliJ plugin.
Please sign in to leave a comment.
Yes, there is a reason for the discrepancy. The jar from Maven Central is for IntelliJ IDEA 7.0.3, not 14.1.
At this time there is no official Maven repository where the IntelliJ IDEA OpenAPI jars are published. We're working on a Gradle plugin to support building of IntelliJ IDEA plugins with Gradle, but it hasn't been officially released yet.
OK, that makes sense. In the meantime would I vilate any license agreement if I were to check the relevant jars into my own repository?
IntelliJ IDEA Community Edition is available under the Apache 2 license. The license allows you to redistribute the code in any form - this includes checking the jars into your own repository.