Developped by Maxime HAMM maxime.hamm.pro@gmail.com
This plugin is compatible with all Jetbrain products
plugin: main plugin codeextensions: extensions per language :javakotlintypescript- ...
common: code used by plugin and extensions
https://plugins.jetbrains.com/plugin/16055-any-to-json/
Import using gradle (Gradle should use Java 11)
- Launch task
buildfrom root module - Run all tests from module
./test
Launch task runIde from plugin module
Setup a system variable :
- Edit .bash_profile
and addexport ORG_GRADLE_PROJECT_intellijPublishToken='xxxx'` - Or launch this command : launchctl setenv ORG_GRADLE_PROJECT_intellijPublishToken 'xxxx'
Token is known by Maxime HAMM :)
- Build using task
buildfrom root module - Run tests in
./testmodule - Verify compatibility using task
runPluginVerifierfrompluginmodule
- Upgrade version in
./build.gradle - Update change note in
./plugin/build.gradle - Publish to marketplace using task
publishPluginfrom module.plugin
In order to let the plugin be compatible with any language,
do not add any dependency to Intellij IDEA plugin
in modules plugin and common. i.e do not change
this in build.gradle files :
intellij {
version '2020.3'
intellij.type = 'IC'
}
To support new languages, you'll have to build a new module for it
and and use the extension point.
For example look how Java is supported at plugin.xml :
<depends optional="true" config-file="plugin-withJava.xml">
com.intellij.java</depends>
Then look at io.nimbly.any2json.Java2Json implementation !
Enjoy !