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.
Command not found
Najpierw zróbmy upgrade samego Peara
bash3-1# pear upgrade PEAR
Instalujemy po kolei:
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$ 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:
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ę ).
Enter the base install directory*:
Wskażmy teraz gdzie ma instalować się plugin. Podajmy znowu kropkę .
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ę.
W tym kroku wybierzmy tryb channel (c).
Teraz musimy podać nazwę kanału pear symfony: pear.symfony-project.com
Podajmy krótkie podsumowanie pluginu
Teraz wpiszmy nieco dłuższy opis pluginu i wciśnijmy dwa razy enter.
Musimy wpisać wersję pluginu. Zazwyczaj przyjęło się nazywać wersję w formacie x.y.z ( np. 0.4.6 ).
Teraz należy podać wersję API ( jeśli od ostatniego realeasu uległa jakiejś zmianie ).
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 ).
Jak wyżej lecz dotyczy wersji API.
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.
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.
Jaka jest minimalna wersja Peara. Zostawmy tak jak jest i przejdźmy do kolejnego kroku wciskając enter
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.
Ilu jest członków zespołu pracującego nad pluginem. Ja robiłem swój plugin sam więc wpisuję 1.
Jaka jest rola członka oznaczonego jako #1. Oczywiście wybieram lead ( lider zespołu ).
Imię członka zespołu. Wpisuje swoje dane: Damian Kopiec.
Teraz należy podać nazwę użytkownika pod jaką jesteśmy zarejestrowani na stronie symfony-project.
Wpisujemy adres email.
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ć:
<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
Utworzy nam się gotowa paczka z rozszerzeniem tgz. Paczka jest gotowa do zuploadowania na stronie symfony.
Życzę powodzenia.
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:
- Tworzenie nowego projektu w Symfony2 PR
- Tworzenie modułów mod_dav_svn.so i mod_authz_svn.so
- Jak zsynchronizować Linuxa z serwerem NTP
- Tworzenie repozytorium Subversion
- svn:externals na przykładzie projektu w symfony
Tagi: Linux, packages.xml, PEAR, Symfony


