Skip to content
Matthis Thorade edited this page Aug 16, 2019 · 10 revisions

The BuildingSystems library contains elements of the IBPSA library. Executing following steps will integrate the up-to-date version of these components.

Before doing anything, have a look at the non-backward compatible issues and PRs in IBPSA:

Step 1: get up to date

Pull the latest version of the master branch of each IBPSA and BuildingSystems. Both libraries should be stored in a directory with a name that is different from the lib name.

Step 2: remove untracked files

git clean can be used to remove untracked/ignored files.
Run in both the IBPSA and the BuildingSystems directory some or all of the following commands:
git clean -ndX
git clean -fdX
git clean -ndx
git clean -fdx
to make sure no *.mat files or similar are copied.
In IBPSA, one can manually remove files like legal.html or Resources/src/fluid that are not required in BuildingSystems. Do not commit these changes.

Step 3: create a new branch

Open the BuildingSystems directory and create a new branch, e.g. IBPSA_2018_03.

Step 4: run the merge script

Install the latest lbl-srg/BuildingyPy master, by running the command:
python -m pip install -U https://github.com/lbl-srg/BuildingsPy/archive/master.zip
If necessary, edit the list of excluded packages in merger.py.
If necessary, edit the package.order sorting in refactor.py.

To actually merge IBPSA into BuildingSystems run the following Python script:

import os
import buildingspy.development.merger as m
ibpsaDir = '[PATH TO IBPSA DIRECTORY ON YOUR MACHINE]'
buildingSystemsDir = '[PATH TO BuildingSystems DIRECTORY ON YOUR MACHINE]'
mer = m.IBPSA(ibpsaDir, buildingSystemsDir)
mer.merge()

Once the merge script has finished, open the library in OpenModelica to check the package.order.
If the library opens without warnings, create a commit. Carefully read the DIFF of the commit, especially for the file .copiedfiles.txt.

Step 5: Pull request

Check the code using all available methods, then create a pull request. In the PR text, mention the IBPSA SHA hash of the commit that was merged, the ID of the previous IBPSA integration PR, and a list of important changes since then.