De nombreuses ressources sont créées lors d'opérations de traduction, de génération, de copie ou autres traitements de fichiers que l'utilisateur crée et édite. Les ressources dérivées ne constituent pas des données d'origine et peuvent être créées à nouveau à partir de leurs fichiers source. Les fichiers dérivés sont souvent exclus de certains types de traitement.
Par exemple, les ressources dérivées ne sont généralement pas conservées dans un référentiel d'équipe, sachant qu'elles l'encombrent, changent régulièrement et peuvent être créées à nouveau à partir de leurs fichiers source. Les fournisseurs d'équipe identifient difficilement les fichiers qui sont dérivés. L'API de ressources fournit un mécanisme aux plug-ins pour indiquer quelles ressources qu'ils créent sont dérivées.
les plug-ins peuvent utiliser IResource.setDerived(boolean) pour indiquer qu'une ressource est dérivée d'autres ressources. Les ressources créées ne sont par défaut pas dérivées ; cette méthode doit donc être appliquée pour marquer explicitement la ressource comme dérivée. Le plus souvent, un sous-dossier du projet est marqué comme dérivé lorsqu'un dossier "en sortie" (tel que "bin" dans les projets Java) est créé par le plug-in.
D'autres plug-in, généralement des fournisseurs d'équipe, peuvent utiliser IResource.isDerived pour déterminer si une ressource précise doit être gérée par le référentiel. Les tentatives pour marquer des projets ou la racine de l'espace de travail comme dérivés seront ignorées.
Remarque : le concept de ressources dérivées est fourni pour d'autres plug-in (hors équipe) afin d'indiquer les ressources inappropriées pour la gestion du référentiel. Des fichiers spéciaux créés par des implémentations en équipe pour gérer les données ne doivent pas être marqués comme ressources dérivées. Consultez la section Ressources privées d'équipe pour savoir comment masquer des ressources d'implémentation liées à l'équipe.