Commit Graph

5 Commits

Author SHA1 Message Date
Nathan Hawes
8f8fee105e [ParseableInterface][test] Fix path matching in the SDKDependencies and SystemDependencies tests for Windows
Also don't use -n option of cp as it looks like it's not supported.
2019-04-03 12:55:51 -07:00
Nathan Hawes
7144dab15a [ParseableInterface] Don't report out-of-date dependencies to the parent dependency tracker
We previously added dependencies to the tracker inline while validating a cached
module's dependencies were up to date. If one of its dependencies ended up being
out of date though, we shouldn't have added the previous dependencies, as that
means the dependency list itself was also out of date.

This patch changes the behavior to only add the module's dependencies once we've
verified they're all up to date.
2019-04-03 06:35:11 -07:00
Nathan Hawes
58d622d796 [ParseableInterface] Don't serialize resource directory deps and stop adding cached modules to the dependency tracker
This patch modifies ParseableInterfaceBuilder::CollectDepsForSerialization to
avoid serializing dependencies from the runtime resource path into the
swiftmodules generated from .swiftinterface files. This means the module cache
should now be relocatable across machines.

It also modifies ParseableInterfaceModuleLoader to never add any dependencies
from the module cache and prebuilt cache to the dependency tracker (in addition
to the existing behaviour of not serializing them in the generated
swiftmodules). As a result, CollectDepsForSerialization no longer checks if the
dependencies it is given come from the cache as they are provided by the
dependency tracker. It now asserts that's the case instead.
2019-04-03 06:35:11 -07:00
Nathan Hawes
accc64719e [ParseableInterface][test] Update SDKDependencies.swift test to explicitly check serialized dependencies
Also use the existing check-is-forwarding-module.py script to check for
forwarding modules, rather than doing it manually.
2019-04-03 06:35:11 -07:00
Nathan Hawes
37328020df [ParseableInterface] Don't serialize swiftmodule dependencies in the module cache or prebuilt module cache
*Their* dependencies are already being serialized out, so this shouldn't affect
up-to-date-checking except by alowing the regular and prebuilt module caches to
be relocated without invalidating their contents. In the case of the prebuilt
module cache, this gets us closer to supporting relocation across machines.
2019-04-03 06:35:11 -07:00