Skip to content

Make the buildingsync-measures-gem measures loadable #19

Open

Description

@JieXiong9119

Identified during #13

Making buildingsync-measures-gem measures loadable.

The simplest route is the external measure manifest that BOSS already has. Most of the plumbing exists:

  • The baseline writer already appends installed external measure folders to every OSW's measure paths.
  • CI already runs the install task before tests.
  • The gem's measures need nothing outside their own folders, so cloning only the measure folder works.

What's missing is one manifest entry and an install step:

  1. Add the repo to external_measure_repos.yml:
  - name: buildingsync-measures-gem
    url: https://github.com/BuildingSync/buildingsync-measures-gem.git
    ref: <commit SHA on develop>
    measure_roots:
      - lib/measures

Pin a commit SHA rather than develop. The plan's rule is to map only to merged measures, and a moving branch can change measure arguments without warning.

  1. Install locally with bundle exec rake measures:install_external. Nothing is installed under the vendor folder on your machine yet.

  2. Add a test that every mapped measure name resolves from the written OSW's measure paths. PR 12 already lists that as its acceptance gate.

  3. Watch for name clashes. Gem measures take precedence over external repos, and ComStock is also in the manifest. If ComStock has a measure with the same folder name, the earlier one wins. I couldn't check this because ComStock isn't installed here.

Installing it as a Ruby gem is the other route, but the gem is not published on RubyGems: the lookup returned 404, so the gem's own README install instructions don't work yet.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions