How do you write a plugin for Ariadna and Aurora?

Hi all,

I've got a plugin that I wrote for Ariadna but I would like it to
support both Ariadna and Aurora without having to maintain to separate
versions of my plugin. What techniques have you used to make your plugin
support both versions?

Thanks,
Gordon

--
Gordon Tyler (Software Developer)
Quest Software <http://java.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: 416-643-4846 | Fax: 416-594-1919

3 comments
Comment actions Permalink

Looks like impossible thing :)

"Gordon Tyler" <gordon.tyler@quest.com> wrote in message news:bkfj52$sfq$1@is.intellij.net...

Hi all,

>

I've got a plugin that I wrote for Ariadna but I would like it to
support both Ariadna and Aurora without having to maintain to separate
versions of my plugin. What techniques have you used to make your plugin
support both versions?

>

Thanks,
Gordon

>

--
Gordon Tyler (Software Developer)
Quest Software <http://java.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: 416-643-4846 | Fax: 416-594-1919

>


0
Comment actions Permalink

BTW, I think Migration tool in IDEA may help to migrate plugin from Ariadna.
So, using OpenAPI of Ariadna XOR Aurora :) you can have plugin worked on
Ariadna and also be migrated by pressing one button to Aurora.

But it be 2 different plugins, sure...

--
Alexey Efimov, Software Engineer
Sputnik Labs,
http://www.spklabs.com
"Stanislav Davydov (JetBrains)" <stathik@intellij.com> wrote in message
news:bkujch$469$2@is.intellij.net...

Looks like impossible thing :)

>

"Gordon Tyler" <gordon.tyler@quest.com> wrote in message

news:bkfj52$sfq$1@is.intellij.net...

Hi all,

>

I've got a plugin that I wrote for Ariadna but I would like it to
support both Ariadna and Aurora without having to maintain to separate
versions of my plugin. What techniques have you used to make your plugin
support both versions?

>

Thanks,
Gordon

>

--
Gordon Tyler (Software Developer)
Quest Software <http://java.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: 416-643-4846 | Fax: 416-594-1919

>

>
>


0
Comment actions Permalink

You can decide at load time what to load (e.g. either Ariadna or Aurora factory). Have Aurora/Ariadna specific classes that will call necessary methods. If the code doesn't compile (e.g. you're writing the code against Aurora jars), you'll have to use reflection.

You can also look at the source code of TabSwitch-0.6.7, Select-0.1, Reformat-0.5, Intention-0.3.1 (they use this technique described above). They were written against Aurora jars but they do work with Ariadna despite incompatible changes.


Timur

0

Please sign in to leave a comment.