Subversion and perforce given with plugin development package don't compile

I am using Intellij Idea 7.0.4 build #7941.
I downloaded the plugin development kit It has got sources for perforce and subversion plugins.

The problem is that when I create a new project as plugin module taking these as my sources then the module has compilation errors as follows:

Subversion (svn4idea):
It requires org.tmatesoft.core.svn package which is not present in the source.
So what I did was I went to IDEA_HOME/plugins.
From there I took the subversion integration plugin which comes bundled with idea installation and from it opened the javasvn.jar file and extracted org.tmatesoft classes from it.
Then included the path to these classes in my IDEA SDK library's class path.
After this the project compiled successfully giving only 9 warnings for deprecations.
I created jar for my plugin.
Then removed the original subversion integration plugin and installed this one.
Now when I restart my intellij Idea then strange things happen.
The plugin creates subversion actions in the Version Control menu but clicking them does not perform anything.
Also if I go into project settings--> version Control then the interface does not open up.
Even the IDE suffers as for any open project the project tree which should appear on the left does not show (Please Check the attached snapshot).

On compilation it again reports missing classes, some of which are (For a complete error log please see the attached text file.):
Error:Error:line (32)cannot find symbol class PerforceBundle
Error:Error:line (33)cannot find symbol class ServerVersion
Error:Error:line (184)cannot find symbol class ServerVersion
Error:Error:line (7)cannot find symbol class ExecResult
Error:Error:line (9)cannot find symbol class PerforceTimeoutException
And so on...

Kindly help as I am trying to make a VCS plugin and I wanted to use these as reference. I hope the files provided in the plugin development package, are up to date as I am following the VCS APIs from there but I'm unable to understand much from them as they are not completely documented.

Subversion causes project tree to disappear.JPG
Comment actions Permalink

you should be able to solve most of those by adding the jars found in IDEA_HOME/plugins/]]>/lib to your plugin classpath

where plugin is either svn4idea or perforce

Comment actions Permalink

Well as I wrote in my post when I take all the libraries except svn4idea.jar from the bundled in plugin the svn4idea code compiles and the new plugin gets created but when I install it, it hurts the IDE real bad. As you could see in the attached image, the project tree disappears.
Moreover the subversion actions only appear in the "Version Control" menu item but on clicking them nothing happens.
And even you can't open "Version Control" for configuration from the project settings.

Edited by: Kunjan on Oct 20, 2008 3:17 PM

Comment actions Permalink

Are you trying to install the modified plugins in IDEA ?

I guess there's gonna be a lot of conflicts with the IDEA integrated ones, unless you heavily modify the plugin.xml files and maybe also change all package names

Comment actions Permalink

Yes I am trying to install the modified plugin. Infact nothing has been modified but just the libraries, I mentioned earlier, have been imported.

I have removed the svn4idea plugin which comes with the IDEA installation. I thought that was the only one that could cause the conflicts.

Why do I need to worry about other plugins?

I have been assigned to make a plugin for VCS and for that also I should know what are the don'ts that I should keep in mind while naming the packages.

Edited by: Kunjan on Oct 20, 2008 4:34 PM

Comment actions Permalink

What I would suggest, is rather start your plugin from scratch, with its own (plugin) name and package names and harvest what you want from Subversion/perforce/any others.

That's actually what I'm doing on the mks one ( if you want to have a look, the source is available).

I never tried what you describe, so I have no idea what happens


Please sign in to leave a comment.