2010-09-27 7 views
7

Jestem zainteresowany Qooxdoo jako możliwym środowiskiem programistycznym. Pobrałem SDK i zainstalowałem go w centralnej lokalizacji na moim komputerze, ponieważ spodziewam się go użyć w wielu projektach. Użyłem skryptu create-application.py, aby utworzyć nową aplikację testową i dodać wszystkie wygenerowane pliki do mojego systemu kontroli wersji.Rozwijanie za pomocą Qooxdoo i wielu programistów

Chciałbym móc współpracować w tej sprawie z innymi programistami na innych komputerach. Prawdopodobnie pakiet SDK jest zainstalowany w innej lokalizacji. Pliki generowane automatycznie w Qooxdoo wydają się zawierać ścieżkę SDK zarówno w config.json jak i generator.py: jeśli ścieżka SDK zostanie przesunięta, skrypt generator.py przestanie działać. generator.py nie wydaje się być zbyt dużym problemem, ponieważ wygląda na config.json dla zaktualizowanej ścieżki, ale nie jestem pewien, jak najlepiej radzić sobie z config.json.

Jedynymi opcjami myślałem od tej pory są:

  1. wykluczenia go z VCS, ale nie wydaje się być scenariusz zregenerować go automatycznie, więc to może być niebezpieczne.
  2. Dodaj go do VCS, ale każdy programista modyfikuje linię ścieżki i akceptuje, że może wymagać dostosowania po każdej scaleniu zmian.
  3. Zmień plik config.json na ścieżkę i pojedynczą linię "include" wskazującą drugi plik zawierający wszystkie informacje związane z ścieżką inną niż SDK.
  4. Użyj względnej ścieżki do zestawu SDK i zachowaj oddzielną, ściśle zlokalizowaną kopię zestawu SDK dla każdego projektu, który jej używa.

Podejście 1 byłoby idealne, gdyby istniał skrypt generujący; podejście 2 jest naprawdę nieprzyjemne; Nie mogłem podejść do podejścia 3, a podejście 4 jest nieco chaotyczne, ponieważ oznacza, że ​​wiele kopii SDK jest zaśmieconych tym miejscem.

Wydaje się, że Android SDK radzi sobie z tym bardzo dobrze (stosując podejście 1), ze ścieżką SDK we własnym pliku ze skryptem, który automatycznie generuje ten plik. O ile mogę powiedzieć, Qooxdoo umieszcza wiele innych ważnych informacji w config.json, a jedynym sposobem automatycznego wygenerowania tego pliku jest utworzenie nowego projektu.

Czy istnieje lepszy/zalecany sposób radzenia sobie z tym?

+0

Naprawdę nie dostaję 3. Czy możesz rozwinąć? – ThomasH

+0

W config.json znajduje się sekcja "include", więc wziął lotnik (nie wiedząc nic o jsonie) i skopiował cały plik poza ścieżką QOOXDOO do innego pliku i odwołał się do innego pliku w sekcji dołączania. To nie zadziałało. – NPB

Odpowiedz

6

Jako alternatywa do stosowania dowiązania, można zastąpić makro QOOXDOO_PATH w wierszu poleceń:

./generate.py source -m QOOXDOO_PATH:<local_path_to_qooxdoo> 

(W zależności od powłoki używasz mogłeś zastosować niektóre właściwego cytowania tego argumentu -m). W ten sposób każdy programista może korzystać z zainstalowanego lokalnie pakietu SDK qooxdoo. Możesz nawet usunąć wpis QOOXDOO_PATH z pliku config.json, aby wymusić to.

+0

Brzmi to prawie idealnie: Mogłabym łatwo edytować lokalny skrypt generator.py, tak aby argument był dodawany automatycznie, a QOOXDOO_PATH był ładowany z innego skryptu Pythona (bez niczego innego w nim). Niestety, nie działa również na Windows, ponieważ na wyższym poziomie 'generator.py' używa' split (':') 'zamiast' split (':', 1) ', więc ścieżki Windows (z': ' w nich po zerwaniu litery dysku i pojawi się komunikat o błędzie). Tak blisko, a jednak daleko ... – NPB

+1

To zostało już naprawione w bagażniku :-). Jeśli chcesz pozostać przy wydanym 1.2, po prostu wykonaj narzędzie patch/pylib/misc/ExtendAction.py: 41. – ThomasH

+0

Doskonale, wielkie dzięki. – NPB

4

Pracujemy z dowiązaniem symbolicznym wskazującym na sdk ... config.json zawiera tylko ścieżkę do łącza.

+0

To dobry pomysł. W jaki sposób zostanie to wykorzystane dla programistów w systemie Windows? – NPB

+0

Hmmm, nie jestem pewien, czy to działa, ale http://technet.microsoft.com/en-us/library/cc753194(WS.10).aspx sugeruje, że polecenie mlink powinno zapewnić ci dowiązania symboliczne w systemach plików Windows NTFS. .. –

+0

Zwróć też uwagę, że jeśli masz serwer samby, możesz utworzyć tam dowiązanie symboliczne, a system Windows pomyśli, że istnieje tam lokalna kopia qooxdoo. –