Le support d'équipe Eclipse définit l'API qui permet aux plug-ins d'intégrer la fonction d'un référentiel de versionnage et de gestion de la configuration. La fonction mise à disposition par un référentiel affecte fondamentalement le flux de travail de l'utilisateur car il y a des étapes supplémentaires pour extraire des fichiers, comparer leur contenu au contenu local, les versionner et revenir aux fichiers mis à jour dans le référentiel. L'objectif de l'API du plug-in d'équipe est d'être suffisamment passive pour permettre aux fournisseurs de plug-in de référentiel de définir leur propre flux de travail afin que les utilisateurs qui connaissent leur produit puissent utiliser la plate-forme de manière similaire et fournir un support pour les flux de travaux détectés qui s'avèrent utiles pour les plug-ins d'équipe.
Cet objectif est atteint en utilisant plusieurs modules de création :
Un fournisseur de référentiel permet de synchroniser les ressources de l'espace de travail avec un emplacement distant. Il permet, au minimum, de publier des ressources dans l'espace de travail vers un emplacement distant et d'extraire des ressources d'un emplacement distant vers l'espace de travail. Un fournisseur de référentiel est associé à un projet et contrôle les ressources du projet en fournissant IFileModificationValidator et IMoveDeleteHook de manière facultative. Il n'y a qu'un fournisseur de référentiel associé à chaque projet. Un utilisateur associe un fournisseur de référentiel à un projet en spécifiant IConfigurationWizard. Les fournisseurs de référentiel peuvent également prendre part à l'exportation et à l'importation de projets dans l'espace de travail via la fonction d'ensemble de projets d'équipe. Pour prendre en charge cette possibilité, un fournisseur de référentiel doit implémenter ProjectSetCapability.
Permet aux autres plug-ins d'indiquer un traitement spécial des ressources en ce qui concerne les opérations d'équipe. Le fournisseur de référentiel peut marquer les ressources comme propres à l'équipe, utilisées essentiellement pour masquer les ressources pour les autres plug-ins. Cette opération est effectuée grâce à la méthode IResource#setTeamPrivateMember et sert généralement à masquer les métafichiers spécifiques au fournisseur de référentiel pour l'utilisateur. De même, les générateurs marquent souvent la sortie générée comme dérivée ce qui sert d'indice à un fournisseur de référentiel qui sait que la ressource est temporaire et peut être ignorée par le fournisseur de référentiel. Un fournisseur peut vérifier cet indicateur sur une ressource via la méthode IResource#isDerived.
Par ailleurs, d'autres plug-ins peuvent fournir des indices au fournisseur de référentiel sur les informations de type de fichier via l'extension org.eclipse.team.core.fileTypes et sur les fichiers communs qui doivent être ignorés par le référentiel via l'extension org.eclipse.team.core.ignore.
La prise en charge de la synchronisation fournit des classes et des interfaces permettant de gérer des collection d'informations de synchronisation dynamiques (SyncInfo, SyncInfoSet). Cette prise en charge permet de gérer les informations sur les variantes des ressources dans l'espace de travail. Par exemple, grâce au FTP, vous pouvez stocker des horodatages pour le dernier fichier distant et la base de la ressource actuellement chargée. La prise en charge de la synchronisation met à disposition des API qui permettent de gérer et de conserver des variantes des ressources et d'afficher un état de synchronisation à l'attention de l'utilisateur.
Le support de l'interface graphique est également structuré de façon passive. Des marques de réservation sont définies par le plug-in d'équipe pour les propriétés, préférences et actions du fournisseur d'équipe, mais c'est au fournisseur du plug-in que revient la définition de ces éléments de l'interface graphique. Le plug-in d'équipe inclut également un assistant de configuration personnalisable permettant aux utilisateurs d'associer des projets à des référentiels. Des plug-in peuvent fournir un contenu à cet assistant afin de communiquer des informations spécifiques au référentiel aux utilisateurs.
Plusieurs fournisseurs de référentiel peuvent coexister en toute quiétude au sein de la plate-forme. En fait, il est même possible de disposer de différentes implémentations de client pour le même référentiel installé. Par exemple, une implémentation peut installer un client CVS conçu pour les experts et une autre implémentation peut en installer un autre pour les utilisateurs débutants.