Veel resources worden gemaakt tijdens het vertalen, compileren, kopiëren of op een andere manier verwerken van bestanden die de gebruiker maakt en verwerkt. Afgeleide resources zijn resources die niet uit oorspronkelijke gegevens bestaan en opnieuw kunnen worden gemaakt uit het bronbestand. Het is gebruikelijk dat afgeleide bestanden niet worden gebruikt bij bepaalde vormen van verwerking.
Afgeleide bestanden worden bijvoorbeeld meestal niet opgeslagen in een teamrepository, omdat de repository te snel vol raakt, worden regelmatig gewijzigd en kunnen opnieuw worden gemaakt op basis van de bronbestanden. Het is voor teamproviders niet praktisch om te bepalen welke bestanden worden afgeleid. De resource-API biedt een veelgebruikt mechanisme, waarmee wordt aangegeven welke afgeleide resources plugins maken.
Plugins kunnen IResource.setDerived(boolean) gebruiken om aan te geven dat een resource is afgeleid van andere resources. Recent gemaakt resources zijn standaard niet afgeleid, dus deze methode moet worden gebruikt om een resource expliciet als afgeleid te markeren. Een gebruikelijke manier is om een submap van het project te markeren als afgeleid als de plugin een "uitvoermap" maakt (bijvoorbeeld de map "bin" in Java-projecten).
Andere plugins, meestal teamproviders, kunnen IResource.isDerived gebruiken om vast te stellen of een bepaalde resource door de repository beheerd moet worden. Pogingen om projecten of de hoofdmap van het werkgebied als afgeleid te markeren, worden genegeerd.
Opmerking: Het concept van afgeleide resources wordt gebruikt voor andere (niet-team)plugins om aan te geven welke resources geschikt zijn voor repositorybeheer. Speciale bestanden die zijn gemaakt door teamimplementaties om hun gegevens te beheren, mogen niet worden gemarkeerd als afgeleide resources. Zie Besloten teamresources voor een techniek om teamgerelateerde implementatieresources te verbergen.