prebuild checks
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Problem
Most user mistakes are only found by the Maven build, which takes minutes. The messages then come from Xtext, Xbase or javac and don't say what to change.
Today only a few things are checked up front:
- Metamodels: that they load, pass
EcoreValidator, and have a unique name and nsURI. - Reactions:
ReactionsProcessorchecks only that imports name uploaded nsURIs and that areactions:segment exists.
Proposal
-
Semantic reactions checks against the EPackages the service has already loaded. Each check reports the file, line and column:
Check Example message Every alias used is declared by an import " cadis not imported; the declared aliases aremodel,model2"in reaction to changes in A/execute actions in Bname declared aliases" execute actions in model3:model3is not imported"alias::Classexists in that metamodel" model2has no classEntitiy; did you meanEntity?" (closest names by edit distance)alias::Class[feature]exists" Componenthas no featurecomponent; its features arename(attribute),links(reference, many) …", inherited features includedThe change type fits the feature " inserted inneeds a multi-valued reference, butLink[protocol]is single-valued; usereplaced at" -
Metamodel checks that
EcoreValidatormisses but that break Java code generation later. Each message names the element (e.g.Component.name) and says what to change in the model editor.- names that are Java keywords, or clash with generated methods (
class,Package,eClass,getClass); - class names that differ only in letter case, which collide as generated files on some file systems;
- package names that aren't valid Java identifiers;
- attributes or references without a type.
Also reword the existing
EcoreValidatormessages to use names likeComponent.name. - names that are Java keywords, or clash with generated methods (
-
Hint catalog for the Xtext/Xbase messages that still come from Maven, attached as
hintto the problems from the structured-errors issue:Message Hint mismatched input …the expected syntax, with a minimal example Couldn't resolve reference to EClass …the did-you-mean from point 1 The method X is undefined for the type Ythe features Y really has type mismatch in a routine call the routine's signature -
Spike: in-process parsing with the real Reactions grammar.
- Put
tools.vitruv.dsls.reactions.languageon the service's classpath to get exact syntax and linking errors without Maven. - Risks: Xtext/Guice next to Spring Boot 4. Errors inside reaction code blocks (Xbase) need the compiled model classes, so they would be filtered out here and left to Maven.
- Outcome: if the spike works, it replaces the regex-based parsing in
ReactionsProcessor; if not, document why.
- Put
Acceptance criteria
- Typos in an alias, class name or feature name are reported within one second, before any Maven run, with a did-you-mean suggestion when a close match exists.
- Each metamodel check has a fixture that previously failed only in the Maven build and now fails up front with a message naming the element.
- The spike has a written result: works or doesn't, and why.
Depends on the structured-errors issue for the problems format.
- Lenguaje dominante
- Java
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 8 h 5 min
- PR fusionados (30 d)
- 15
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de vitruv-tools/Methodologist-SetupService
-
Compile NeoJoin views into the generated VSUMPosiblemente ocupada @Davit-Tsulaia la tomó hace 3 días. Abierto
vitruv-tools/Methodologist-SetupService#55 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Check NeoJoin view definitions before the buildPosiblemente ocupada @ZuraKajaia565 la tomó hace 3 días. Abierto
vitruv-tools/Methodologist-SetupService#54 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Failed upload of meta model leads unaccurate error messageQuizá libre de nuevo @BENEDICT9845 la tomó hace 53 días y no hay ningún pull request abierto. Abierto
vitruv-tools/Methodologist-SetupService#30 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de vitruv-tools/Methodologist-SetupService
Issues similares
-
ARM: Q flag should be stickyAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
NationalSecurityAgency/ghidra#10155 ·
Los mantenedores suelen responder en 2 días
-
bug web-ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
jenkinsci/jenkins#27705 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
"item-tooltip-keyboard-fix" crashes the game when opening the Items tab of the statistics menuAbiertomod bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
elmital/FixMCStats#65 · 3 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
googleads/googleads-mobile-flutter#1541 ·
Los mantenedores suelen responder en 4 días
-
Keyboard crashes Chrome tabsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Julow/Unexpected-Keyboard#1490 ·
Los mantenedores suelen responder en 4 días