2021-05-12 14:32:11
Intellij IDEA 外掛開發之自建外掛倉庫
Intellij IDEA 有一個自己的官方的外掛倉庫,但是當我們的開發的 Intellij IDEA 的外掛不能夠對外公開時,我們就需要搭建自己的 Intellij IDEA 的外掛倉庫。前不久我們也嘗試著使用Intellij IDEA自己開發一個外掛點選開啟連結。
搭建 Intellij IDEA 外掛倉庫
Intellij IDEA 的官方文件裡面有提到怎麼去新建一個外掛倉庫,但是,這部分的文件卻不在 Intellij IDEA 外掛的開發文件裡面,而是在外掛相關功能的使用文件裡面: https://www.jetbrains.com/help/idea/2016.3/adding-plugins-to-enterprise-repositories.html
這裡簡單對這個文件進行一個說明,如果需要新建一個外掛倉庫,非常簡單,只需要提供一個 URL,當存取這個 URL 的時候,返回如下的一個 XML 即可:
<plugins>
<plugin id="com.taobao.middleware.HotCode2Plugin" url="http://localhost/downloads/hotcode2-idea-plugin.jar" version="0.1"/>
<plugin id="com.alipay.sofa.andromeda" url="http://localhost/idea/download/com.alipay.sofa.andromeda-1.1.34.zip" version="1.1.34"/>
</plugins>
註:
id
為外掛的 ID,需要跟在外掛的plugin.xml
裡面的設定的 ID 一致。url
為外掛的 ZIP 包下載的地址。version
是外掛的版本號。
使用 gradle 來構建 intellij IDEA外掛
新增 Intellij Plugin
對 Gradle
的支援其實和 Android
差不多, 需要新增官方的外掛支援.
1, 在你 Intellij plugin 專案的根目錄裡執行命令 gradle init
來初始化一個 gradle
工程。
2, 修改 build.gradle
檔案,讓它能夠支援構建 intellij 外掛。
3, 新增 intellij build plugins
倉庫地址: https://plugins.gradle.org/plugin/org.jetbrains.intellij 官方推薦了兩種新增方式, 這裡我們採用第二種。
plugins {
id "org.jetbrains.intellij" version "0.1.10"
}
4, 使用 intellij idea 的外掛(這和Android新增外掛是一樣的) apply plugin: 'Java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'
5, 設定執行外掛的 intellij 版本以及沙箱地址
intellij {
version = 'IU-163.7342.3' //偵錯我們外掛的版本
sandboxDirectory = project.rootDir.canonicalPath + "/.sandbox" //外掛生成的臨時檔案的地址
}
完成以上操作, 我們需要用 Idea 來重新以 gradle 的工程來匯入我們的專案,這樣就可以支援 gradle 啦。 附上build.gradle的完整設定:
/*
* This build file was auto generated by running the Gradle 'init' task
* by 'darin' at '11/4/16 10:39 AM' with Gradle 2.12
*
* This generated file contains a commented-out sample Java project to get you started.
* For more details take a look at the Java Quickstart chapter in the Gradle
* user guide available at https://docs.gradle.org/2.12/userguide/tutorial_java_projects.html
*/
plugins {
id 'org.jetbrains.intellij' version "0.1.10"
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'jcenter' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
mavenCentral()
maven {
url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
}
}
intellij {
version = 'IU-163.7342.3'
plugins = ['JavaScriptLanguage', 'CSS']
sandboxDirectory = project.rootDir.canonicalPath + "/.sandbox"
}
sourceSets {
main.java.srcDirs = ['src', 'gen']
main.resources.srcDir 'resources'
test.java.srcDir 'test/src'
test.resources.srcDir 'test/data'
}
// In this section you declare the dependencies for your production and test code
dependencies {
compile fileTree(dir: 'lib', include: ['*.jar'])
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.18'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
compile 'com.google.zxing:core:3.2.1'
compile 'com.google.zxing:javase:2.2'
}
使用 Gradle 來快速發布外掛到自建倉庫
Jetbrains 官方提供了一個 Gradle Intellij Plugin 來幫助我們構建發布 Intellij IDEA 外掛。 對於發布 Intellij IDEA 外掛的支援,預設行為是發布到 Jetbrains 的官方的倉庫上面去的,不過在最新的 SNAPSHOT 版本中,這個外掛提供了一個屬性 host
可以設定自定義的倉庫,我們可以在自己的 build.gradle
檔案裡面設定這個 host
屬性:
publishPlugin.doFirst {
publishPlugin.host = 'http://ysera.alipay.net:9000/'
}
設定好了之後,就可以直接使用 gradle publishPlugin
來發布 Intellij IDEA 外掛了。不過這裡需要注意,我們上傳的外掛需要包含如下資訊: userName
:使用者名稱password
:密碼xmlId
:外掛的 ID,也就是在plugin.xml
裡面定義的 ID。file
:外掛的 ZIP 包。
所以到這裡,我們自建的外掛倉庫就可以使用了。
使用IntelliJ IDEA 13搭建Android整合式開發環境圖文教學 http://www.linuxidc.com/Linux/2015-09/123416.htm
IntelliJ IDEA 12 建立Web專案圖文詳細教學 http://www.linuxidc.com/Linux/2013-05/84213.htm
用IntelliJ IDEA開發Android程式圖文教學 http://www.linuxidc.com/Linux/2013-03/81471.htm
IntelliJ IDEA 12開發haXe NME應用設定指南 http://www.linuxidc.com/Linux/2013-01/77227.htm
IntelliJ IDEA執行Play Framework的test mode http://www.linuxidc.com/Linux/2013-07/87694.htm
Ubuntu 13.04 安裝IntelliJ IDEA 12 http://www.linuxidc.com/Linux/2013-11/93014.htm
IntelliJ IDEA 12建立Maven管理的Java Web專案(圖解) http://www.linuxidc.com/Linux/2014-04/99687p2.htm
IntelliJ IDEA 常用快捷鍵列表及技巧大全 http://www.linuxidc.com/Linux/2015-04/116398.htm
在 Ubuntu Linux 上安裝 IntelliJ IDEA http://www.linuxidc.com/Linux/2016-12/137946.htm
相關文章