openstudio-extension 0.4.2 → 0.4.3
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 +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:
|