派生的资源

在转换、编译、复制或其它处理用户创建和编辑的文件过程中创建了许多资源。派生资源不是原始数据,它是可以从其源文件重新创建的资源。通常派生文件被排除在某些类别的处理之外。  

例如,派生资源通常不保留在小组存储库中,因为它们使存储库凌乱、经常更改,并可以从其源文件重新创建。让小组提供程序来决定派生哪些文件是不实际的。资源 API 为插件提供了一个公共机制,以表示它们创建的派生资源。

插件可以使用 IResource.setDerived(boolean) 来表示一个资源是从其它资源派生的。新创建的资源在缺省情况下不是派生的,因此必须使用此方法显式地将资源标记为派生的。通常的用法是当插件创建“输出”文件夹(例如,Java 项目中的“bin”文件夹)时,将项目的子文件夹标记为派生的。

其它插件,通常是小组提供程序,可以使用 IResource.isDerived 来确定是否应由存储库来管理特别资源。将项目或工作空间根目录标记为派生的尝试将被忽略。

注:派生资源的概念是提供给其它(非小组)插件的,表示哪些资源不适合于存储库管理。不应将小组实现创建来管理其数据的特殊文件标记为派生资源。请参阅小组私有资源以获得将小组相关实现资源标记为隐藏的技术。