Skip to content

maximehamm/Any2Json

Repository files navigation

Any to Json

Developped by Maxime HAMM [email protected]

This plugin is compatible with all Jetbrain products

  • plugin : main plugin code
  • extensions : extensions per language :
    • java
    • kotlin
    • typescript
    • ...
  • common : code used by plugin and extensions

Market place location

https://plugins.jetbrains.com/plugin/16055-any-to-json/

Installation

Import using gradle (Gradle should use Java 11)

  • Launch task build from root module
  • Run all tests from module ./test

Run

Launch task runIde from plugin module

Get ready to publish to market place

Setup a system variable :

  • Edit .bash_profileand addexport ORG_GRADLE_PROJECT_intellijPublishToken='xxxx'`
  • Or launch this command : launchctl setenv ORG_GRADLE_PROJECT_intellijPublishToken 'xxxx'

Token is known by Maxime HAMM :)

Prepare to publish a release

  • Build using task build from root module
  • Run tests in ./test module
  • Verify compatibility using task runPluginVerifier from plugin module

Publishing a new release

  • Upgrade version in ./build.gradle
  • Update change note in ./plugin/build.gradle
  • Publish to marketplace using task publishPlugin from module .plugin

Contributing to Any to Json

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 !

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages