Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

Paczka biblioteki `.klibpkg` i rozstrzyganie wersji

ADVANCEDVALIDATION_ONLYKretLib

`kret lib pack` tworzy paczkę biblioteki (ZIP z `library.klib` i `Script/**.krs`; tożsamością jest skrót listy plików). `kret lib resolve --update` ponownie rozstrzyga wersje. Paczki bibliotek **nie są podpisywane** (brak podpisów KretLib — ograniczenie SDK).

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.

Pobierz źródła JSON

Format tego przykładu nie jest obsługiwany przez edytor Playground. Źródła i instrukcje pozostają dostępne.

Kanoniczne pliki projektu

module Main

// Projekt wymaga biblioteki mathx; textutil przychodzi jako jej zależność i nie jest tu używana bezpośrednio.
fn Start() -> String {
    let values = [4, 8, 15, 16, 23, 42]
    let text = MathX.describe(values)
    log.info(text)
    return text
}

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. // Projekt wymaga biblioteki mathx; textutil przychodzi jako jej zależność i nie jest tu używana bezpośrednio.Komentarz autora; nie jest wykonywany.
  4. fn Start() -> String {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.
  5. let values = [4, 8, 15, 16, 23, 42]Wiązanie wartości; typ i możliwość zmiany zależą od użytej deklaracji.
  6. let text = MathX.describe(values)Wiązanie wartości; typ i możliwość zmiany zależą od użytej deklaracji.
  7. log.info(text)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  8. return textZwrócenie wartości z funkcji; nie jest zapisem do dziennika.
  9. }Zamknięcie struktury otwartej we wcześniejszych liniach.
  10. Pusta linia oddziela fragmenty źródła.
  11. fn Shutdown() {Sygnatura funkcji: nazwa, argumenty i ewentualny typ wyniku.
  12. }Zamknięcie struktury otwartej we wcześniejszych liniach.

Wynik i typowy błąd

Kod 0 w obu krokach; w `{OUT}` powstaje `mathx-1.2.0.klibpkg`.

Na co uważać

Liczenie na automatyczny wybór wersji przedpremierowej: `>=1.2.0 <2.0.0` **nie** dopuszcza `2.0.0-rc.1` (wariant bezpieczny do decyzji KCS-08).

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. packkret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkgKatalog: project · Oczekiwany kod wyjścia: 0
  2. resolve-updatekret lib resolve . --updateKatalog: project · Oczekiwany kod wyjścia: 0

Wyniki zapisane w pakiecie źródłowym

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

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

### 1. pack  (exit 0, PASS)
> kret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkg
mathx 1.2.0 (local) sha256 b25c08789f00feaac296671fead1d16d0d7fa7c9b5f732edf36791f8f3597611
paczka: <out>/mathx-1.2.0.klibpkg

### 2. resolve-update  (exit 0, PASS)
> kret lib resolve . --update
blokada: <project>\project.klibs.lock (2 bibliotek)


Czytanie kodu linia po linii

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

  1. # EXPECTED_OUTPUT — KRETLIB-A01-PackLibraryOdczytaj 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:32Z). Ś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. pack (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  6. > kret lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkgOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  7. mathx 1.2.0 (local) sha256 b25c08789f00feaac296671fead1d16d0d7fa7c9b5f732edf36791f8f3597611Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  8. paczka: <out>/mathx-1.2.0.klibpkgOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  9. Pusta linia oddziela fragmenty źródła.
  10. ### 2. resolve-update (exit 0, PASS)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  11. > kret lib resolve . --updateOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  12. blokada: <project>\project.klibs.lock (2 bibliotek)Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
  13. Pusta linia oddziela fragmenty źródła.
  14. Pusta linia oddziela fragmenty źródła.
Diagnostyka i raporty testów

null
Czytanie kodu linia po linii

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

  1. nullOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.
Pochodzenie i integralność

KRET_TECH_KRETLIB.zip:KretLib/Examples/ADVANCED_PackLibrary/example.json

02_PLAYGROUND/EXAMPLES/KRETLIB-A01-PackLibrary.json
SHA-256 51754FA8E3011E547B5DD0FDC7548548DAAF7A48CA247E09BC0252F3010B3202

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.

KRETLIB-A01-PackLibrary — Paczka biblioteki `.klibpkg` i rozstrzyganie wersji

KRETLIB-A01-PackLibrary — Paczka biblioteki .klibpkg i rozstrzyganie wersji

🇬🇧 English version below.
PoleWartość
TechnologiaKretLib
PoziomADVANCED
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

kret lib pack tworzy paczkę biblioteki (ZIP z library.klib i Script/**.krs; tożsamością jest skrót listy plików). kret lib resolve --update ponownie rozstrzyga wersje. Paczki bibliotek nie są podpisywane (brak podpisów KretLib — ograniczenie SDK).

Pliki

Plik
Script/Main.krs
host-policy.json
plugin.kretl
project.klibs
project.klibs.lock
vendor/mathx/Script/MathX.krs
vendor/mathx/library.klib
vendor/textutil/Script/TextInternal.krs
vendor/textutil/Script/TextUtil.krs
vendor/textutil/library.klib

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 lib pack vendor/mathx -o {OUT}/mathx-1.2.0.klibpkg — paczka biblioteki
  2. kret lib resolve . --update — ponowne rozstrzygnięcie wersji

Oczekiwany wynik

Kod 0 w obu krokach; w {OUT} powstaje mathx-1.2.0.klibpkg.

Najczęstszy błąd

Liczenie na automatyczny wybór wersji przedpremierowej: >=1.2.0 <2.0.0 nie dopuszcza 2.0.0-rc.1 (wariant bezpieczny do decyzji KCS-08).

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