Repository: NREL/OpenStudio (language: python)

Issue:
Invoking rubocop fails in 3.8.0-RC3 due to regexp parser error
Issue overview
--------------

It worked on rc2 according to @joseph-robertson  and does fail on rc3.

The path has two roots

## Steps to Reproduce

```
$ Products/openstudio -e "require 'rubocop/rake_task'; require 'stringio'; RuboCop::RakeTask.new(:rubocop) do |t| t.options = ['--autocorrect', '--format', 'simple', '--only', 'Lint/SelfAssignment'] end; Rake.application[:rubocop].invoke"                                                          

terminate called after throwing an instance of 'std::runtime_error'                                            
  what():  Embedded file not found ':/ruby/3.2.0/gems/regexp_parser-2.9.1/lib/regexp_parser/syntax/:/ruby/3.2.0/gems/regexp_parser-2.9.1/lib/regexp_parser/syntax/versions/1.8.6.rb'
Aborted (core dumped) 
```

## Possible Solution

https://github.com/ammar/regexp_parser/compare/v2.9.0...v2.9.1
A bunch of "require" became "require_relative" and that ought to break stuff for us

probably pinning on 2.9.0 is enough

## Details

### Environment

Some additional details about your environment for this issue (if relevant):
 - Platform (Operating system, version): all
 - Version of OpenStudio (if using an intermediate build, include SHA): 3.8.0-rc3

### Context
<!--- How has this issue affected you? What are you trying to accomplish? -->



Discussion / hints:

Fix patch:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d06e03b9957..f2fa8d447e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -839,7 +839,7 @@ if(BUILD_CLI)
   set(OPENSTUDIO_GEMS_BASEURL "http://openstudio-resources.s3.amazonaws.com/dependencies")
 
   # TODO: temp
-  set(OPENSTUDIO_GEMS_BASEURL "https://github.com/NREL/openstudio-gems/releases/download/v3.8.0-RC2-5")
+  set(OPENSTUDIO_GEMS_BASEURL "https://github.com/NREL/openstudio-gems/releases/download/v3.8.0")
 
   # To use the package produced by a PR to https://github.com/NREL/openstudio-gems
   set(USE_OPENSTUDIO_GEMS_PR FALSE)
@@ -851,19 +851,19 @@ if(BUILD_CLI)
   if(UNIX)
      if(APPLE)
        if (ARCH MATCHES arm64)
-         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240515-darwin_arm64-3.2.2.tar.gz")
-         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "9746b646844bbb2a0c63cb87b1975ecc")
+         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240517-darwin_arm64-3.2.2.tar.gz")
+         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "343ddc398233775ef87cbde64fb18df9")
        else()
-         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240515-darwin-3.2.2.tar.gz")
-         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "e1cf6e9941b4ed2d3bce21236d78e231")
+         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240517-darwin-3.2.2.tar.gz")
+         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "b0ac08bf58ebdf522a8e3d8e474ffe94")
        endif()
      else()
        if (ARCH MATCHES "arm64")
-         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240515-linux_arm64-3.2.2.tar.gz")
-         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "0a673f1a937588dec3ab998931bc347c")
+         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240517-linux_arm64-3.2.2.tar.gz")
+         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "86b27395dce1bddc1b8256ed0fdada48")
        else()
-         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240515-linux-3.2.2.tar.gz")
-         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "16e06513621de2cd870a28517e74ded0")
+         set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240517-linux-3.2.2.tar.gz")
+         set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "6d75c91e3b08e60ef26bc718378f8de2")
        endif()
        if (USE_OPENSTUDIO_GEMS_PR)
          set(OPENSTUDIO_GEMS_BASEURL "${OPENSTUDIO_GEMS_BASEURL}/openstudio-gems-linux/${OPENSTUDIO_GEMS_PR_NUMBER}")
@@ -871,8 +871,8 @@ if(BUILD_CLI)
      endif()
   elseif(WIN32)
     # OpenStudio gems are only supported on 64 bit windows
-    set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240515-windows-3.2.2.tar.gz")
-    set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "fe3d6c2f1554ba0ed4e073a46a4b0893")
+    set(OPENSTUDIO_GEMS_ZIP_FILENAME "openstudio3-gems-20240517-windows-3.2.2.tar.gz")
+    set(OPENSTUDIO_GEMS_ZIP_EXPECTED_MD5 "d6ab807897d3507f51e809318e0b3e77")
     if (USE_OPENSTUDIO_GEMS_PR)
       set(OPENSTUDIO_GEMS_BASEURL "${OPENSTUDIO_GEMS_BASEURL}/openstudio-gems-windows/${OPENSTUDIO_GEMS_PR_NUMBER}")
     endif()
diff --git a/ruby/bindings/InitRubyBindings.cpp b/ruby/bindings/InitRubyBindings.cpp
index 6399f2ee91a..8efb3e7811a 100644
--- a/ruby/bindings/InitRubyBindings.cpp
+++ b/ruby/bindings/InitRubyBindings.cpp
@@ -625,7 +625,7 @@ module IRB # :nodoc:
 
     @CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
     # puts @CONF[:PROMPT_MODE]
-    os_version = "3.7.0" # OpenStudio::openStudioVersion
+    os_version = "3.8.0" # OpenStudio::openStudioVersion
     @CONF[:PROMPT][:OPENSTUDIO] = {
       :PROMPT_I=>"(os #{os_version}) :%03n > ",
       :PROMPT_S=>"(os #{os_version}) :%03n%l> ",
diff --git a/src/cli/UpdateCommand.cpp b/src/cli/UpdateCommand.cpp
index bd96d463096..4a66f56240b 100644
--- a/src/cli/UpdateCommand.cpp
+++ b/src/cli/UpdateCommand.cpp
@@ -256,7 +256,7 @@ module IRB # :nodoc:
 
     @CONF[:IRB_RC].call(irb.context) if @CONF[:IRB_RC]
     # puts @CONF[:PROMPT_MODE]
-    os_version = "3.7.0" # OpenStudio::openStudioVersion
+    os_version = "3.8.0" # OpenStudio::openStudioVersion
     @CONF[:PROMPT][:OPENSTUDIO] = {
       :PROMPT_I=>"(os #{os_version}) :%03n > ",
       :PROMPT_S=>"(os #{os_version}) :%03n%l> ",


Test patch:
diff --git a/src/cli/test/bundle_git/Gemfile b/src/cli/test/bundle_git/Gemfile
index 2f506b33e87..355ad768e44 100644
--- a/src/cli/test/bundle_git/Gemfile
+++ b/src/cli/test/bundle_git/Gemfile
@@ -4,3 +4,4 @@ gem 'xml-simple'
 # gem 'openstudio-extension', git: 'https://github.com/NREL/openstudio-extension-gem.git', ref: 'v0.8.0'
 gem 'simplecov', git: 'https://github.com/simplecov-ruby/simplecov', ref: 'v0.21.2'
 gem 'tilt', git: 'https://github.com/rtomayko/tilt.git', ref: 'abe77eaf1b5f8da0a7e46135f'
+gem 'rexml', '3.2.5' # Avoid strscan native dep
diff --git a/src/cli/test/bundle_native_embedded/Gemfile b/src/cli/test/bundle_native_embedded/Gemfile
index 255f4209400..519525ba07b 100644
--- a/src/cli/test/bundle_native_embedded/Gemfile
+++ b/src/cli/test/bundle_native_embedded/Gemfile
@@ -5,3 +5,4 @@ source 'http://rubygems.org'
 gem 'rubocop', '1.63.4'
 # Our CLI has json 2.6.3, which satisfies this version
 # racc is also in our CLI
+gem 'rexml', '3.2.5' # Avoid strscan native dep