[ANN] APIComparator 0.0.2

Hello,

It's plugin for comparing JAR files for API changes.

http://www.intellij.org/twiki/bin/view/Main/APIComparatorPlugin

Changes
-


0.0.2

  • Rewriten comparison engine

  • Dialog with progress bar while processing

  • GUI improvements

  • All UI form rebuilded with UI designer


Good luck!

0
6 comments
Avatar
Permanently deleted user

Is this plugin working with build 706 (IDEA 3.0.5)?

Thanks,
Marius

Alexey Efimov wrote:

Hello,

It's plugin for comparing JAR files for API changes.

http://www.intellij.org/twiki/bin/view/Main/APIComparatorPlugin

Changes
----
0.0.2

  • Rewriten comparison engine

  • Dialog with progress bar while processing

  • GUI improvements

  • All UI form rebuilded with UI designer


Good luck!


0
Avatar
Permanently deleted user

Hello Marius,

Yes, this is work for Ariadna 706.
After installation plugin put bcel.jar and forms_rt.jar into %IDEA_HOME%\lib or into %IDEA_HOME%\plugins\apiComparator\lib folder.

I also describe it at "Required JARs" section at http://www.intellij.org/twiki/bin/view/Main/APIComparatorPlugin

Thanks!

PS. Did you have any requests about this plugin? Please, let me know :)

0
Avatar
Permanently deleted user

Excellent, it works!

A few suggestions:
- Why don't you add bcel.jar and forms_rt.jar to the lib folder
so the plugin runs off the bat?
- Is there any reason why this has to be a plugin? It feels
like a stand alone app.
- After comparing two jar it would be nice to add some stats
(at least how many diffs).
- Options and commands like Show Diffs Only, Expand All, Next
Diff, Prev Diff would be great.

Great plugin!

Thanks,
Marius

Alexey Efimov wrote:

Hello Marius,

Yes, this is work for Ariadna 706.
After installation plugin put bcel.jar and forms_rt.jar into %IDEA_HOME%\lib or into %IDEA_HOME%\plugins\apiComparator\lib folder.

I also describe it at "Required JARs" section at http://www.intellij.org/twiki/bin/view/Main/APIComparatorPlugin

Thanks!

PS. Did you have any requests about this plugin? Please, let me know :)


0
Avatar
Permanently deleted user

Hello Marius,

- Why don't you add bcel.jar and forms_rt.jar to the lib folder
so the plugin runs off the bat?


It already support it, but it "magic" undocumented :)
You can run it by command file:

- Is there any reason why this has to be a plugin? It feels
like a stand alone app.


I hope that it will be in future. Now i like IDEA icons and use them in comparator. Ok, i go now and add new entry in Roadmap section :) thank you for remind!

- After comparing two jar it would be nice to add some stats
(at least how many diffs).


Yes, it will be soon. I also want to include some "reportings" after comparison.

- Options and commands like Show Diffs Only, Expand All, Next
Diff, Prev Diff would be great.


Thanks for fresh ideas, i will put it into Roadmap!

Some resume about "to be plugin, or not to be".
I want to make some usefull, sure, but... When i start writing this plugin first of all, i create test panel, that i can run from IntelliJ. So after some time my pannel come to look of easy comparator. And then i say, "OK, now i will reuse my panel in DialogWrapper". I hope that IntelliJ just replace all UI for my Swing elements and my panel will look fine and in-style of IntelliJ.
But i'm was wrong about it. Then i put plugin, I look that my toolbar (JToolBar) look badly, just like usual Swing application in default L&F. In second version i must be throw out my toolbar for best look in IntelliJ and outside of IntelliJ (standalone).
So, maybe it question about "how to make realy good application", but in practice it very hard to get realy independed application.
I hope that UIDesigner will grew faster with new Swing elements, then i can do some independed and standalone :)


Thank you!
Let me know if somethink crashes or any ideas visit you :)

0
Avatar
Permanently deleted user

A few more suggestions.

For browsing for jar files you could add two more buttons.

One would show the list of jars on the current project
class path.

The other would show the list of jars from the classpaths
of all the defined libraries.

Or you could combine these two buttons into one tha brings
up a dialog with two tabs (or even keep one button and use
three tabs).

Also in the Project window (Alt-1) using the Classpath view
you could a righ click menu entry. When you righ click on
a jar and then select API Comparator that could bring up
the comparator with that jar already selected in the right
pane and you would have to select only the left pane.

This would give a reason to use a plugin instead of a
stand alone app ;)

Cheers,
Marius

Alexey Efimov wrote:

Hello Marius,

>>- Why don't you add bcel.jar and forms_rt.jar to the lib folder
>>so the plugin runs off the bat?


It already support it, but it "magic" undocumented :)
You can run it by command file:
@set IDEA_HOME=D:\TOOLS\idea > @set PLUGIN_HOME=%IDEA_HOME%\plugins\apiComparator > @set CLASSNAME=org.apiComparator.Main > @set CLASSPATH= > @set CLASSPATH=%CLASSPATH%;%PLUGIN_HOME%\lib\apiComparator.jar > @set CLASSPATH=%CLASSPATH%;%PLUGIN_HOME%\lib\bcel.jar > @set CLASSPATH=%CLASSPATH%;%PLUGIN_HOME%\lib\forms_rt.jar > @set CLASSPATH=%CLASSPATH%;%PLUGIN_HOME%\lib\phantom-common-bin.jar > @set CLASSPATH=%CLASSPATH%;%IDEA_HOME%\lib\icons.jar > @%IDEA_HOME%\jre\bin\java -classpath %CLASSPATH% %CLASSNAME% > ]]>

>>- Is there any reason why this has to be a plugin? It feels
>>like a stand alone app.


I hope that it will be in future. Now i like IDEA icons and use them in comparator. Ok, i go now and add new entry in Roadmap section :) thank you for remind!

>>- After comparing two jar it would be nice to add some stats
>>(at least how many diffs).


Yes, it will be soon. I also want to include some "reportings" after comparison.

>>- Options and commands like Show Diffs Only, Expand All, Next
>>Diff, Prev Diff would be great.


Thanks for fresh ideas, i will put it into Roadmap!

Some resume about "to be plugin, or not to be".
I want to make some usefull, sure, but... When i start writing this plugin first of all, i create test panel, that i can run from IntelliJ. So after some time my pannel come to look of easy comparator. And then i say, "OK, now i will reuse my panel in DialogWrapper". I hope that IntelliJ just replace all UI for my Swing elements and my panel will look fine and in-style of IntelliJ.
But i'm was wrong about it. Then i put plugin, I look that my toolbar (JToolBar) look badly, just like usual Swing application in default L&F. In second version i must be throw out my toolbar for best look in IntelliJ and outside of IntelliJ (standalone).
So, maybe it question about "how to make realy good application", but in practice it very hard to get realy independed application.
I hope that UIDesigner will grew faster with new Swing elements, then i can do some independed and standalone :)


Thank you!
Let me know if somethink crashes or any ideas visit you :)


0
Avatar
Permanently deleted user

Perfect idea about adding JARs. I think i will create some think like "Add Content" in IntelliJ to put in comparison tree JARs or directory structure.

Thank you!

0

Please sign in to leave a comment.