import across separately loaded sources does not resolve
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Start with the load_from_content and conn.load entry points using the base.sysml and chapter.sysml examples, and inspect how the project/commit model handles separately loaded resources. Compare this behavior with the sysml-toolkit command that resolves the pair. Done means documenting the intended loading pattern and confirming whether cross-file imports resolve without concatenation.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
A model split across two files, where one imports a package from the other, fails to resolve when the two are loaded as separate sources — even from the same directory — though the same pair resolves fine when concatenated into one source, and sysml-toolkit resolves the pair without concatenation.
Version: OpenSysML v0.9.0. sysml-toolkit v0.9.1 resolves the same pair (sysmlv2 check base.sysml chapter.sysml).
Observed
base.sysml:
package Base { part def Heater; part def Timer; }
chapter.sysml:
package Chapter {
private import Base::*;
part def Toaster { part heater : Heater; part timer : Timer; }
}
Loading chapter.sysml alone — via load_from_content with only its own text, or via conn.load(path) with base.sysml present in the same directory — fails with unresolved reference. Concatenating both files' text into a single source and loading that works.
Question, not (yet) a bug report
We haven't established what the SysML/KerML package-import semantics, or the API's project/commit model, require for resolving imports across multiple separately-loaded resources — this may be entirely by design (e.g. a caller is expected to supply a single already-merged/pre-linked source, or to explicitly register each resource with the connection first). Rather than assert a bug, we'd like to ask: what is the intended way to load a model that spans multiple files or commits, so that imports between them resolve? If there is a documented pattern for this we've missed, a pointer would be very welcome.
Workaround in place
We concatenate sources ourselves before loading, which works but loses whatever the API's project/commit model would otherwise give us (e.g. provenance of which file/commit an element came from).
- Ngôn ngữ chính
- Go
- Star
- 42
- Fork
- 13
- Merge trung bình
- 16 giờ 59 phút
- Pull request đã merge (30 ngày)
- 813
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Open-MBEE/OpenSysML
-
Definition of requirementsĐang mởquestion
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Open-MBEE/OpenSysML#1359 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Open-MBEE/OpenSysML#1309 · 5 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Open-MBEE/OpenSysML
Issue tương tự
-
[flaky test] TestValidatorCommitterDropsEmptyStatusBatch: submits to the mock VC before its stream is registeredCó thể đã có người làm @liran-funaro đã nhận hôm nay. Đang mởcoordinator flaky-test race-condition testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
hyperledger/fabric-x-committer#876 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
kind/features
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
TencentBlueKing/bk-nodemgr#3804 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
cloudnative-pg/plugin-barman-cloud#1187 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[deliverclient] Remove the unused common/deliverclient packageCó thể đã có người làm @liran-funaro đã nhận hôm nay. Đang mởcode-hygiene
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
hyperledger/fabric-x-common#236 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
consensus feature I2 S4 U2
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày