Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Continuous Integration

on:
pull_request:
push:
branches:
- "develop"
tags:
- '*'

jobs:
tests:
name: Tests
container: nrel/openstudio:3.10.0
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup
run: |
gem install bundler -v 2.4.10
bundle install
- name: Run Integration Tests
run: bundle exec rspec spec/tests/integration/write_and_run_osws_spec.rb
if: always()
- name: Run Unit Tests
run: bundle exec rspec spec/tests/unit/buildingsync_reader_spec.rb
if: always()
95 changes: 39 additions & 56 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,56 +1,39 @@
*.gem
*.rbc
/.config
/coverage/
/InstalledFiles
/pkg/
/spec/reports/
/spec/examples.txt
/test/tmp/
/test/version_tmp/
/tmp/

# Used by dotenv library to load environment variables.
# .env

# Ignore Byebug command history file.
.byebug_history

## Specific to RubyMotion:
.dat*
.repl_history
build/
*.bridgesupport
build-iPhoneOS/
build-iPhoneSimulator/

## Specific to RubyMotion (use of CocoaPods):
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# vendor/Pods/

## Documentation cache and generated files:
/.yardoc/
/_yardoc/
/doc/
/rdoc/

## Environment normalization:
/.bundle/
/vendor/bundle
/lib/bundler/man/

# for a library or gem, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# Gemfile.lock
# .ruby-version
# .ruby-gemset

# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc

# Used by RuboCop. Remote config files pulled in from inherit_from directive.
# .rubocop-https?--*
.bundle
vendor
spec/output
weather
.ruby-version
.python-version
Gemfile.lock
gems
_yardoc
coverage
doc
pkg
spec/reports
tmp
spec/output
SR1
SRvt
.DS_Store
lib/data
schedules-*.csv
# rspec failure tracking
.rspec_status

# Ignore IDE files
.idea
*.rubocop-http*

# measures tests
lib/measures/.rubocop.yml
lib/measures/building_sync_to_openstudio/tests/output

# OSW tests for gem
osw_test/generated_files
osw_test/run
osw_test/out.osw

spec/files/filecomparison/in.idf
spec/files/filecomparison/in.osm
spec/weather/weather_file.json
3 changes: 3 additions & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--format documentation
--color
--require spec_helper
11 changes: 11 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
AllCops:
Exclude:
- gems/**/*
- init_templates/**/*
- lib/measures/**/resources/*
- lib/openstudio/extension/core/**/*
TargetRubyVersion: 3.2.2

require: rubocop-performance
inherit_from:
- http://s3.amazonaws.com/openstudio-resources/styles/rubocop_v4.yml
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.2.2
38 changes: 38 additions & 0 deletions BOSS.gemspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# frozen_string_literal: true

lib = File.expand_path('lib', __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'BOSS/version'

Gem::Specification.new do |spec|
spec.name = 'BOSS'
spec.version = BOSS::VERSION
spec.authors = ['Hannah Eslinger', 'Katherine Fleming']
spec.email = ['hannah.eslinger@nlr.gov', 'katherine.fleming@nlr.gov']

spec.summary = 'Library for reading, writing, and exporting BuildingSync to OpenStudio'
spec.description = 'Library for reading, writing, and exporting BuildingSync to OpenStudio'
spec.homepage = 'https://buildingsync.net'

# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
spec.files = Dir.chdir(File.expand_path(__dir__)) do
`git ls-files -z`.force_encoding('UTF-8').split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
end
spec.bindir = 'bin'
spec.executables = ['boss']
spec.require_paths = ['lib']

spec.add_dependency 'bundler', '~> 2.4.10'
spec.add_dependency 'openstudio-common-measures', '~> 0.12.3'
spec.add_dependency 'openstudio-ee', '~> 0.12.5'
spec.add_dependency 'openstudio-extension', '~> 0.9.4'
spec.add_dependency 'openstudio-model-articulation', '~> 0.12.2'
spec.add_dependency 'httparty', '~> 0.23.2'
spec.add_dependency 'thor', '~> 1.5.0'

spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rspec', '~> 3.13'
spec.add_development_dependency 'rubocop', '1.50'
spec.add_development_dependency 'pry', '~> 0.15.2'
end
5 changes: 5 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
source "https://rubygems.org"

gemspec

#gem 'openstudio-extension', path: '../OpenStudio-extension-gem'
195 changes: 195 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
PATH
remote: .
specs:
BOSS (0.1.0)
bundler (~> 2.4.10)
httparty (~> 0.23.2)
openstudio-common-measures (~> 0.12.3)
openstudio-ee (~> 0.12.5)
openstudio-extension (~> 0.9.4)
openstudio-model-articulation (~> 0.12.2)
thor (~> 1.5.0)

GEM
remote: https://rubygems.org/
specs:
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
ansi (1.6.0)
ast (2.4.3)
bcl (0.9.1)
builder (= 3.2.4)
faraday (~> 1.10.4)
minitar (~> 0.9)
openstudio_measure_tester (~> 0.5.0)
rexml (= 3.2.5)
rubyzip (~> 2.3.2)
spreadsheet (= 1.2.9)
uuid (~> 2.3.9)
yamler (= 0.1.0)
zliby (= 0.0.5)
bigdecimal (4.1.2)
builder (3.2.4)
coderay (1.1.3)
csv (3.3.5)
diff-lcs (1.6.2)
faraday (1.10.5)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.1)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.2.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.4)
git (1.13.2)
addressable (~> 2.8)
rchardet (~> 1.8)
httparty (0.23.2)
csv
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
json (2.19.9)
json-schema (4.3.1)
addressable (>= 2.8)
macaddr (1.7.2)
systemu (~> 2.6.5)
matrix (0.4.3)
method_source (1.1.0)
mini_mime (1.1.5)
minitar (0.12.1)
minitest (5.14.4)
minitest-reporters (1.4.3)
ansi
builder
minitest (>= 5.0)
ruby-progressbar
multi_xml (0.9.1)
bigdecimal (>= 3.1, < 5)
multipart-post (2.4.0)
octokit (4.18.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
openstudio-common-measures (0.12.3)
bundler (~> 2.4.10)
multipart-post (= 2.4.0)
openstudio-extension (~> 0.9.3)
openstudio-standards (= 0.8.2)
openstudio-ee (0.12.5)
bundler (~> 2.4.10)
multipart-post (= 2.4.0)
openstudio-extension (~> 0.9.3)
openstudio-standards (= 0.8.2)
openstudio-extension (0.9.4)
addressable (= 2.8.1)
bcl (~> 0.9.1)
bundler (= 2.4.10)
octokit (~> 4.18.0)
openstudio-workflow (~> 2.5.0)
openstudio_measure_tester (~> 0.5.0)
parallel (~> 1.19.1)
regexp_parser (= 2.9.0)
openstudio-model-articulation (0.12.2)
bundler (~> 2.4.10)
multipart-post (= 2.4.0)
openstudio-extension (~> 0.9.3)
openstudio-standards (= 0.8.2)
openstudio-standards (0.8.2)
tbd (~> 3)
openstudio-workflow (2.5.0)
openstudio_measure_tester (0.5.2)
git (~> 1.13.0)
minitest (~> 5.14.0)
minitest-reporters (~> 1.4.2)
parser (= 3.2.2.2)
rake (~> 13.0)
oslg (0.4.0)
osut (0.9.1)
oslg (>= 0.4.0)
parallel (1.19.2)
parser (3.2.2.2)
ast (~> 2.4.1)
pry (0.15.2)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.1.1)
rainbow (3.1.1)
rake (13.4.2)
rchardet (1.10.0)
regexp_parser (2.9.0)
rexml (3.2.5)
rspec (3.13.2)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.6)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.8)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.7)
rubocop (1.50.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
ruby-ole (1.2.13.1)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
sawyer (0.8.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
spreadsheet (1.2.9)
ruby-ole
systemu (2.6.5)
tbd (3.6.0)
json-schema (~> 4)
osut (~> 0)
topolys (~> 0)
thor (1.5.0)
topolys (0.6.2)
matrix
unicode-display_width (2.6.0)
uuid (2.3.9)
macaddr (~> 1.0)
yamler (0.1.0)
zliby (0.0.5)

PLATFORMS
arm64-darwin-24
ruby

DEPENDENCIES
BOSS!
pry (~> 0.15.2)
rake (~> 13.0)
rspec (~> 3.13)
rubocop (= 1.50)

BUNDLED WITH
2.4.10
Loading
Loading