[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.platform] Re: vss plugin with eclipse 3.3

1. make sure CVS and PDE plugins are in eclipse
2. use eclipse 3.3M7 or later, create a new eclipse project for the vssplugin
3. Right click on project, Team -> Share Project...
4. CVS.  Next> Create New Repository Location.  Next>
5. Host: vssplugin.cvs.sourceforge.net
   Repository path: /cvsroot/vssplugin
   User: anonymous
   Connection type: pserver
   Use port: 2401
   Use an existing module...
	vssplugin-core
    Next>
    Select Tag: HEAD
    Next>

6. This will download all of the files.


After getting the files, you will see compile errors. You may fix them yourself (they are pretty straight forward) or may overlay the patch.


Patch the .class files from the vssplugin/bin directory into the vssplugin.jar.

If you fix some of the deprecated warnings, you may also be able to get rid of the "begin rule" exceptions.

-Jeff


Zohar wrote:
Thanks Jeff,
Can you explain how I can get a working plugin? I'll be glad to help you test it...


Thanks,
Zohar.

"Jeff Barcalow" <barcalow@xxxxxxxx> wrote in message news:f35nr4$d9s$1@xxxxxxxxxxxxxxxxxxxx
Jeff Barcalow wrote:
Paul Webster wrote:
Jeff Barcalow wrote:
The stack trace is:
java.lang.VerifyError: (class: org/vssplugin/ui/view/CheckOutView, method: <init> signature: ()V) Incompatible argument to function
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:170)





That is an odd error from the vssplugin ... RegistryStrategyOSGI.createExecutableExtension(*) always create the no-arg constructor, and I'm sure CheckOutView has always provided one. Is it complaining about the binary compatibility of the vss CheckOutView? If CheckOutView didn't have a no-arg constructor I'd expect that it was some kind of no method found error.


After M6 only PMC approved API changes were allowed. That's very small number. Which API do you think has changed?

PW

I am not familiar with the vssplugin code, but I just grabbed part of it from sourceforge. It compiles with 3.3M6, but with 3.3.M7 it has 32 compile errors. The VerifyError is because CheckOutView has data members that inherit from eclipse objects, but no longer have a consistent class hierarchy.

Most look errors like they are related to vssplugin classes that inherited from
org.eclipse.team.internal.ui.actions.TeamAction
Maybe the vssplugin should not have inherited from a class in an "internal" package.


It looks like in M6 TeamAction extends ActionDelegate while M7
extends AbstractHandler.

- 13 of the errors are because TeamAction added an abstract method executed(IAction).

- 6 of the errors are because of a thrown exception change with isEnabled()

- 4 of the errors are "cannot reduce the visibility of inherited method"
  AbstractHandler.isEnabled()

- 9 of the errors are because ActionDelegate objects are now IActionDelegate.

It is relatively easy to fix the compile errors, but that does not mean the
plug-in is working correctly.



-Jeff


I've posted a "potential" source code patch at:
http://sourceforge.net/tracker/?group_id=54205&atid=473013

I could not post the jar because of an attachment size limit.
Anyone interested in using this would have to get the rest
of the project from the CVS and then apply the changes.

I'm still testing the modified JAR myself.

-Jeff