rbbt-util 5.5.10 → 5.5.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzRhMzNhNDZhYTY2ZDIzNGU4MGNhMzQ4YjBlZmEyMjI2ZjU3OGI3Yw==
4
+ NDE0NzQ4YmI0Y2EzMmY4NDVjMWE4YTIwYTdlMTllMTc1YzFjY2M3ZQ==
5
5
  data.tar.gz: !binary |-
6
- MWYyN2IwZGMzMmQ5MWZlZjc2M2MxOGFiMGIwOGI2MTUwZTAwYzIxNg==
6
+ OWIzNDFlMDBjYjMxMDM5OGM1ZjA1NzIwZWNmZGQyZmU5ZjVhZjhhOA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- N2ZmOGRmMTdmNzBlZDgxNmZmNmExMDk2ZjU3YWZhMDgzYTNlY2Y0Mjc1OWYx
10
- NjRjYWI1NjE4MTM1Y2U1ZjMzOTZhMzFjODc1OTEyYmMyN2I5NmI4YTRmNzFm
11
- NDMyZjQwZDNmMTFhMzNiYzkzZmU3OWNlNDU3NmEzMWFkYjQ5ZGU=
9
+ YjNiNWExNzE2ZmVjNTRlM2I1MjBlZTM3NjAyZGMwNWQyOGY0MGViMTQ3NWIz
10
+ ZmUwNTllNzNlNWFhMjE0YWQxZjQxZjc3MTg0MDlhMDZjMThmNmEyNDNmMjg2
11
+ ODYyMTFiMjE5ZGMyZWRhMjg1ZWFmZjZhMTk0YTZlOWNiY2YxNjQ=
12
12
  data.tar.gz: !binary |-
13
- OTcwOTZkOWU1NDlhM2U0YjY2ZGIxNGY2MjJiOWZlN2Y5ZmMyZjRiMjU0MjE3
14
- NTMwN2FlNjVlODgxMTFkNjJhZDNkNzcyN2Y3MDQ3ZDNkNGIwOTc5ZGZhMDQz
15
- ZTNmNDI1OGQwMzFiMmZmMjUzZWU5MzUwMGU1ZGMzMzI4YTgyYzM=
13
+ NzFmNGQ2ZjdiMzEyY2UzZmQ0NjhmYjJjMDAxNTg5NDYwYTJiNTUyZDFhODYw
14
+ ZTI2MjFlMmI2YzA5NWQ1ZjNiODgzZmY2ODkyZGNiNmRjZWFhM2JlNDlhZWRh
15
+ YmE5MzBiMDcyZjJlNTc2MmQ3NWE3YjAzMGNlYWExYjZlOTIzMTU=
data/lib/rbbt/workflow.rb CHANGED
@@ -5,6 +5,14 @@ require 'rbbt/workflow/accessor'
5
5
 
6
6
  module Workflow
7
7
 
8
+ class << self
9
+ attr_accessor :autoinstall
10
+
11
+ def autoinstall
12
+ @autoload ||= ENV["RBBT_WORKFLOW_AUTOINSTALL"] == "true"
13
+ end
14
+ end
15
+
8
16
  def self.resolve_locals(inputs)
9
17
  inputs.each do |name, value|
10
18
  if value =~ /^local:(.*?):(.*)/ or
@@ -78,9 +86,13 @@ module Workflow
78
86
  end
79
87
  end
80
88
 
81
- return false if filename.nil? or not File.exists? filename
82
- load_workflow_file filename
89
+ if filename and File.exists? filename
90
+ load_workflow_file filename
91
+ else
92
+ return false
93
+ end
83
94
  end
95
+
84
96
  def self.require_workflow(wf_name)
85
97
 
86
98
  # Already loaded
@@ -105,10 +117,12 @@ module Workflow
105
117
  # Load locally
106
118
 
107
119
  Log.info{"Loading workflow #{wf_name}"}
108
- require_local_workflow(wf_name) || require_local_workflow(Misc.snake_case(wf_name)) || raise("Workflow not found or could not be loaded: #{ wf_name }")
120
+ require_local_workflow(wf_name) or
121
+ require_local_workflow(Misc.snake_case(wf_name)) or
122
+ (Workflow.autoinstall and `rbbt install workflow #{Misc.snake_case(wf_name)}` and require_local_workflow(Misc.snake_case(wf_name))) or
123
+ raise("Workflow not found or could not be loaded: #{ wf_name }")
109
124
  end
110
125
 
111
-
112
126
  attr_accessor :description
113
127
  attr_accessor :libdir, :workdir
114
128
  attr_accessor :helpers, :tasks
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rbbt-util'
4
+ require 'rbbt/workflow'
5
+
6
+ workflow = ARGV[0]
7
+ repo = ARGV[1]
8
+
9
+ raise "No workflow specified" if workflow.nil?
10
+
11
+ workflow_dir = Rbbt.etc.workflow_dir.exists? ? Rbbt.etc.workflow_dir.read.strip : Rbbt.workflows
12
+
13
+ FileUtils.mkdir_p workflow_dir unless File.exists? workflow_dir
14
+
15
+ Misc.in_dir(workflow_dir) do
16
+ if File.exists? workflow
17
+ `(cd #{ workflow }; git pull)`
18
+ else
19
+ if repo.nil?
20
+ repo_base_url = Rbbt.etc.workflow_repo.exists? ? Rbbt.etc.workflow_repo.read.strip : 'git@github.com:Rbbt-Workflows/'
21
+ repo = File.join(repo_base_url, Misc.snake_case(workflow) + '.git')
22
+ end
23
+ Log.warn "Cloning #{ repo }"
24
+ `git clone "#{repo}"`
25
+ end
26
+ end
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
-
4
3
  require 'rbbt/util/simpleopt'
5
4
  require 'rbbt/workflow'
6
5
  require 'rbbt/workflow/usage'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.10
4
+ version: 5.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-30 00:00:00.000000000 Z
11
+ date: 2013-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -150,6 +150,7 @@ files:
150
150
  - share/rbbt_commands/conf/web_user/add
151
151
  - share/rbbt_commands/conf/web_user/list
152
152
  - share/rbbt_commands/conf/web_user/remove
153
+ - share/rbbt_commands/install/workflow
153
154
  - share/rbbt_commands/study/task
154
155
  - share/rbbt_commands/tsv/attach
155
156
  - share/rbbt_commands/tsv/change_id