openstudio-extension 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -2
- data/Rakefile +3 -3
- data/lib/change_log.rb +1 -1
- data/lib/openstudio/extension.rb +5 -9
- data/lib/openstudio/extension/rake_task.rb +16 -13
- data/lib/openstudio/extension/runner.rb +18 -22
- data/lib/openstudio/extension/version.rb +1 -1
- data/openstudio-extension.gemspec +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 567f2008ed2e8d3fab092b962d34f0d2a59881d8617839ba8ed977dc2cfddc4b
|
4
|
+
data.tar.gz: d575f3db0ff84c9a2d8af9030976b6fad068903b63c9ab5daa6717cc5902a96d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 194ecd22b5cbc12c75133487c21b0df4dd1ad746d270819a2558d9c8c1831b8558faa9e6a581ca1f7890894be4e5059fb9e730c7e714b8f912cbebaa0689934e
|
7
|
+
data.tar.gz: b2193e267204d75bbdda44eaee353727eb20b75cb9923d649ddb5e740e97de5926b8b5f1e47e58c78b123bed7c33f1602dcc1b0ce4583c68006efdfe5392f2b0
|
data/.rubocop.yml
CHANGED
@@ -5,6 +5,7 @@ AllCops:
|
|
5
5
|
- lib/measures/**/resources/*
|
6
6
|
- lib/openstudio/extension/core/**/*
|
7
7
|
|
8
|
+
require: rubocop-performance
|
8
9
|
inherit_from:
|
9
|
-
- http://s3.amazonaws.com/openstudio-resources/styles/
|
10
|
+
- http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v4.yml
|
10
11
|
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
# OpenStudio Extension Gem
|
2
2
|
|
3
|
+
## Version 0.4.3
|
4
|
+
|
5
|
+
* Update measure tester gem which upgrades Rubocop to 1.15
|
6
|
+
* Update styles to v4 based on new version of Rubocop
|
7
|
+
|
3
8
|
## Version 0.4.2
|
4
9
|
|
10
|
+
* Fixes [#113](https://github.com/NREL/openstudio-extension-gem/issues/113) Fix bad args behavior on bar_from_building_type_ratios
|
11
|
+
* Fixes [#103](https://github.com/NREL/openstudio-extension-gem/issues/103) make check_upstream_measure_for_arg more robust for non string arguments
|
5
12
|
* Updatd version of openstudio-standards for development to openstudio-standards 0.2.13
|
6
13
|
* Added ASHRAE 90.1 2016 and 2019 to get_doe_templates method in os_lib_model_generation.rb file. This method is used by a number of measures to generate allowable argument values
|
7
14
|
|
data/Gemfile
CHANGED
@@ -3,7 +3,6 @@ source 'http://rubygems.org'
|
|
3
3
|
# Specify your gem's dependencies in openstudio-extension.gemspec
|
4
4
|
|
5
5
|
# line below used for testing when need to test against branch instead of release of standards. Should be commented out prior to merge to develop
|
6
|
-
#gem 'openstudio-standards', github: 'NREL/openstudio-standards', branch: 'fix/901_2016_2019_properties' # for os_lib unit tests
|
6
|
+
# gem 'openstudio-standards', github: 'NREL/openstudio-standards', branch: 'fix/901_2016_2019_properties' # for os_lib unit tests
|
7
7
|
|
8
8
|
gemspec
|
9
|
-
|
data/Rakefile
CHANGED
@@ -45,10 +45,10 @@ desc 'Initialize a new gem'
|
|
45
45
|
task :init_new_gem do
|
46
46
|
puts 'Initializing a new extension gem'
|
47
47
|
print "\n Enter the name of the new gem directory (ex: openstudio-something-gem. Should end with '-gem'): "
|
48
|
-
gem_name =
|
48
|
+
gem_name = $stdin.gets.chomp
|
49
49
|
|
50
50
|
print "\n Enter the path (full or relative to this repo) where you want the new gem directory to be created: "
|
51
|
-
dir_path =
|
51
|
+
dir_path = $stdin.gets.chomp
|
52
52
|
|
53
53
|
# check if directory already exists at path, if so error
|
54
54
|
full_dir_name = dir_path + gem_name
|
@@ -61,7 +61,7 @@ task :init_new_gem do
|
|
61
61
|
end
|
62
62
|
|
63
63
|
# copy file structure
|
64
|
-
FileUtils.cp('.gitignore', full_dir_name
|
64
|
+
FileUtils.cp('.gitignore', "#{full_dir_name}/.gitignore")
|
65
65
|
FileUtils.cp_r(File.join(File.dirname(__FILE__), 'init_templates/template_gemfile.txt'), File.join(full_dir_name, 'Gemfile'))
|
66
66
|
FileUtils.cp_r(File.join(File.dirname(__FILE__), 'doc_templates'), full_dir_name)
|
67
67
|
|
data/lib/change_log.rb
CHANGED
@@ -144,7 +144,7 @@ class ChangeLog
|
|
144
144
|
puts "Total Open Issues: #{@total_open_issues.length}"
|
145
145
|
puts "Total Open Pull Requests: #{@total_open_pull_requests.length}"
|
146
146
|
puts "\nDate Range: #{@start_date.strftime('%m/%d/%y')} - #{@end_date.strftime('%m/%d/%y')}:"
|
147
|
-
puts "\nNew Issues: #{@new_issues.length} (
|
147
|
+
puts "\nNew Issues: #{@new_issues.length} (#{@new_issues.map(&:number).join(', ')})"
|
148
148
|
|
149
149
|
puts "\nClosed Issues: #{@closed_issues.length}"
|
150
150
|
@closed_issues.each { |issue| puts print_issue(issue) }
|
data/lib/openstudio/extension.rb
CHANGED
@@ -209,11 +209,9 @@ module OpenStudio
|
|
209
209
|
def self.set_measure_argument(osw, measure_dir_name, argument_name, argument_value, step_name = nil)
|
210
210
|
result = false
|
211
211
|
osw[:steps].each do |step|
|
212
|
-
if step[:measure_dir_name] == measure_dir_name
|
213
|
-
|
214
|
-
|
215
|
-
result = true
|
216
|
-
end
|
212
|
+
if step[:measure_dir_name] == measure_dir_name && (step_name.nil? || step[:name] == step_name)
|
213
|
+
step[:arguments][argument_name.to_sym] = argument_value
|
214
|
+
result = true
|
217
215
|
end
|
218
216
|
end
|
219
217
|
|
@@ -239,10 +237,8 @@ module OpenStudio
|
|
239
237
|
def self.measure_in_osw(osw, measure_dir_name, step_name = nil)
|
240
238
|
result = false
|
241
239
|
osw[:steps].each do |step|
|
242
|
-
if step[:measure_dir_name] == measure_dir_name
|
243
|
-
|
244
|
-
result = true
|
245
|
-
end
|
240
|
+
if step[:measure_dir_name] == measure_dir_name && (step_name.nil? || step[:name] == step_name)
|
241
|
+
result = true
|
246
242
|
end
|
247
243
|
end
|
248
244
|
|
@@ -55,7 +55,7 @@ module OpenStudio
|
|
55
55
|
@root_dir = @extension.root_dir
|
56
56
|
# Catch if measures_dir is nil, then just make it an empty string
|
57
57
|
@measures_dir = @extension.measures_dir || ''
|
58
|
-
@staged_path = @measures_dir
|
58
|
+
@staged_path = "#{@measures_dir}/staged"
|
59
59
|
@core_dir = @extension.core_dir
|
60
60
|
@doc_templates_dir = @extension.doc_templates_dir
|
61
61
|
@files_dir = @extension.files_dir
|
@@ -201,9 +201,9 @@ module OpenStudio
|
|
201
201
|
end
|
202
202
|
|
203
203
|
# create new and existing directories
|
204
|
-
FileUtils.mkdir_p(@staged_path
|
205
|
-
FileUtils.mkdir_p(@staged_path
|
206
|
-
FileUtils.mkdir_p(@staged_path
|
204
|
+
FileUtils.mkdir_p("#{@staged_path}/update")
|
205
|
+
FileUtils.mkdir_p("#{@staged_path}/push/component")
|
206
|
+
FileUtils.mkdir_p("#{@staged_path}/push/measure")
|
207
207
|
|
208
208
|
# keep track of noop, update, push
|
209
209
|
noops = 0
|
@@ -215,6 +215,7 @@ module OpenStudio
|
|
215
215
|
|
216
216
|
dirs.each do |dir|
|
217
217
|
next if dir.include?('Rakefile') || File.basename(dir) == 'staged'
|
218
|
+
|
218
219
|
current_d = Dir.pwd
|
219
220
|
content_name = File.basename(dir)
|
220
221
|
puts '', '---'
|
@@ -235,6 +236,7 @@ module OpenStudio
|
|
235
236
|
next if file.to_s.start_with?('tests/test') # From openstudio-measure-tester-gem
|
236
237
|
next if file.to_s.start_with?('tests/coverage') # From openstudio-measure-tester-gem
|
237
238
|
next if file.to_s.start_with?('test_results') # From openstudio-measure-tester-gem
|
239
|
+
|
238
240
|
paths << file.to_s
|
239
241
|
if file.to_s =~ /^.{0,2}component.xml$/ || file.to_s =~ /^.{0,2}measure.xml$/
|
240
242
|
if file.to_s.match?(/^.{0,2}component.xml$/)
|
@@ -246,21 +248,22 @@ module OpenStudio
|
|
246
248
|
end
|
247
249
|
puts "UUID: #{uuid}, VID: #{vid}"
|
248
250
|
|
249
|
-
#
|
251
|
+
# NOTE: if uuid is missing, will assume new content
|
250
252
|
action = bcl.search_by_uuid(uuid, vid)
|
251
253
|
puts "#{content_name} ACTION TO TAKE: #{action}"
|
252
254
|
# new content functionality needs to know if measure or component. update is agnostic.
|
253
|
-
|
255
|
+
case action
|
256
|
+
when 'noop' # ignore up-to-date content
|
254
257
|
puts " - WARNING: local #{content_name} uuid and vid match BCL... no update will be performed"
|
255
258
|
noops += 1
|
256
259
|
next
|
257
|
-
|
260
|
+
when 'update'
|
258
261
|
# puts "#{content_name} labeled as update for BCL"
|
259
|
-
destination = @staged_path
|
262
|
+
destination = "#{@staged_path}/#{action}/#{content_name}.tar.gz"
|
260
263
|
updates += 1
|
261
|
-
|
264
|
+
when 'push'
|
262
265
|
# puts "#{content_name} labeled as new content for BCL"
|
263
|
-
destination = @staged_path
|
266
|
+
destination = "#{@staged_path}/#{action}/#{content_type}/#{content_name}.tar.gz"
|
264
267
|
new_ones += 1
|
265
268
|
end
|
266
269
|
|
@@ -309,7 +312,7 @@ module OpenStudio
|
|
309
312
|
puts item.split('/').last
|
310
313
|
total_count += 1
|
311
314
|
|
312
|
-
receipt_file = File.dirname(item)
|
315
|
+
receipt_file = "#{File.dirname(item)}/#{File.basename(item, '.tar.gz')}.receipt"
|
313
316
|
if !reset && File.exist?(receipt_file)
|
314
317
|
skipped += 1
|
315
318
|
puts 'SKIP: receipt file found'
|
@@ -333,7 +336,7 @@ module OpenStudio
|
|
333
336
|
|
334
337
|
# grab all the updated content (measures and components) tar files and push to bcl
|
335
338
|
items = []
|
336
|
-
paths = Pathname.glob(@staged_path
|
339
|
+
paths = Pathname.glob("#{@staged_path}/update/*.tar.gz")
|
337
340
|
paths.each do |path|
|
338
341
|
# puts path
|
339
342
|
items << path.to_s
|
@@ -342,7 +345,7 @@ module OpenStudio
|
|
342
345
|
puts item.split('/').last
|
343
346
|
total_count += 1
|
344
347
|
|
345
|
-
receipt_file = File.dirname(item)
|
348
|
+
receipt_file = "#{File.dirname(item)}/#{File.basename(item, '.tar.gz')}.receipt"
|
346
349
|
if !reset && File.exist?(receipt_file)
|
347
350
|
skipped += 1
|
348
351
|
puts 'SKIP: receipt file found'
|
@@ -121,15 +121,15 @@ module OpenStudio
|
|
121
121
|
|
122
122
|
# test to see if bundle is installed
|
123
123
|
check_bundle = run_command('bundle -v', get_clean_env)
|
124
|
-
if !check_bundle
|
125
|
-
raise "Failed to run command 'bundle -v', check that bundle is installed"
|
124
|
+
if !check_bundle && !File.exist?(@dirname)
|
125
|
+
raise "Failed to run command 'bundle -v', check that bundle is installed"
|
126
126
|
end
|
127
127
|
|
128
128
|
# TODO: check that ruby version is correct
|
129
129
|
|
130
130
|
# check existing config
|
131
131
|
needs_config = true
|
132
|
-
if File.exist?('./.bundle/config')
|
132
|
+
if File.exist?('./.bundle/config') # checking wrt gemfile_dir
|
133
133
|
puts 'config exists'
|
134
134
|
needs_config = false
|
135
135
|
config = YAML.load_file('./.bundle/config')
|
@@ -166,10 +166,8 @@ module OpenStudio
|
|
166
166
|
end
|
167
167
|
|
168
168
|
needs_update = needs_config || needs_platform
|
169
|
-
if !needs_update
|
170
|
-
|
171
|
-
needs_update = true
|
172
|
-
end
|
169
|
+
if !needs_update && (!File.exist?('Gemfile.lock') || File.mtime(@gemfile_path) > File.mtime('Gemfile.lock'))
|
170
|
+
needs_update = true
|
173
171
|
end
|
174
172
|
|
175
173
|
puts "needs_update = #{needs_update}"
|
@@ -241,7 +239,7 @@ module OpenStudio
|
|
241
239
|
puts "Error running command: '#{command}'"
|
242
240
|
puts "stdout: #{stdout_str}"
|
243
241
|
puts "stderr: #{stderr_str}"
|
244
|
-
|
242
|
+
$stdout.flush
|
245
243
|
result = false
|
246
244
|
end
|
247
245
|
ensure
|
@@ -318,10 +316,10 @@ module OpenStudio
|
|
318
316
|
|
319
317
|
puts 'SYSTEM CALL:'
|
320
318
|
puts the_call
|
321
|
-
|
319
|
+
$stdout.flush
|
322
320
|
result = run_command(the_call, get_clean_env)
|
323
321
|
puts "DONE, result = #{result}"
|
324
|
-
|
322
|
+
$stdout.flush
|
325
323
|
|
326
324
|
return result
|
327
325
|
end
|
@@ -358,10 +356,10 @@ module OpenStudio
|
|
358
356
|
|
359
357
|
puts 'SYSTEM CALL:'
|
360
358
|
puts the_call
|
361
|
-
|
359
|
+
$stdout.flush
|
362
360
|
result &&= run_command(the_call, get_clean_env)
|
363
361
|
puts "DONE, result = #{result}"
|
364
|
-
|
362
|
+
$stdout.flush
|
365
363
|
end
|
366
364
|
|
367
365
|
return result
|
@@ -425,7 +423,7 @@ module OpenStudio
|
|
425
423
|
measures = Dir.glob(File.join(measures_dir, '**/**/resources/*.rb'))
|
426
424
|
end
|
427
425
|
|
428
|
-
#
|
426
|
+
# NOTE: some older measures like AEDG use 'OsLib_SomeName' instead of 'os_lib_some_name'
|
429
427
|
# this script isn't replacing those copies
|
430
428
|
|
431
429
|
# loop through resource files
|
@@ -523,11 +521,9 @@ module OpenStudio
|
|
523
521
|
return false
|
524
522
|
end
|
525
523
|
|
526
|
-
if File.exist?(File.join(doc_templates_dir, 'LICENSE.md'))
|
527
|
-
|
528
|
-
|
529
|
-
FileUtils.cp(File.join(doc_templates_dir, 'LICENSE.md'), File.join(root_dir, 'LICENSE.md'))
|
530
|
-
end
|
524
|
+
if File.exist?(File.join(doc_templates_dir, 'LICENSE.md')) && File.exist?(File.join(root_dir, 'LICENSE.md'))
|
525
|
+
puts 'updating LICENSE.md in root dir'
|
526
|
+
FileUtils.cp(File.join(doc_templates_dir, 'LICENSE.md'), File.join(root_dir, 'LICENSE.md'))
|
531
527
|
end
|
532
528
|
|
533
529
|
ruby_regex = /^\#\s?[\#\*]{12,}.*copyright.*?\#\s?[\#\*]{12,}\s*$/mi
|
@@ -593,7 +589,7 @@ module OpenStudio
|
|
593
589
|
puts ' CANNOT add license to file automatically, add it manually and it will update automatically in the future'
|
594
590
|
next
|
595
591
|
end
|
596
|
-
File.open(dir_file, 'w') { |write| write << f.insert(0, path[:license]
|
592
|
+
File.open(dir_file, 'w') { |write| write << f.insert(0, "#{path[:license]}\n") }
|
597
593
|
end
|
598
594
|
end
|
599
595
|
end
|
@@ -631,7 +627,7 @@ module OpenStudio
|
|
631
627
|
|
632
628
|
if @options[:run_simulations]
|
633
629
|
cli = OpenStudio.getOpenStudioCLI
|
634
|
-
out_log = run_osw_path
|
630
|
+
out_log = "#{run_osw_path}.log"
|
635
631
|
# if Gem.win_platform?
|
636
632
|
# # out_log = "nul"
|
637
633
|
# else
|
@@ -655,10 +651,10 @@ module OpenStudio
|
|
655
651
|
|
656
652
|
puts 'SYSTEM CALL:'
|
657
653
|
puts the_call
|
658
|
-
|
654
|
+
$stdout.flush
|
659
655
|
result = run_command(the_call, get_clean_env)
|
660
656
|
puts "DONE, result = #{result}"
|
661
|
-
|
657
|
+
$stdout.flush
|
662
658
|
else
|
663
659
|
puts 'simulations are not performed, since to the @options[:run_simulations] is set to false'
|
664
660
|
end
|
@@ -31,8 +31,8 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency 'bcl', '~> 0.7.0'
|
32
32
|
spec.add_dependency 'bundler', '>= 2.1.0'
|
33
33
|
spec.add_dependency 'octokit', '~> 4.18.0' # for change logs
|
34
|
+
spec.add_dependency 'openstudio_measure_tester', '~> 0.3.1'
|
34
35
|
spec.add_dependency 'openstudio-workflow', '~> 2.2.0'
|
35
|
-
spec.add_dependency 'openstudio_measure_tester', '~> 0.3.0'
|
36
36
|
spec.add_dependency 'parallel', '~> 1.19.1'
|
37
37
|
|
38
38
|
spec.add_development_dependency 'openstudio-standards', '~> 0.2.13' # for os_lib unit tests
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openstudio-extension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katherine Fleming
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-
|
14
|
+
date: 2021-06-02 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bcl
|
@@ -56,33 +56,33 @@ dependencies:
|
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: 4.18.0
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
59
|
+
name: openstudio_measure_tester
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - "~>"
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
64
|
+
version: 0.3.1
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
69
|
- - "~>"
|
70
70
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
71
|
+
version: 0.3.1
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
73
|
+
name: openstudio-workflow
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
76
|
- - "~>"
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
78
|
+
version: 2.2.0
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
83
|
- - "~>"
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
85
|
+
version: 2.2.0
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: parallel
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
@@ -233,7 +233,7 @@ licenses: []
|
|
233
233
|
metadata:
|
234
234
|
bug_tracker_uri: https://github.com/NREL/openstudio-extension-gem/issues
|
235
235
|
changelog_uri: https://github.com/NREL/openstudio-extension-gem/blob/develop/CHANGELOG.md
|
236
|
-
source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.4.
|
236
|
+
source_code_uri: https://github.com/NREL/openstudio-extension-gem/tree/v0.4.3
|
237
237
|
post_install_message:
|
238
238
|
rdoc_options: []
|
239
239
|
require_paths:
|