From bd6ea58652cd65b0cecd92e8ad4c562f30f05367 Mon Sep 17 00:00:00 2001 From: JKRT Date: Tue, 27 Oct 2026 13:13:23 +0100 Subject: [PATCH] GenerateJLHeader.jl: add missing packages to a temporary environment Run as plain julia (the parser Makefile), it added MetaModelica and Absyn from git master and ImmutableList to the default environment. The git-tracked MetaModelica keeps its version there and makes installing OM.jl unsatisfiable. Packages the active environment has are still used; the generated header is unchanged. Assisted-by: Claude Opus 5.5 --- lib/parser/GenerateJLHeader.jl | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/parser/GenerateJLHeader.jl b/lib/parser/GenerateJLHeader.jl index 49569d5..a75d270 100644 --- a/lib/parser/GenerateJLHeader.jl +++ b/lib/parser/GenerateJLHeader.jl @@ -41,18 +41,17 @@ Pkg.Registry.add("General") #= Add the Modelica registry =# Pkg.Registry.add(Pkg.RegistrySpec(url="https://github.com/JKRT/OpenModelicaRegistry.git")); +#= Use MetaModelica, Absyn and ImmutableList from the active environment when it has + them (JULIA_CMD="julia --project="). Otherwise add the latest from master to a + temporary environment, not to the active one: for a plain `julia` that is the + default environment, where a git-tracked MetaModelica keeps its version and makes + installing OM.jl unsatisfiable. =# pkgs = Pkg.installed() -if ! ("MetaModelica" in keys(pkgs)) - Pkg.add(Pkg.PackageSpec(url="https://github.com/OpenModelica/MetaModelica.jl.git", rev="master")) -end - -#= Add the latest Absyn from the master branch but only if Absyn is not installed =# -if ! ("Absyn" in keys(pkgs)) - Pkg.add(Pkg.PackageSpec(url="https://github.com/OpenModelica/Absyn.jl.git", rev="master")) -end - -if ! ("ImmutableList" in keys(pkgs)) - Pkg.add("ImmutableList") +if !all(name -> name in keys(pkgs), ("MetaModelica", "Absyn", "ImmutableList")) + Pkg.activate(; temp = true) + Pkg.add([Pkg.PackageSpec(url="https://github.com/OpenModelica/MetaModelica.jl.git", rev="master"), + Pkg.PackageSpec(url="https://github.com/OpenModelica/Absyn.jl.git", rev="master"), + Pkg.PackageSpec(name="ImmutableList")]) end Pkg.resolve()