2014-06-07 16 views
9

Pracuję nad wtyczką dla IntelliJ IDEA. Sposób, w jaki to robię, polega na utworzeniu projektu wtyczki w IDEA, a następnie zapakowaniu tego w słoik z odpowiednim META-INF/plugin.xml i zainstalowaniu wtyczki ze słoika.Jak określić zależności bibliotek dla wtyczki IntelliJ IDEA?

Problem polega na tym, że chciałbym dodać zależność od org.scala-lang:scala-library:2.11.0. Mam to określone jako zależność biblioteki w projekcie IDEA, ale te informacje nigdy nie wydają się przekazywane do wygenerowanego pliku JAR.

Jak mogę uwzględnić te informacje w taki sposób, aby IntelliJ IDEA je rozpoznała?

+0

Co masz na myśli mówiąc „te informacje nigdy wydaje się być przekazywane do wygenerowanego JAR "? Co widzisz? Jakie błędy dostałeś? –

+0

[Udokumentowana struktura słoika wtyczki] (http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Plugin+Structure) nie zapewnia żadnego sposobu na określenie zależności biblioteki w słoiku. Mam nadzieję, że jest jakiś inny sposób na zrobienie tego (być może coś sprytnego z zależnością od wtyczki). – Owen

+0

Czy używasz maven? –

Odpowiedz

5

O ile rozumiem, chcesz dołączyć do biblioteki pewną bibliotekę (np. Bibliotekę scala) za pomocą wtyczki. To całkiem proste.

  1. Przejdź do Ustawień projektu, wybierz moduł i przejdź do zakładki Zależności. Ustaw zakres dla biblioteki, którą chcesz spakować do "Kompiluj". W tym przykładzie jest to biblioteka "checker-framework". Biblioteka "groovy-2.3.6" nie zostanie spakowana z powodu ustawienia jej zakresu na "Dostarczone". Zapisz zmiany.

    Module dependencies tab

  2. Przygotuj wtyczki do wdrożenia

    Prepare plugins for deployment action

  3. Wtedy masz wtyczki, spakowany, gotowy do wdrożenia (przesyłając do repo lub instalowania lokalnie) w katalogu głównym projektu. Będzie zawierał folder lib ze wszystkimi niezbędnymi słojami.

0

oficjalnie obsługiwane rozwiązanie do zarządzania zależność plugin jest użycie Gradle z gradle-intellij-plugin poprzez dependencies lub intellij.plugins punktów wejścia Gradle za. Jeśli chcesz dodać do uzależnienia od artefaktu (. Ex hostowane na Maven Central), a następnie skonfigurować dependencies tak jak normalnie w projekcie Gradle bazie:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
} 

dependencies { 
    compile("org.scala-lang:scala-library:2.11.0") 
} 

intellij.plugins punkt wejścia doda artefakt w bieżący projekt, a także znacznik <depends> do pliku plugin.xml. Aby zainstalować wtyczkę zewnętrznego obok własnego, na przykład jeśli używasz Plugin Extensions funkcji (Załóżmy, że wtyczka jest hostowany na JetBrains Plugin Repository), należy użyć następującego fragmentu:

plugins { 
    id "org.jetbrains.intellij" version "0.2.13" 
} 

intellij { 
    //... 
    plugins "org.intellij.scala:2017.2.638" 
}