coderunner 0.16.14 → 0.16.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/coderunner.gemspec +7 -5
- data/lib/coderunner/graphs_and_films.rb +1 -1
- data/lib/coderunner/repository.rb +30 -13
- data/lib/coderunner/repository_manager.rb +8 -0
- data/test/helper.rb +0 -1
- data/test/test_coderunnerrepo.rb +3 -0
- metadata +32 -58
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0d2b92a9760279ae362325ec7aa2bd7805040f73
|
4
|
+
data.tar.gz: d4696663958023e1c1b67810d085647609785fea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9cd5eab55adcf53541dc406a0a628b0335eaf1a98f5c5b8b6099e1d87c19297c1ab8fc357b1966eafd637bc8de336388ada0bda15ee95587603493b5750f1d8d
|
7
|
+
data.tar.gz: 7f86c6a1731386b3f1d9364febf5f212aeb8a5efc460776773e68593fe8b700c9a910f6bdd22f3b2bab350718118eef2f55af9dbdd0f4b46a5e71bb0880c5537
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.16.
|
1
|
+
0.16.15
|
data/coderunner.gemspec
CHANGED
@@ -2,14 +2,17 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: coderunner 0.16.15 ruby lib
|
6
|
+
# stub: ext/extconf.rb
|
5
7
|
|
6
8
|
Gem::Specification.new do |s|
|
7
9
|
s.name = "coderunner"
|
8
|
-
s.version = "0.16.
|
10
|
+
s.version = "0.16.15"
|
9
11
|
|
10
12
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
13
|
+
s.require_paths = ["lib"]
|
11
14
|
s.authors = ["Edmund Highcock"]
|
12
|
-
s.date = "2015-07-
|
15
|
+
s.date = "2015-07-18"
|
13
16
|
s.description = "CodeRunner is a framework for the automated running and analysis of simulations. It automatically generates any necessary input files, organises the output data and analyses it. Because it is a modular system, it can easily be customised to work with any system and any simulation code. One of its greatest strengths is that it is independent of any one simulation code; thus it can easily plot and compare the data from different codes."
|
14
17
|
s.email = "edmundhighcock@sourceforge.net"
|
15
18
|
s.executables = ["coderunner", "coderunnerrepo"]
|
@@ -94,14 +97,13 @@ Gem::Specification.new do |s|
|
|
94
97
|
]
|
95
98
|
s.homepage = "http://coderunner.sourceforge.net"
|
96
99
|
s.licenses = ["GPLv3"]
|
97
|
-
s.require_paths = ["lib"]
|
98
100
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.1")
|
99
101
|
s.rubyforge_project = "coderunner"
|
100
|
-
s.rubygems_version = "
|
102
|
+
s.rubygems_version = "2.4.8"
|
101
103
|
s.summary = "A framework for the automated running and analysis of simulations."
|
102
104
|
|
103
105
|
if s.respond_to? :specification_version then
|
104
|
-
s.specification_version =
|
106
|
+
s.specification_version = 4
|
105
107
|
|
106
108
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
107
109
|
s.add_runtime_dependency(%q<graphkit>, [">= 0.4.2"])
|
@@ -706,7 +706,7 @@ class CodeRunner
|
|
706
706
|
frame_rate = (options[:frame_rate] or options[:fr] || 15)
|
707
707
|
film_name = (options[:film_name] or options [:fn] or graphkit_frame_array[0][1].file_name + '_film').gsub(/\s/, '_')
|
708
708
|
#puts `ffmpeg -y #{options[:bitrate] ? "-b #{options[:bitrate]}" : ""} -r #{frame_rate} -threads #{(@multiple_processes or 1)} -i film_frames/frame_%0#{fd}d#{extension} #{film_name}.mp4`
|
709
|
-
str = "avconv -y -r #{frame_rate} -threads #{(@multiple_processes or 1)} -i film_frames/frame_%0#{fd}d#{extension} #{film_name}.mp4"
|
709
|
+
str = "avconv -y -r #{frame_rate} -threads #{(@multiple_processes or 1)} -i film_frames/frame_%0#{fd}d#{extension} -r 25 #{film_name}.mp4"
|
710
710
|
puts str
|
711
711
|
system str
|
712
712
|
end
|
@@ -52,18 +52,29 @@ class CodeRunner
|
|
52
52
|
# twin set of a bare repo and a clone of that
|
53
53
|
# repo. folder must end in '.cr.git'
|
54
54
|
#
|
55
|
-
|
56
|
-
|
57
|
-
|
55
|
+
class << self
|
56
|
+
alias :simple_init :init
|
57
|
+
def init(folder)
|
58
|
+
if folder =~ /\.git$/
|
59
|
+
raise "Please do not add '.git' to the end of #{folder}. Two repositories will be created: a bare repo ending in .cr.git and a clone of this bare repo"
|
60
|
+
end
|
61
|
+
super(folder + '.cr.git', bare: true)
|
62
|
+
repo = simple_clone(folder + '.cr.git', folder)
|
63
|
+
repo.init_metadata
|
64
|
+
repo.init_readme
|
65
|
+
repo.init_defaults_folder
|
66
|
+
p 'remotes', repo.remotes.map{|r| r.name}
|
67
|
+
repo.simple_push(repo.remote("origin"))
|
68
|
+
end
|
69
|
+
alias :simple_clone :clone
|
70
|
+
def clone(url, name)
|
71
|
+
namehost, folder, _barefolder = split_url(url)
|
72
|
+
try_system %[ssh #{namehost} "cd #{folder} && git push origin"]
|
73
|
+
simple_clone(url, bflocal=name+'.cr.git', bare: true)
|
74
|
+
return simple_clone(bflocal, name)
|
58
75
|
end
|
59
|
-
super(folder + '.cr.git', bare: true)
|
60
|
-
repo = clone(folder + '.cr.git', folder)
|
61
|
-
repo.init_metadata
|
62
|
-
repo.init_readme
|
63
|
-
repo.init_defaults_folder
|
64
|
-
p 'remotes', repo.remotes.map{|r| r.name}
|
65
|
-
repo.simple_push(repo.remote("origin"))
|
66
76
|
end
|
77
|
+
|
67
78
|
# If the folder is within a coderunner repository
|
68
79
|
# return the root folder of the repository; else
|
69
80
|
# return nil
|
@@ -168,14 +179,17 @@ Created on: #{Time.now.to_s}
|
|
168
179
|
|
169
180
|
EOF
|
170
181
|
end
|
171
|
-
def split_url(
|
172
|
-
|
182
|
+
def self.split_url(url)
|
183
|
+
url =~ Repository.url_regex
|
173
184
|
namehost = $~[:namehost]
|
174
185
|
barefolder = $~[:folder]
|
175
|
-
|
186
|
+
check_bare_ext(barefolder)
|
176
187
|
folder = barefolder.sub(/\.cr\.git$/, '')
|
177
188
|
return [namehost, folder, barefolder]
|
178
189
|
end
|
190
|
+
def split_url(remote_name)
|
191
|
+
return self.class.split_url(bare_repo.remote(remote_name).url)
|
192
|
+
end
|
179
193
|
def modified_in_folder(folder)
|
180
194
|
(status.changed + status.added + status.deleted).find_all{|k,f| File.expand_path(dir.to_s + '/' + f.path).include?(File.expand_path(folder))}
|
181
195
|
end
|
@@ -274,6 +288,9 @@ EOF
|
|
274
288
|
def try_system(str)
|
275
289
|
RepositoryManager.try_system(str)
|
276
290
|
end
|
291
|
+
def self.try_system(str)
|
292
|
+
RepositoryManager.try_system(str)
|
293
|
+
end
|
277
294
|
end
|
278
295
|
|
279
296
|
end
|
@@ -53,6 +53,7 @@ EOF
|
|
53
53
|
['add_remote', 'adrm', 2, 'Add a remote url to the repository. The url must end in \'.git\'', ['name', 'url'], [:Y]],
|
54
54
|
['add_folder', 'add', 1, 'Add the folder to the repository... this adds the directory tree and all coderunner data files to the repository, e.g. .code_runner_info.rb, script defaults, command histories etc. Note that this command must be issued in the root of the repository, or with the -Y flag giving the root of the repository.', ['folder'], [:Y]],
|
55
55
|
['bare_repo_command', 'brc', 1, 'Execute the given command within the twin bare repository', ['command'], [:Y]],
|
56
|
+
['clone_repo', 'clone', 2, 'Clone the given url to a working repo with the given name (NB creates both a bare and working repository). Give the url of the bare repository (with a name ending in .cr.git)', ['url', 'name'], []],
|
56
57
|
['init_repository', 'init', 1, 'Create a new repository with the given name. The name must not end in ".git". In fact, two repositories will be created, a working repo and a bare repo ending in cr.git. The bare repo is used to send and receive changes to remotes: the working repo should only push and pull to and from its twin bare repo.', ['name'], []],
|
57
58
|
['list_remotes', 'lsr', 0, 'List remotes in the bare repository (the working repository should only have one remote: origin.', [], [:Y]],
|
58
59
|
['pull_repository', 'pull', 0, 'Pull repository from all remotes, or from a comma-separated list of remotes given by the -r option.', [], [:r, :Y]],
|
@@ -207,6 +208,13 @@ class CodeRunner
|
|
207
208
|
repo.rsyncu(remote, folder)
|
208
209
|
end
|
209
210
|
|
211
|
+
def clone_repo(url, name, copts)
|
212
|
+
Dir.chdir(copts[:Y]){
|
213
|
+
Repository.clone(url, name)
|
214
|
+
}
|
215
|
+
end
|
216
|
+
|
217
|
+
|
210
218
|
end
|
211
219
|
end
|
212
220
|
end
|
data/test/helper.rb
CHANGED
data/test/test_coderunnerrepo.rb
CHANGED
@@ -36,6 +36,7 @@ class TestCreate < MiniTest::Test
|
|
36
36
|
end
|
37
37
|
def test_create
|
38
38
|
Dir.chdir(tfolder) {
|
39
|
+
|
39
40
|
assert_system("#$coderunnerrepo_command init myrepo")
|
40
41
|
assert_system("#$coderunnerrepo_command adrm local ssh://#{ENV['USER']}@localhost/#{Dir.pwd}/remote.cr.git -Y myrepo")
|
41
42
|
#assert_system("#$coderunnerrepo_command adrm local ssh://#{ENV['USER']}@#{`hostname`.chomp}.local/#{Dir.pwd}/remote.git -Y myrepo")
|
@@ -94,6 +95,8 @@ class TestCreate < MiniTest::Test
|
|
94
95
|
err = assert_raises(RuntimeError){CodeRunner::RepositoryManager.remote_synchronize_down('local', 'myrepo/sims', {})}
|
95
96
|
p err.message
|
96
97
|
#CodeRunner::RepositoryManager.remote_synchronize_down('local', 'myrepo/sims', {})
|
98
|
+
FileUtils.makedirs('testclone')
|
99
|
+
assert_system("#$coderunnerrepo_command clone ssh://#{ENV['USER']}@localhost/#{Dir.pwd}/remote.cr.git myclone -Y testclone")
|
97
100
|
}
|
98
101
|
end
|
99
102
|
def teardown
|
metadata
CHANGED
@@ -1,206 +1,181 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coderunner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
5
|
-
prerelease:
|
4
|
+
version: 0.16.15
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Edmund Highcock
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-18 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: graphkit
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.4.2
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 0.4.2
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: parallelpipes
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 1.0.0
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 1.0.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rubyhacks
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 0.1.4
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 0.1.4
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rb-gsl
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 1.12.0
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 1.12.0
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: gsl_extras
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 0.3.0
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 0.3.0
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: hostmanager
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">"
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: 0.1.0
|
102
90
|
type: :runtime
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: 0.1.0
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: command-line-flunky
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">"
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: 0.1.0
|
118
104
|
type: :runtime
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">"
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: 0.1.0
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: git
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - ">="
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: 1.2.9
|
134
118
|
type: :runtime
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - ">="
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: 1.2.9
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: shoulda
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- -
|
129
|
+
- - ">="
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: '0'
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- -
|
136
|
+
- - ">="
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: '0'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: rdoc
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
|
-
- - ~>
|
143
|
+
- - "~>"
|
164
144
|
- !ruby/object:Gem::Version
|
165
145
|
version: '3.12'
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
|
-
- - ~>
|
150
|
+
- - "~>"
|
172
151
|
- !ruby/object:Gem::Version
|
173
152
|
version: '3.12'
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: bundler
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- -
|
157
|
+
- - ">"
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: 1.0.0
|
182
160
|
type: :development
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- -
|
164
|
+
- - ">"
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: 1.0.0
|
190
167
|
- !ruby/object:Gem::Dependency
|
191
168
|
name: jeweler
|
192
169
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
170
|
requirements:
|
195
|
-
- -
|
171
|
+
- - ">="
|
196
172
|
- !ruby/object:Gem::Version
|
197
173
|
version: 2.0.0
|
198
174
|
type: :development
|
199
175
|
prerelease: false
|
200
176
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
177
|
requirements:
|
203
|
-
- -
|
178
|
+
- - ">="
|
204
179
|
- !ruby/object:Gem::Version
|
205
180
|
version: 2.0.0
|
206
181
|
description: CodeRunner is a framework for the automated running and analysis of simulations.
|
@@ -220,7 +195,7 @@ extra_rdoc_files:
|
|
220
195
|
- README.md
|
221
196
|
- README.rdoc
|
222
197
|
files:
|
223
|
-
- .document
|
198
|
+
- ".document"
|
224
199
|
- Gemfile
|
225
200
|
- LICENSE.txt
|
226
201
|
- README.md
|
@@ -294,26 +269,25 @@ files:
|
|
294
269
|
homepage: http://coderunner.sourceforge.net
|
295
270
|
licenses:
|
296
271
|
- GPLv3
|
272
|
+
metadata: {}
|
297
273
|
post_install_message:
|
298
274
|
rdoc_options: []
|
299
275
|
require_paths:
|
300
276
|
- lib
|
301
277
|
required_ruby_version: !ruby/object:Gem::Requirement
|
302
|
-
none: false
|
303
278
|
requirements:
|
304
|
-
- -
|
279
|
+
- - ">="
|
305
280
|
- !ruby/object:Gem::Version
|
306
281
|
version: 1.9.1
|
307
282
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
308
|
-
none: false
|
309
283
|
requirements:
|
310
|
-
- -
|
284
|
+
- - ">="
|
311
285
|
- !ruby/object:Gem::Version
|
312
286
|
version: '0'
|
313
287
|
requirements: []
|
314
288
|
rubyforge_project: coderunner
|
315
|
-
rubygems_version:
|
289
|
+
rubygems_version: 2.4.8
|
316
290
|
signing_key:
|
317
|
-
specification_version:
|
291
|
+
specification_version: 4
|
318
292
|
summary: A framework for the automated running and analysis of simulations.
|
319
293
|
test_files: []
|