Desarrollo de complementos de Eclipse: obtención de información del proveedor del equipo

Soy muy nuevo en el desarrollo de complementos de eclipse. El obstáculo más grande que estoy enfrentando ahora es dónde / cómo get los datos de varios otros complementos. Me está costando mucho encontrar documentation para esto. Por ejemplo, el complemento Proveedor de equipo …

  1. ¿Cómo leo la revisión svn de un file? Digamos que tengo un IResourceChangeListener y quiero hacer un seguimiento del número de revisión svn de un file (si el usuario hizo una actualización, por ejemplo).
  2. Si quiero preguntarle a svn si hay actualizaciones pendientes para un proyecto, ¿cómo hablo con el proveedor del equipo eclipse?

No estoy seguro de por donde empezar…

¡Gracias!

Finalmente descubrí lo que estaba buscando después de muchas horas de búsqueda. Lamentablemente, dado que tengo less de 100 rep. No he podido publicar hasta ahora …

Estoy haciendo un pequeño progreso en esto. Al azar tropecé con esto mientras vertía a través del código fuente de eclipse.

El siguiente fragment de código supervisa todo lo que sucede con respecto a un proyecto habilitado para svn. Si guarda un file, a una actualización, revertir etc. Cualquier cosa que toque los files o los metadatos de los files. Simplemente imprimo el nombre del file / direcory y su número de revisión.

Versión subversiva:

final Subscriber subscriber = UpdateSubscriber.instance(); subscriber.addListener(new ISubscriberChangeListener() { @Override public void subscriberResourceChanged(ISubscriberChangeEvent[] events) { for(ISubscriberChangeEvent event : events) { UpdateSyncInfo info = (UpdateSyncInfo) subscriber.getSyncInfo(event.getResource()); System.out.println(event.getResource().getName()+" revision: "+uInfo.getLocalResource().getRevision()); } } }); 

El verdadero truco fue averiguar el punto de input para get esta información: UpdateSubscriber. Sería bueno si hubiera un buen recurso para encontrar este tipo de información.

Versión de Subclipse:

 private static final Subscriber subscriber = SVNWorkspaceSubscriber.getInstance(); private static final ISubscriberChangeListener subsciberListener = new ISubscriberChangeListener() { @Override public void subscriberResourceChanged(ISubscriberChangeEvent[] events) { try { for (ISubscriberChangeEvent event : events) { SVNStatusSyncInfo info = (SVNStatusSyncInfo) subscriber.getSyncInfo(event.getResource()); System.out.println(event.getResource().getName() + " revision: " + info.getRepositoryRevision()); } } catch (TeamException e) { } } }; @Override public void start(BundleContext context) throws Exception { super.start(context); subscriber.addListener(subsciberListener); } @Override public void stop(BundleContext context) throws Exception { subscriber.removeListener(subsciberListener); super.stop(context); } 

Para get información general sobre Team API en la plataforma Eclipse, revise la documentation en el sistema de ayuda.

http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/team.htm

(Si está trabajando con el material del suscriptor, parece que se menciona en el tema "Soporte de synchronization" -> "Más allá de lo básico").

El documento de Java para los packages de equipo también ayuda a:

http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/team/core/package-summary.html

Si intenta integrar o ampliar los proveedores de Subclipse o Subversive Team, puede que tenga más suerte haciendo su pregunta en sus foros:

http://subclipse.tigris.org/ds/viewForums.do

http://www.eclipse.org/subversive/newsgroup.php

Un punto de partida sería explorar las fonts de subversivo para ver cómo hicieron su implementación de las características que está describiendo.

Las fonts para eclipse.team (el module común para todos los complementos de VCS) están disponibles en un repository de Git .

Las fonts de EGit , otro complemento de VCS (para Git) también pueden ser instructivas.