Tworzenie pliku packages.xml

17 lut
{lang: 'pl'}

Prawidłowo skonstruowany plugin do symfony zawiera oprócz całej struktury plików mały pliczek packages.xml. To właśnie dzięki niemu mozliwe jest instalowanie plugina przy pomocy taska. W tym artykule opiszę jak generować pliki packages.xml przy pomocy narzędzia Pear Package File Manager

Zakładam, że naszym systemie zainstalowany jest PHP i Pear. Skoro tak upewnijmy się, czy nie mamy zainstalowanego programu pfm.

bash3-1$ pfm
Command not found

Najpierw zróbmy upgrade samego Peara

bash3-1# pear channel-update pear.php.net
bash3-1# pear upgrade PEAR

Instalujemy po kolei:

bash3-1# pear install channel://pear.php.net/PHP_CompatInfo
bash3-1# pear install channel://pear.php.net/XML_Serializer
bash3-1# pear install channel://pear.php.net/PEAR_PackageFileManager_Plugins
bash3-1# pear install channel://pear.php.net/PEAR_PackageFileManager
bash3-1# pear install PEAR_PackageFileManager_Cli-0.3.0

Jeśli wszystko zainstalowało się bezbłędnie to wypróbujmy działanie pfm. Przejdźmy do katalogu z pluginem i po prostu wydajmy polecenie pfm:

bash3-1$ cd /www/symfony-plugins/plugins/caMailerPlugin
bash3-1$ pfm

Po wpisaniu polecenia pfm konsola zrobi się nieco bardziej interaktywna i zacznie wypytywać nas o różne rzeczy. W moim przypadku wylądało to tak:

PEAR Package File Manager Command Line Tool

Please enter the location of your package [.]*:

W tym kroku musimy podać względną ( bądź bezwzględną ) ścieżkę do katalogu z pluginem. My znajdujemy się w katalogu z plugnem zatem wpiszmy . ( kropkę ).

Creating a new package file ...

Enter the base install directory*:

Wskażmy teraz gdzie ma instalować się plugin. Podajmy znowu kropkę .

Enter the name of the package [caMailerPlugin]*:

Teraz system pyta nas o nazwę naszego pluginu ( w nawiasie kwadratowym sugeruje nazwę katalogu ). Możemy zgodzić się na jego propozycję wciskając enter bądź wpisać dowolnie inną nazwę.

Channel or URI based package? [c] (c,u)*:

W tym kroku wybierzmy tryb channel (c).

Enter the name of the channel [pear.php.net]*:

Teraz musimy podać nazwę kanału pear symfony: pear.symfony-project.com

Enter a 1 line summary*:

Podajmy krótkie podsumowanie pluginu

Enter a description* (2 blank lines to finish):

Teraz wpiszmy nieco dłuższy opis pluginu i wciśnijmy dwa razy enter.

Enter the release version*:

Musimy wpisać wersję pluginu. Zazwyczaj przyjęło się nazywać wersję w formacie x.y.z ( np. 0.4.6 ).

Enter the API version [0.3.2]*:

Teraz należy podać wersję API ( jeśli od ostatniego realeasu uległa jakiejś zmianie ).

Choose a release stability [alpha] (alpha,beta,stable)*:

Teraz musimy określić stabilnośc neszego pluginu. Jeśli jest to plugin rozwojowy wpiszmy alpha bądź beta. Stable wpiszmy dopiero kiedy będziemy pewni, że w pluginie nie ma żadnych poważniejszych błedów. Mała uwaga. Jeśli jako wersję wpiszemy 1.0.0 a póżniej wybierzemy wersję niestabilną ( alpha albo beta ) pearowi niekoniecznie musi się to do końca spodobać ( parserowi symfony także ).

Choose an API stability [alpha] (alpha,beta,stable)*:

Jak wyżej lecz dotyczy wersji API.

Enter any release notes* (2 blank lines to finish):

Jeśli wiemy co zmieniło się od czasu ostatniego wypustu opiszmy wszystkie te rzeczy w tym kroku i zatwierdźmy wciskając dwa razy enter.

Enter the minimum PHP version [5]*:

Jaka minimalna wersja parsera PHP jest wymagana żeby plugin ruszył. Jeśli rzeczywiście używamy funkcji które dostępne są tylko od określonej wersji php zaznaczmy to w tym kroku wpisując właściwą wersję php.

Enter the minimum PEAR Installer version [1.4.0]*:

Jaka jest minimalna wersja Peara. Zostawmy tak jak jest i przejdźmy do kolejnego kroku wciskając enter

Please choose a license from one of the following options

    1) Apache
    2) BSD Style
    3) LGPL
    4) MIT
    5) PHP

Please choose an option:

Teraz należy wybrać rodzaj licencji, zgodnie z ideą pluginów symfony należy wybrać licencję spokrewnioną z licencją MIT. Ja wybiorę BSD, ale uwaga, nazwa BSD Style jest nierozpoznawana przez instalator symfony, będziemy ją musieli później ręcznie wyedytować i zmienić na New BSD.

How many maintainers?*:

Ilu jest członków zespołu pracującego nad pluginem. Ja robiłem swój plugin sam więc wpisuję 1.

What type of maintainer is #1? [lead] (lead,developer,contributor,helper)*:

Jaka jest rola członka oznaczonego jako #1. Oczywiście wybieram lead ( lider zespołu ).

Enter maintainer #1's name*:

Imię członka zespołu. Wpisuje swoje dane: Damian Kopiec.

Enter maintainer #1's username*:

Teraz należy podać nazwę użytkownika pod jaką jesteśmy zarejestrowani na stronie symfony-project.

Enter maintainer #1's email [username@php.net]*:

Wpisujemy adres email.

PEAR Package File Manager Command Line Tool

    1. Package name                 [caMailerPlugin]
    2. Channel/URI                  [Channel: pear.php.net]
    3. Summary                      [plugin summary]
    4. Description                  [plugin description]
    5. Maintainers
    6. Version                      [Release: 0.4.3 API: 0.4.3]
    7. Stability                    [Release: alpha API: alpha]
    8. License                      [BSD Style]
    9. Notes                        [changelog]
   10. Dependencies
   11. Tasks
   12. Regenerate contents
   13. Echo package file to stdout
   14. Save & Quit
   15. Quit without saving          (ctrl-c)

Please choose an option from the menu:

To juz ostatni krok przed wygenerowaniem ostatecznego pliku xml. Jeśli wszystko jest ok wybierzmy opcję numer 14 – Save & Quit

Teraz bardzo ważne jest to żeby wyedytować plik packages.xml i zmienić w nim:

  • Rodzaj licencji z BSD Style na New BSD
  • W strukturze plików zamienić wszystkie wystąpienia role=”php” na role=”data”

Na koniec do sekcji required należy dodać:

<package>
  <name>symfony</name>
  <channel>pear.symfony-project.com</channel>
  <min>1.2.0</min>
  <max>1.3.0</max>
  <exclude>1.3.0</exclude>
</package>

Teraz po wydaniu polecenia

pear package package.xml

Utworzy nam się gotowa paczka z rozszerzeniem tgz. Paczka jest gotowa do zuploadowania na stronie symfony.

Życzę powodzenia.

Print Friendly

Wyszukiwane frazy:

  • please enter the package directory (2)
  • Błąd 6 w packages hml (1)
  • generowanie plików xml (1)
  • jak zobaczyć podgląd pliku package (1)
  • linux pliki pkg (1)
  • php tworzenie pliku xml (1)
  • pliki package podgląd (1)
  • tworzeie pliku xml php (1)
  • tworzenie plików pkg (1)

Inne posty:

  1. Tworzenie nowego projektu w Symfony2 PR
  2. Tworzenie modułów mod_dav_svn.so i mod_authz_svn.so
  3. Jak zsynchronizować Linuxa z serwerem NTP
  4. Tworzenie repozytorium Subversion
  5. svn:externals na przykładzie projektu w symfony

Tagi: , , ,

« »
  • Bronder Call

    Logically this is great, keep up the good work.

[B]log programistyczny

IP 38.107.179.208 (38.107.179.208)