You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The tool is hard-coded to only work with the Modelica Buildings Library, preventing use with other libraries.
This contrasts with the original requirements:
The template package of the Modelica Buildings Library is preloaded. The tool provides the option to load additional template packages from third-party libraries.
Library version management: If a loaded class contains the Modelica annotation uses (e.g., uses(Buildings(version="6.0.0")) the software checks the version number of the stored library. If the version number does not match, the tool simply alerts the user of version incompatibility.
Objective
This ticket is to provide support for multiple libraries, and multiple library versions.
A configuration file should enable specifying the libraries to be loaded and also support customized installations:
installation:
name: "LBL-ctrl-flow"version: "1.0.0"maintainer: "LBL"description: "LBL maintained installation of ctrl-flow"libraries:
- name: "Buildings"# Only entry point libraries - other library dependencies will be detected through 'uses' annotationsgit_url: "https://github.com/lbl-srg/modelica-buildings.git"# Valid URL for git clonegit_ref: "v11.0.0"# Optional branch, commit or tag to check out, otherwise the repo HEAD branch e.g. master is usedexclude_packages:
- "Buildings.Templates.Plants"# Modelica fully qualified package name to be excluded from install
To Do
The following needs to be refactored (non exhaustive list).
A configuration file should be created to specify the library names and tag or commit number to be loaded.
The library dependencies (here Modelica Standard Library) should be identified based on the Modelica uses annotation from the libraries to be loaded, see Fetch MSL version from uses annotation #412.
@AntoineGautier : While we are working on adding this support, I wonder if we should also add some kind of a configuration. A use cases is that there are two ctrl-flow installations, say one is managed by LBL and one by CERL (or one is the stable release and one is a nightly release). Now, assume CERL does not want to include Zone equipment, perhaps because it has not reviewed them. How would ctrl-flow be configured to exclude the export of certain packages?
@AntoineGautier : The configuration looks good but this point could be considered: Now it has entries
url: "https://github.com/lbl-srg/modelica-buildings.git"
tag: "v11.0.0" # One of tag or commit must be specified
commit: # One of tag or commit must be specified
This makes it cumbersome to use the head of a branch, such as for CI testing using the latest version of the library (or a branch). It also raises the issue of what happens if both, tag and commit are specified (probably an error).
An alternate specification could be a full url to the head, tag, branch, with valid entries being one of these:
url: "https://github.com/lbl-srg/modelica-buildings/tree/v11.0.0"
url: "https://github.com/lbl-srg/modelica-buildings/" # head of the master
url: "https://github.com/lbl-srg/modelica-buildings/tree/issue4110_cdlInDHC" # head of that branch
url: "https://github.com/lbl-srg/modelica-buildings/commit/8712af7d680d5daa8a559e56f789346201306776"
Context
The tool is hard-coded to only work with the Modelica Buildings Library, preventing use with other libraries.
This contrasts with the original requirements:
Objective
This ticket is to provide support for multiple libraries, and multiple library versions.
A configuration file should enable specifying the libraries to be loaded and also support customized installations:
To Do
The following needs to be refactored (non exhaustive list).
In https://github.com/lbl-srg/ctrl-flow-dev/blob/main/server/bin/install-modelica-dependencies.sh:
uses
annotation from the libraries to be loaded, see Fetch MSL version from uses annotation #412.In https://github.com/lbl-srg/ctrl-flow-dev/blob/main/server/Dockerfile:
MODELICAPATH
should be assigned a value based on the libraries specified in the configuration file and their dependencies.__ctrlFlow(routing="root")
, see Modify __ctrlFlow annotations for enhanced routing logic in the Templates package modelica-buildings#4090.In https://github.com/lbl-srg/ctrl-flow-dev/blob/main/server/scripts/parse-template-package.ts:
In https://github.com/lbl-srg/ctrl-flow-dev/tree/main/server/scripts/sequence-doc/src:
DEFAULT_DOC_VERSION
variable should depend on {library, version}.In the React frontend:
The text was updated successfully, but these errors were encountered: