Merge master to output-tags branch and resolve conflict
[arvados.git] / sdk / cwl / arvados_cwl / arvjob.py
index 4336c0fb1000d0848f3decaf58e03ab88e353796..4db23b98a961904675727a13c33bf91cd3aa1f55 100644 (file)
@@ -85,6 +85,8 @@ class ArvadosJob(object):
         with Perf(metrics, "arv_docker_get_image %s" % self.name):
             (docker_req, docker_is_req) = get_feature(self, "DockerRequirement")
             if docker_req and kwargs.get("use_container") is not False:
+                if docker_req.get("dockerOutputDirectory"):
+                    raise UnsupportedRequirement("Option 'dockerOutputDirectory' of DockerRequirement not supported.")
                 runtime_constraints["docker_image"] = arv_docker_get_image(self.arvrunner.api, docker_req, pull_image, self.arvrunner.project_uuid)
             else:
                 runtime_constraints["docker_image"] = arvados_jobs_image(self.arvrunner)
@@ -239,6 +241,9 @@ class RunnerJob(Runner):
         if self.output_name:
             self.job_order["arv:output_name"] = self.output_name
 
+        if self.output_tags:
+            self.job_order["arv:output_tags"] = self.output_tags
+
         self.job_order["arv:enable_reuse"] = self.enable_reuse
 
         return {
@@ -306,7 +311,8 @@ class RunnerTemplate(object):
             tool=tool,
             job_order=job_order,
             enable_reuse=enable_reuse,
-            output_name=None)
+            output_name=None,
+            output_tags=None)
 
     def pipeline_component_spec(self):
         """Return a component that Workbench and a-r-p-i will understand.