|
@@ -114,22 +114,30 @@ class Generator(object): |
|
|
""" |
|
|
""" |
|
|
Gets the dependencies for a given resource. |
|
|
Gets the dependencies for a given resource. |
|
|
""" |
|
|
""" |
|
|
|
|
|
|
|
|
|
|
|
rel_path = resource.relative_path |
|
|
|
|
|
deps = self.deps[rel_path] if rel_path in self.deps \ |
|
|
|
|
|
else self.update_deps(resource) |
|
|
|
|
|
return deps |
|
|
|
|
|
|
|
|
|
|
|
def update_deps(self, resource): |
|
|
|
|
|
""" |
|
|
|
|
|
Updates the dependencies for the given resource. |
|
|
|
|
|
""" |
|
|
|
|
|
|
|
|
rel_path = resource.relative_path |
|
|
rel_path = resource.relative_path |
|
|
deps = [] |
|
|
deps = [] |
|
|
if not rel_path in self.deps: |
|
|
|
|
|
if hasattr(resource, 'depends'): |
|
|
|
|
|
user_deps = resource.depends |
|
|
|
|
|
for dep in user_deps: |
|
|
|
|
|
deps.append(dep) |
|
|
|
|
|
deps.extend(self.template.get_dependencies(dep)) |
|
|
|
|
|
|
|
|
|
|
|
deps.extend(self.template.get_dependencies(resource.relative_path)) |
|
|
|
|
|
deps = list(set(deps)) |
|
|
|
|
|
if None in deps: |
|
|
|
|
|
deps.remove(None) |
|
|
|
|
|
self.deps[rel_path] = deps |
|
|
|
|
|
else: |
|
|
|
|
|
deps = self.deps[rel_path] |
|
|
|
|
|
|
|
|
if hasattr(resource, 'depends'): |
|
|
|
|
|
user_deps = resource.depends |
|
|
|
|
|
for dep in user_deps: |
|
|
|
|
|
deps.append(dep) |
|
|
|
|
|
deps.extend(self.template.get_dependencies(dep)) |
|
|
|
|
|
|
|
|
|
|
|
deps.extend(self.template.get_dependencies(resource.relative_path)) |
|
|
|
|
|
deps = list(set(deps)) |
|
|
|
|
|
if None in deps: |
|
|
|
|
|
deps.remove(None) |
|
|
|
|
|
self.deps[rel_path] = deps |
|
|
return deps |
|
|
return deps |
|
|
|
|
|
|
|
|
def has_resource_changed(self, resource): |
|
|
def has_resource_changed(self, resource): |
|
@@ -281,6 +289,7 @@ class Generator(object): |
|
|
logger.debug("No changes found. Skipping resource [%s]", resource) |
|
|
logger.debug("No changes found. Skipping resource [%s]", resource) |
|
|
return |
|
|
return |
|
|
logger.debug("Processing [%s]", resource) |
|
|
logger.debug("Processing [%s]", resource) |
|
|
|
|
|
self.update_deps(resource) |
|
|
with self.context_for_resource(resource) as context: |
|
|
with self.context_for_resource(resource) as context: |
|
|
if resource.source_file.is_text: |
|
|
if resource.source_file.is_text: |
|
|
if resource.uses_template: |
|
|
if resource.uses_template: |
|
|