# Zarządzanie wersjami

Podczas tworzenia i aktualizowania wtyczki może być w pewnym momencie konieczne zarządzanie wersjami kodu.

Na przykład interfejsy API programu FormIt mogą się zmieniać w kolejnych wersjach, ale mimo że nowa wersja wtyczki może korzystać z nowych interfejsów API programu FormIt lub WSM, niekiedy warto zachować również możliwość używania wtyczki w starszych klientach.

Od wersji FormIt **18.0** można zaimplementować dla wtyczki zarządzanie wersjami w 3 prostych krokach:

* Dodaj plik *version.json* do katalogu głównego wtyczki.
* Określ w pliku *version.json* poszczególne zgodne wersje programu FormIt oraz katalogi zawierające te pliki wtyczek.
* Użyj wewnętrznego numeru wersji programu FormIt, czyli „numeru kompilacji”, który jest podany w programie FormIt w obszarze Informacje > Informacje o programie.

### Jak zorganizować zarządzanie wersjami dla wtyczki

Zorganizuj pliki i katalogi wtyczki tak, aby były zgodne z plikiem *version.json*

Plik *version.json* powinien wyglądać następująco:

```
        [
            {
                "version":{
                    "major":18,
                    "minor":0
                },
                "path":"v18_0"
            },
            {
                "version":{
                    "major":19,
                    "minor":1
                },
                "path":"v19_0"
            }
        ]
```

Powyższe ścieżki *v18\_0* i *v19\_0* muszą być poprawnymi ścieżkami podrzędnymi z katalogu głównego danego katalogu/repozytorium.

![](/files/UAQQ4nFjJRomN1Hs8zJq)

![](/files/VzNAn7E2oV4jw4ILgNHL)

![](/files/tssXfpoYJvwpyjWGaZXk)

Dobrym rozwiązaniem jest przeniesienie kodu wtyczki do podkatalogów. W przypadku powyższego pliku *version.json* struktura katalogów wygląda następująco:

* **version.json** (plik)
* **v18\_0** (katalog)
  * **manifest.json** (plik)
  * **plugin.html** (plik)
  * **plugin.js** (plik)
* **v19\_0** (katalog)
  * **manifest.json** (plik)
  * **plugin.html** (plik)
  * **plugin.js** (plik)

Opcjonalne właściwości wersji to „exactVersion” i „lastVersion”. „exactVersion” wskazuje, że wersja musi być dokładnie zgodna z wersją programu FormIt. „lastVersion” wskazuje ostatnią wersję, którą można uruchomić w programie FormIt.\\

```
[
    {
      "version":{
        "major":18,
        "minor":0,
        "exactVersion":true
        },
        "path":"v18_0"
    },
    {
        "version":{
            "major":19,
            "minor":1,
            "lastVersion":true
       },
        "path":"v19_0"
    }
 ]
```

Można również używać rozgałęzień/oznaczeń/zatwierdzeń systemu git dla ścieżek.

Jeśli pracujesz z wersją wstępną lub beta programu FormIt i chcesz przetestować zmiany we wtyczce, która współdziała tylko z wersją wstępną:

* Wykonaj powyższe czynności, ale użyj nazwy pliku *versions\_prerelease.json*
* Jeśli zatwierdzisz w repozytorium wersję *versions\_prerelease*, usuń ją, gdy ta wersja wstępna programu FormIt zostanie opublikowana
  * W przeciwnym razie przyszłe wersje wstępne programu FormIt będą wczytywać wtyczkę z lokalizacji, która może być przestarzała lub przeznaczona dla starszej wersji.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://windows.help.formit.autodesk.com/pl/plugins/how-to-develop-plugins/advanced-development/versioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
