Jaki jest najlepszy sposób udostępniania plików źródłowych Delphi wśród projektów?Jaki jest najlepszy sposób udostępniania plików źródłowych Delphi wśród projektów?
Wyjaśnienie: Chcemy użyć pojedynczego pliku źródłowego w wielu projektach Delphi. Używamy naszego narzędzia SCM do umieszczania tego samego pliku w wielu folderach, ale nie jest to super-eleganckie doświadczenie i rozważamy także migrację do narzędzia, które tego nie obsługuje.
Jak już bada tę kwestię, ja już za kilka różnych podejść, ale chciałbym wiedzieć, co robisz i jak znaleźć swoje podejście.
Ważne scenariusze:
- Kod czasu
- Dodanie nowego zależność udostępniania powinny wymagać wyraźnej deklaracji, tak, że dzielenie się udało.
- Dodanie nowej zależności współdzielenia powinno być nadal stosunkowo proste; nie powinno wymagać skomplikowanego procesu.
- Jeden plik zawierający listę wszystkich "zaimportowanych" plików projektu (z zewnątrz) byłby niezły.
- kompilacji
- Wszystkie projekty powinny zawsze zbudować z jednej aktualnej wersji (obecnej jako stanu synchronizacji źródło powiększonej lokalnych edycji).
- (Utrzymanie różne wersje w różnych miejscach należy użyć pliku rozgałęzień, co nie jest tematem, tutaj.)
- czy każdy projekt powinien być w stanie wpłynąć na kompilację pliku udostępnionego za pomocą różnych ustawień kompilatora (w tym flagi) jest dyskusyjna.
- Jest to prawdopodobnie łatwiejszy w utrzymaniu (tj. Długoterminowy) kod źródłowy, który jest zawsze budowany konsekwentnie.
- Łatwiej jest wprowadzić poprawki serwisowe (np. Krótkoterminowe), jeśli zakres wspomnianych zmian można łatwo ograniczyć do jednego projektu.
- Wszystkie projekty powinny zawsze zbudować z jednej aktualnej wersji (obecnej jako stanu synchronizacji źródło powiększonej lokalnych edycji).
- Debug czasie
- Poprawna wersja źródła powinien automatycznie otwarte, gdy wchodząc do rutynowego lub ustawienie punktu przerwania.
- Edycja wyświetlanego źródła powinna wpłynąć na kolejną kompilację.
- Nie chcemy debugować przeciwko tymczasowej kopii źródła: w zamieszaniu pewnie stracilibyśmy kod.
Uwagi:
- Near-Term:
- Co będzie najprostsze podejście do umieszczenia w miejscu?
- długoterminowa:
- Jakie podejście będzie najprostszy w obsłudze i konserwacji?
Dzięki z góry za opinie!
Mattias
--- UPDATE ---
Dzięki za opinię, poprzez odpowiedzi, komentarze i głosy!
Rozpocząłem drogę do umieszczania współdzielonych plików w jednym projekcie "producenta" i importowania listy skompilowanych plików do każdego projektu "konsumenta". Projekty są łączone razem z MSBuild. Gdy wszystko będzie lepiej zrozumiane, zmienię to pytanie i odpowiedź "Projekt biblioteczny", by podzielić się tym, czego się nauczyłem.
Bądź na bieżąco! (Ale nie wstrzymywać oddechu, będziesz asphyxiate ciągu kilku minut: P)
używam projekty biblioteczne przechowywane z kontroli źródła. W przypadku jednostek współużytkowanych po prostu dołączam ścieżkę do katalogu źródłowego biblioteki w ścieżkach wyszukiwania biblioteki. – skamradt
Ponieważ wszystkie pliki znajdują się na ścieżce do biblioteki, czy każdy z projektów ma dostęp do większości udostępnianych plików? Czy masz * tak wiele * projektów bibliotecznych, że udostępniasz tylko jeden plik na raz? (I Source Control jest absolutnie konieczne! Mam wyjaśnić, co mam na myśli w drugim podejściu. :-)) –
Nie, konkretne ścieżki wyszukiwania projektu dba o katalogach które są zlokalizowane powiedzieć, konkretną wersję lub grupy programy. Na co dzień każdy program musi korzystać z procedur, są one w globalnej ścieżce wyszukiwania, – skamradt