17004: Initial CWL support for setting output properties
[arvados.git] / sdk / cwl / arvados_cwl / arvcontainer.py
index 5082cc2f4b57eacd0934019099509c2f42c7493b..7964486ff25b2584af54ef84da8b4327207daabb 100644 (file)
@@ -341,6 +341,11 @@ class ArvadosContainer(JobBase):
             for pr in properties_req["processProperties"]:
                 container_request["properties"][pr["propertyName"]] = self.builder.do_eval(pr["propertyValue"])
 
+        output_properties_req, _ = self.get_requirement("http://arvados.org/cwl#OutputCollectionProperties")
+        if output_properties_req:
+            for pr in output_properties_req["processProperties"]:
+                container_request["output_properties"][pr["propertyName"]] = self.builder.do_eval(pr["propertyValue"])
+
         if runtimeContext.runnerjob.startswith("arvwf:"):
             wfuuid = runtimeContext.runnerjob[6:runtimeContext.runnerjob.index("#")]
             wfrecord = self.arvrunner.api.workflows().get(uuid=wfuuid).execute(num_retries=self.arvrunner.num_retries)