@@ -29,6 +47,8 @@
<% else %>
<%= render partial: 'work_units/show_outputs', locals: {id: current_obj.uuid, outputs: val, align:""} %>
<% end %>
+ <% elsif k == :log_collection %>
+ <%= render partial: 'work_units/show_log_link', locals: {wu: current_obj} %>
<% else %>
<%= val %>
<% end %>
@@ -41,20 +61,17 @@
- <% # link to repo tree/file only if the repo is readable
- # and the commit is a sha1...
- repo =
- (/^[0-9a-f]{40}$/ =~ current_obj.script_version and
- Repository.where(name: current_obj.repository).first)
-
- # ...and the api server provides an http:// or https:// url
+ <% # link to repo tree/file only if the repo is readable and the commit is a sha1
+ repo = (/^[0-9a-f]{40}$/ =~ current_obj.script_version and
+ current_obj.repository and
+ object_for_dataclass(Repository, current_obj.repository, :name))
repo = nil unless repo.andand.http_fetch_url
%>
- <% [:script, :repository, :script_version, :supplied_script_version, :nondeterministic,
- :command, :cwd, :environment, :mounts, :output_path].each do |k| %>
+ <% [:priority, :script, :repository, :script_version, :supplied_script_version, :nondeterministic,
+ :runtime_constraints, :requesting_container_uuid].each do |k| %>
<% val = current_obj.send(k) if current_obj.respond_to?(k) %>
<% if val %>
-
+
<%= k.to_s %>:
|
@@ -65,6 +82,10 @@
<%= link_to val, show_repository_blob_path(id: repo.uuid, commit: current_obj.script_version, path: 'crunch_scripts/'+current_obj.script) %>
<% elsif repo and k == :script_version %>
<%= link_to val, show_repository_commit_path(id: repo.uuid, commit: current_obj.script_version) %>
+ <% elsif k == :runtime_constraints and val.any? %>
+ <%= render partial: 'work_units/show_table_data', locals: {id: current_obj.uuid, name: k, data_map: val} %>
+ <% elsif k.to_s.end_with? 'uuid' %>
+ <%= link_to_arvados_object_if_readable(val, val, friendly_name: true) %>
<% else %>
<%= val %>
<% end %>
@@ -72,6 +93,24 @@
<% end %>
<% end %>
+
+ <%
+ mounts = current_obj.send(:mounts) if current_obj.respond_to?(:mounts)
+ mount_wf = mounts.andand[:"/var/lib/cwl/workflow.json"]
+ mount_wf = mount_wf[5..-1] if mount_wf.andand.is_a?(String) and mount_wf.start_with?('keep:')
+ mount_wf_cls = resource_class_for_uuid(mount_wf) if mount_wf
+ %>
+
+ <% if mount_wf_cls == Collection %>
+
+ workflow.json:
+ |
+
+ <%= link_to_if_arvados_object mount_wf, friendly_name: true %>
+ |
+ <% end %>
+
+
<% if current_obj.runtime_constraints.andand[:docker_image] and current_obj.docker_image %>
@@ -103,6 +142,59 @@
<% end %>
|
+
+
+
+
+
+ <% [:command].each do |k| %>
+ <% val = current_obj.send(k) if current_obj.respond_to?(k) %>
+ <% if val %>
+
+
+ <%= k.to_s %>:
+ |
+
+ <% if k == :command %>
+
+ <%=val%>
+
+ <% else %>
+ <%= val %>
+ <% end %>
+ |
+
+ <% end %>
+ <% end %>
+
+ <%
+ mounts = current_obj.send(:mounts) if current_obj.respond_to?(:mounts)
+ input_obj = mounts.andand[:"/var/lib/cwl/cwl.input.json"].andand[:content]
+ mnt_inputs = JSON.pretty_generate(input_obj) if input_obj
+ %>
+ <% if mnt_inputs %>
+
+
+ cwl.input.json:
+ |
+
+
+ <% mnt_inputs.each_line do |l| %>
+ <% text_part = l %>
+ <% match = l.match /(.*)(\"keep:.*?\")/ %>
+ <% if match and match.size == 3 %>
+ <% text_part = match[1] %>
+ <% loc_part = match[2][6..-2] %>
+ <% end %>
+ <%= text_part %><%= if loc_part then link_to_arvados_object_if_readable(loc_part, loc_part, friendly_name: true) end %> <% if loc_part then %> <% end %>
+ <% end %>
+
+ |
+
+ <% end %>
+
+
+
<% if current_obj.parameters and !current_obj.parameters.empty? %>
|