Skip to content

fix: update LinkML pin, fix Makefile quoting, regenerate GX artifacts#44

Merged
jdsika merged 1 commit intomainfrom
fix/update-linkml-pin
Mar 18, 2026
Merged

fix: update LinkML pin, fix Makefile quoting, regenerate GX artifacts#44
jdsika merged 1 commit intomainfrom
fix/update-linkml-pin

Conversation

@jdsika
Copy link

@jdsika jdsika commented Mar 18, 2026

Summary

Updates the LinkML tooling pin to our patched fork branch (feat/harbour-credentials),
fixes cross-platform Makefile compatibility, and regenerates Gaia-X artifacts.

Changes

LinkML pin update (pyproject.toml + submodules/linkml)

  • Pin changed from linkml@main to ASCS-eV/linkml@feat/harbour-credentials
  • This branch includes 6 fixes on top of upstream main:
    • fix(shacl): nodeidentifier → sh:BlankNodeOrIRI (PR #3291 — all CI green)
    • feat(context): --xsd-anyuri-as-iri opt-in flag (PR #3292 — all CI green)
    • 4 prior fixes for improved SHACL, OWL, and JSON-LD context generation

Makefile cross-platform fix

  • Quoted all $(MAKE) expansions inside case statement bodies (25 instances)
  • Quoted $(DOMAIN) in argument position
  • Root cause: On Windows, $(MAKE) can expand to paths containing spaces and parentheses (e.g. C:/Program Files (x86)/GnuWin32/bin/make), which breaks bash case syntax since ( is a pattern delimiter

update-from-submodule.sh cross-platform fixes

  • MSYS path conversion: Git Bash converts --enum-iri-separator "/" to C:/Program Files/PortableGit/, corrupting all enum IRIs in generated OWL. Fixed by setting MSYS_NO_PATHCONV=1 and MSYS2_ARG_CONV_EXCL="*" at the top of the script.
  • Pipe buffer deadlock: merge_schemas.sh uses set -ex which produces verbose trace output on stderr. When invoked through deep process chains (PowerShell → make → sh → bash → bash), the stderr/stdout pipe buffers deadlock on Windows. Fixed by redirecting stderr from generation commands to a log file (.generate-gx.log, already covered by *.log in .gitignore).

Service-characteristics submodule

  • Updated to fix/envited-ontology-fixes branch (commit cbb58fe)

Regenerated Gaia-X artifacts

  • artifacts/gx/gx.owl.ttl — regenerated from service-characteristics@cbb58fe
  • artifacts/gx/gx.shacl.ttl — regenerated with patched LinkML SHACL generator
  • artifacts/gx/gx.context.jsonld — regenerated
  • artifacts/gx/UPSTREAM_COMMIT + UPSTREAM_REF — updated provenance

Testing

  • make generate succeeds (openlabel-v2)
  • make generate gx succeeds (Gaia-X)
  • make test passes
  • Makefile works on Windows with spaces-in-path GNU Make

Related Issues

@jdsika jdsika self-assigned this Mar 18, 2026
@jdsika jdsika added bug Something isn't working enhancement New feature or request labels Mar 18, 2026
- Pin linkml to ASCS-eV/linkml@feat/harbour-credentials which includes:
  - fix(shacl): nodeidentifier range produces sh:BlankNodeOrIRI (PR #3291)
  - feat(context): --xsd-anyuri-as-iri opt-in flag (PR #3292)
  - Plus 4 prior fixes for improved SHACL/OWL/context generation
- Pin service-characteristics submodule to fix/envited-ontology-fixes
- Fix Makefile quoting: quote all $(MAKE) and $(DOMAIN) expansions
  in case statement bodies to handle paths with spaces/parentheses
- Fix update-from-submodule.sh cross-platform issues:
  - Set MSYS_NO_PATHCONV=1 to prevent Git Bash path conversion
  - Redirect stderr from merge_schemas.sh to log file (pipe deadlock)
  - Strip rdfpipe Windows \r Turtle escapes for deterministic output
- Regenerate Gaia-X artifacts from service-characteristics@e12e485

Refs: linkml/linkml#3291, linkml/linkml#3292
Signed-off-by: jdsika <carlo.van-driesten@bmw.de>
@jdsika jdsika force-pushed the fix/update-linkml-pin branch from 00a519a to b3fbfbc Compare March 18, 2026 10:00
@jdsika jdsika merged commit 1a88a9b into main Mar 18, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant