Convert: export a model of several documents with references across them resolved
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
Research direction
Read export.go and SoleDocument, then trace how ParseSources supplies model_hash to the service's Convert and how -convert selects documents. Reproduce the two-file example with sysml -validate and the current api-json conversion. Done means selected documents can be converted with cross-document references resolved without exporting every parsed library element.
Written by the indexing model from the issue text.
Description
On develop (72081f8), -convert takes one file, and the service's Convert refuses a model_hash of several documents (export.go, SoleDocument). A document converted on its own writes a reference into another file as an unresolved name. Both files validate cleanly together in sysml -validate and in SysIDE 0.10.3:
// lib.sysml
package Lib { part def Engine; }
// app.sysml
package App { private import Lib::*; part e : Engine; }
sysml -convert api-json app.sysml gives the typing of e as "type": {"@ref": "Engine"}, where Lib::Engine is meant. sysml -convert api-json app.sysml lib.sysml stops with "-convert converts one file".
Request: convert the documents of a multi-document model (a model_hash from ParseSources, or several files), resolving references across them. Ideally the caller can name which documents to write, so a library parsed alongside isn't exported with every project.
Concatenating everything into one file works around it, but the output then includes every library element, and each element loses the file it came from.
- Dominant language
- Go
- Stars
- 24
- Forks
- 5
- Avg merge
- 10h 7m
- Merged PRs (30d)
- 536
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Open-MBEE/OpenSysML
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 58/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
Open-MBEE/OpenSysML#608 · 1 comment ·
Maintainers usually reply within 1 day
All issues in Open-MBEE/OpenSysML
Similar issues
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
DataDog/dd-trace-go#5469 ·
Maintainers usually reply within 1 day
-
bug tests
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
l3montree-dev/devguard#3101 ·
Maintainers usually reply within 1 day
-
area:*of bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oapi-codegen/oapi-codegen#2593 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
DaoCloud/DaoCloud-docs#7432 ·
Maintainers usually reply within 1 day