Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Najczęstsze błędy manifestu (tryb ścisły)

BASICVALIDATION_ONLYKretL

Trzy niepoprawne warianty tego samego manifestu, każdy w osobnym folderze: nieznane pole (`KCS-KRL-0202`), uprawnienie spoza katalogu KCS (`KCS-KRL-0206`) i handler cyklu życia, którego nie ma w kodzie (`KCS-KRL-0301`). Folder `valid/` pokazuje wersję poprawną.

Edycja i zapisane wyniki

Witryna nie wykonuje kodu ani nie prowadzi walidacji SDK. Wyniki poniżej pochodzą z eksportu określonej wersji i przestają opisywać kod po jego zmianie.

Kanoniczne pliki projektu

module Main

fn Start() {
}

fn Shutdown() {
}

Czytanie kodu linia po linii

Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.

  1. module MainDeklaracja modułu KretS; porównaj nazwę z nazwą pliku.
  2. Pusta linia oddziela fragmenty źródła.
  3. fn Start() {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.
  4. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  5. Pusta linia oddziela fragmenty źródła.
  6. fn Shutdown() {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.
  7. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  8. Pusta linia oddziela fragmenty źródła.

Wynik i typowy błąd

Pierwsze polecenie kończy się sukcesem, trzy kolejne kodem 1 i diagnostyką `kret-diagnostics/1` z kodem, plikiem, wierszem i kolumną.

Na co uważać

Traktowanie `metadata` jak miejsca na dowolne pola jest poprawne tylko wewnątrz bloku `metadata { }` — gdzie indziej każde nieznane pole jest błędem.

Wymagania wersji i procedura lokalna

sdk
1.0.0-rc.3+kret.local.3
sdkInfoReports
1.0.0-rc.3
core
1.0.0-test.6.11-draft.1
os
Windows 11 x64
dotnet
.NET 10 runtime

Polecenia poniżej są instrukcją do samodzielnego wykonania z właściwym lokalnym SDK. DATA/OUT muszą wskazywać nowe katalogi testowe. Nie ma przycisku uruchamiania na serwerze.

  1. validkret check valid --jsonKatalog: project · Oczekiwany kod wyjścia: 0
  2. unknown-fieldkret check unknown-field --jsonKatalog: project · Oczekiwany kod wyjścia: 1
  3. unknown-permissionkret check unknown-permission --jsonKatalog: project · Oczekiwany kod wyjścia: 1
  4. missing-handlerkret check missing-handler --jsonKatalog: project · Oczekiwany kod wyjścia: 1

Wyniki zapisane w pakiecie źródłowym

To dowód z eksportu, nie wynik bieżącego wykonania w przeglądarce.

# EXPECTED_OUTPUT — KRETL-B02-CommonManifestErrors
# Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:30Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.
# Actual output of the run. Paths replaced by placeholders.

### 1. valid  (exit 0, PASS)
> kret check valid --json
{
  "format": "kret-diagnostics/1",
  "project": "<project>\\valid",
  "succeeded": true,
  "plugin": {
    "id": "LOCAL-KPL-KLB2ERRS",
    "name": "ManifestErrors",
    "version": "1.0.0",
    "profile": "standard",
    "database": false
  },
  "permissions": {
    "required": [],
    "optional": []
  },
  "handlers": {
    "lifecycle": [
      "start",
      "shutdown"
    ],
    "events": [],
    "commands": []
  },
  "diagnostics": []
}

### 2. unknown-field  (exit 1, PASS)
> kret check unknown-field --json
{
  "format": "kret-diagnostics/1",
  "project": "<project>\\unknown-field",
  "succeeded": false,
  "diagnostics": [
    {
      "file": "<project>\\unknown-field\\plugin.kretl",
      "line": 15,
      "column": 5,
      "endLine": 15,
      "endColumn": 11,
      "severity": "error",
      "code": "KCS-KRL-0202",
      "message": "nieznane pole \u0027colour\u0027 w bloku plugin"
    }
  ]
}

### 3. unknown-permission  (exit 1, PASS)
> kret check unknown-permission --json
{
  "format": "kret-diagnostics/1",
  "project": "<project>\\unknown-permission",
  "succeeded": false,
  "diagnostics": [
    {
      "file": "<project>\\unknown-permission\\plugin.kretl",
      "line": 13,
      "column": 13,
      "endLine": 13,
      "endColumn": 31,
      "severity": "error",
      "code": "KCS-KRL-0206",
      "message": "uprawnienia made.up.permission nie ma w katalogu KCS \u2014 nieznane uprawnienie jest zawsze odmow\u0105"
    }
  ]
}

### 4. missing-handler  (exit 1, PASS)
> kret check missing-handler --json
{
  "format": "kret-diagnostics/1",
  "project": "<project>\\missing-handler",
  "succeeded": false,
  "plugin": {
    "id": "LOCAL-KPL-KLB2ERRS",
    "name": "ManifestErrors",
    "version": "1.0.0",
    "profile": "standard",
    "database": false
  },
  "permissions": {
    "required": [],
    "optional": []
  },
  "handlers": {
    "lifecycle": [
      "start",
      "shutdown"
    ],
    "events": [],
    "commands": []
  },
  "diagnostics": [
    {
      "file": "<project>\\missing-handler\\plugin.kretl",
      "line": 1,
      "column": 1,
      "endLine": 1,
      "endColumn": 1,
      "severity": "error",
      "code": "KCS-KRL-0301",
      "message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modu\u0142ach KretS pluginu"
    }
  ]
}


Czytanie kodu linia po linii

Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.

  1. # EXPECTED_OUTPUT — KRETL-B02-CommonManifestErrorsOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  2. # Rzeczywisty wynik uruchomienia (SDK 1.0.0-rc.3+kret.local.3, 2026-11-01T12:46:30Z). Ścieżki zastąpione znacznikami <project>, <data>, <out>, <sdk>.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  3. # Actual output of the run. Paths replaced by placeholders.Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  4. Pusta linia oddziela fragmenty źródła.
  5. ### 1. valid (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  6. > kret check valid --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  7. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  8. "format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  9. "project": "<project>\\valid",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  10. "succeeded": true,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  11. "plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  12. "id": "LOCAL-KPL-KLB2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  13. "name": "ManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  14. "version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  15. "profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  16. "database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  17. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  18. "permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  19. "required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  20. "optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  21. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  22. "handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  23. "lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  24. "start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  25. "shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  26. ],Zamknięcie struktury otwartej we wcześniejszych liniach.
  27. "events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  28. "commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  29. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  30. "diagnostics": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  31. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  32. Pusta linia oddziela fragmenty źródła.
  33. ### 2. unknown-field (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  34. > kret check unknown-field --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  35. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  36. "format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  37. "project": "<project>\\unknown-field",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  38. "succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  39. "diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  40. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  41. "file": "<project>\\unknown-field\\plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  42. "line": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  43. "column": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  44. "endLine": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  45. "endColumn": 11,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  46. "severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  47. "code": "KCS-KRL-0202",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  48. "message": "nieznane pole \u0027colour\u0027 w bloku plugin"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  49. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  50. ]Zamknięcie struktury otwartej we wcześniejszych liniach.
  51. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  52. Pusta linia oddziela fragmenty źródła.
  53. ### 3. unknown-permission (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  54. > kret check unknown-permission --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  55. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  56. "format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  57. "project": "<project>\\unknown-permission",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  58. "succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  59. "diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  60. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  61. "file": "<project>\\unknown-permission\\plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  62. "line": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  63. "column": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  64. "endLine": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  65. "endColumn": 31,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  66. "severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  67. "code": "KCS-KRL-0206",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  68. "message": "uprawnienia made.up.permission nie ma w katalogu KCS \u2014 nieznane uprawnienie jest zawsze odmow\u0105"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  69. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  70. ]Zamknięcie struktury otwartej we wcześniejszych liniach.
  71. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  72. Pusta linia oddziela fragmenty źródła.
  73. ### 4. missing-handler (exit 1, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  74. > kret check missing-handler --jsonOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  75. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  76. "format": "kret-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  77. "project": "<project>\\missing-handler",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  78. "succeeded": false,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  79. "plugin": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  80. "id": "LOCAL-KPL-KLB2ERRS",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  81. "name": "ManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  82. "version": "1.0.0",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  83. "profile": "standard",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  84. "database": falsePole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  85. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  86. "permissions": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  87. "required": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  88. "optional": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  89. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  90. "handlers": {Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  91. "lifecycle": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  92. "start",Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  93. "shutdown"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  94. ],Zamknięcie struktury otwartej we wcześniejszych liniach.
  95. "events": [],Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  96. "commands": []Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  97. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  98. "diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  99. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  100. "file": "<project>\\missing-handler\\plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  101. "line": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  102. "column": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  103. "endLine": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  104. "endColumn": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  105. "severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  106. "code": "KCS-KRL-0301",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  107. "message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modu\u0142ach KretS pluginu"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  108. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  109. ]Zamknięcie struktury otwartej we wcześniejszych liniach.
  110. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  111. Pusta linia oddziela fragmenty źródła.
  112. Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów

{
  "format": "kretos-web-playground-diagnostics/1",
  "exampleId": "KRETL-B02-CommonManifestErrors",
  "sdk": "1.0.0-rc.3+kret.local.3",
  "origin": "PRECOMPUTED",
  "diagnostics": [
    {
      "id": "diag.KRETL-B02-CommonManifestErrors.2.1",
      "exampleId": "KRETL-B02-CommonManifestErrors",
      "step": 2,
      "stepName": "unknown-field",
      "command": "kret check unknown-field --json",
      "exitCode": 1,
      "file": "unknown-field/plugin.kretl",
      "line": 15,
      "column": 5,
      "endLine": 15,
      "endColumn": 11,
      "severity": "error",
      "code": "KCS-KRL-0202",
      "message": "nieznane pole 'colour' w bloku plugin",
      "origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
    },
    {
      "id": "diag.KRETL-B02-CommonManifestErrors.3.2",
      "exampleId": "KRETL-B02-CommonManifestErrors",
      "step": 3,
      "stepName": "unknown-permission",
      "command": "kret check unknown-permission --json",
      "exitCode": 1,
      "file": "unknown-permission/plugin.kretl",
      "line": 13,
      "column": 13,
      "endLine": 13,
      "endColumn": 31,
      "severity": "error",
      "code": "KCS-KRL-0206",
      "message": "uprawnienia made.up.permission nie ma w katalogu KCS — nieznane uprawnienie jest zawsze odmową",
      "origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
    },
    {
      "id": "diag.KRETL-B02-CommonManifestErrors.4.3",
      "exampleId": "KRETL-B02-CommonManifestErrors",
      "step": 4,
      "stepName": "missing-handler",
      "command": "kret check missing-handler --json",
      "exitCode": 1,
      "file": "missing-handler/plugin.kretl",
      "line": 1,
      "column": 1,
      "endLine": 1,
      "endColumn": 1,
      "severity": "error",
      "code": "KCS-KRL-0301",
      "message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modułach KretS pluginu",
      "origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"
    }
  ]
}
Czytanie kodu linia po linii

Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.

  1. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  2. "format": "kretos-web-playground-diagnostics/1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  3. "exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  4. "sdk": "1.0.0-rc.3+kret.local.3",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  5. "origin": "PRECOMPUTED",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  6. "diagnostics": [Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  7. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  8. "id": "diag.KRETL-B02-CommonManifestErrors.2.1",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  9. "exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  10. "step": 2,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  11. "stepName": "unknown-field",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  12. "command": "kret check unknown-field --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  13. "exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  14. "file": "unknown-field/plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  15. "line": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  16. "column": 5,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  17. "endLine": 15,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  18. "endColumn": 11,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  19. "severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  20. "code": "KCS-KRL-0202",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  21. "message": "nieznane pole 'colour' w bloku plugin",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  22. "origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  23. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  24. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  25. "id": "diag.KRETL-B02-CommonManifestErrors.3.2",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  26. "exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  27. "step": 3,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  28. "stepName": "unknown-permission",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  29. "command": "kret check unknown-permission --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  30. "exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  31. "file": "unknown-permission/plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  32. "line": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  33. "column": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  34. "endLine": 13,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  35. "endColumn": 31,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  36. "severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  37. "code": "KCS-KRL-0206",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  38. "message": "uprawnienia made.up.permission nie ma w katalogu KCS — nieznane uprawnienie jest zawsze odmową",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  39. "origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  40. },Zamknięcie struktury otwartej we wcześniejszych liniach.
  41. {Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  42. "id": "diag.KRETL-B02-CommonManifestErrors.4.3",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  43. "exampleId": "KRETL-B02-CommonManifestErrors",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  44. "step": 4,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  45. "stepName": "missing-handler",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  46. "command": "kret check missing-handler --json",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  47. "exitCode": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  48. "file": "missing-handler/plugin.kretl",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  49. "line": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  50. "column": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  51. "endLine": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  52. "endColumn": 1,Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  53. "severity": "error",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  54. "code": "KCS-KRL-0301",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  55. "message": "lifecycle start: nie ma funkcji Main.NoSuchHandler w modułach KretS pluginu",Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  56. "origin": "PRECOMPUTED (kret check, SDK 1.0.0-rc.3+kret.local.3)"Pole danych JSON; znaczenie wynika z wersjonowanego schematu pliku.
  57. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  58. ]Zamknięcie struktury otwartej we wcześniejszych liniach.
  59. }Zamknięcie struktury otwartej we wcześniejszych liniach.
Pochodzenie i integralność

KRET_LANGUAGE_KRETL.zip:KretL/Examples/BASIC_CommonManifestErrors/example.json

02_PLAYGROUND/EXAMPLES/KRETL-B02-CommonManifestErrors.json
SHA-256 43CEF5518F827AA09684BF5DC2F38E2D07E8FAD83F8945B8F6486F043929CAD8

Materiały źródłowe do tego tematu

Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.

KRETL-B02-CommonManifestErrors — Najczęstsze błędy manifestu (tryb ścisły)

KRETL-B02-CommonManifestErrors — Najczęstsze błędy manifestu (tryb ścisły)

🇬🇧 English version below.
PoleWartość
TechnologiaKretL
PoziomBASIC
KlasyfikacjaVALIDATION_ONLY — Tylko walidacja (bez wykonania)
PlaygroundLOCAL_VALIDATE — lokalnie: walidacja (kret check, lokalny walidator Playground)
SDK1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany)
Wynik testuTEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt

Co pokazuje

Trzy niepoprawne warianty tego samego manifestu, każdy w osobnym folderze: nieznane pole (KCS-KRL-0202), uprawnienie spoza katalogu KCS (KCS-KRL-0206) i handler cyklu życia, którego nie ma w kodzie (KCS-KRL-0301). Folder valid/ pokazuje wersję poprawną.

Pliki

Plik
missing-handler/Script/Main.krs
missing-handler/plugin.kretl
unknown-field/Script/Main.krs
unknown-field/plugin.kretl
unknown-permission/Script/Main.krs
unknown-permission/plugin.kretl
valid/Script/Main.krs
valid/plugin.kretl

Jak uruchomić

Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.

  1. kret check valid --json — wersja poprawna przechodzi
  2. kret check unknown-field --json — nieznane pole → KCS-KRL-0202 (oczekiwany błąd)
  3. kret check unknown-permission --json — uprawnienie spoza katalogu → KCS-KRL-0206 (oczekiwany błąd)
  4. kret check missing-handler --json — brak handlera → KCS-KRL-0301 (oczekiwany błąd)

Oczekiwany wynik

Pierwsze polecenie kończy się sukcesem, trzy kolejne kodem 1 i diagnostyką kret-diagnostics/1 z kodem, plikiem, wierszem i kolumną.

Najczęstszy błąd

Traktowanie metadata jak miejsca na dowolne pola jest poprawne tylko wewnątrz bloku metadata { } — gdzie indziej każde nieznane pole jest błędem.

Otwórz cały rozdział ze źródłem →

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności