Programy przyrostowo budujące projekty
Identyfikator:
org.eclipse.core.resources.builders
Opis:
Obszar roboczy jest zgodny z
ideą programu przyrostowo budującego projekty (w skrócie: programu budującego). Zadaniem
programu budującego jest przetwarzanie zestawu zmian zasobów (dostarczanego
jako delta zasobów). Na przykład program budujący Java zrekompiluje
zmienione pliki Java i wygeneruje nowe pliki klas.
Programy budujące są konfigurowane dla poszczególnych projektów i są
wykonywane automatycznie, gdy zasoby danego projektu ulegną zmianie. Z tego
powodu programy budujące powinny być szybkie i skalowalne z uwzględnieniem
ilości zmian, a nie liczby zasobów projektu. Zazwyczaj implikuje to zdolność
programów budujących do przyrostowej aktualizacji ich "stanu budowania".
Zastosowanie punktów rozszerzenia programów budujących umożliwia twórcom
programów budujących rejestrację implementacji programów budujących pod nazwą
symboliczną, która umożliwi późniejsze znalezienie i wykonanie tego programu
wewnątrz obszaru roboczego. Nazwa symboliczna jest identyfikatorem rozszerzenia
programu budującego. Podczas definiowania rozszerzenia programu budującego
zalecane jest nadanie atrybutowi "name" wartości zrozumiałej dla człowieka.
Atrybut ten identyfikuje program budujący i może być przedstawiany użytkownikom.
Znaczniki konfiguracji:
<!ELEMENT extension (builder)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #REQUIRED
name CDATA #IMPLIED>
- point - pełny identyfikator docelowego punktu rozszerzenia.
- id - opcjonalny identyfikator instancji rozszerzenia.
- name - opcjonalna nazwa instancji rozszerzenia.
<!ELEMENT builder (run?)>
<!ATTLIST builder
hasNature (true | false)
isConfigurable (true | false) >
- hasNature - wartości true lub false wskazują,
czy program budujący należy do natury projektu. Przy wartości
true i jednoczesnym braku odpowiedniej natury program budujący nie
zostanie wykonany, ale pozostanie w specyfikacji budowania projektu. Jeśli
atrybut nie został określony, zakłada się, że ma on wartość false.
- isConfigurable - wartości true lub false wskazują, czy program budujący umożliwia konfigurowanie wyzwalaczy budowania, na które będzie reagował. Wartość true wskazuje, że klienci będą mogli używać funkcji API ICommand.setBuilding do określenia, czy program budujący powinien być uruchamiany dla wybranego wyzwalacza budowania. Jeśli
atrybut nie został określony, zakłada się, że ma on wartość false.
<!ELEMENT run (parameter*)>
<!ATTLIST run
class CDATA #REQUIRED>
- class - pełna nazwa podklasy klasy
org.eclipse.core.resources.IncrementalProjectBuilder.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - nazwa parametru udostępniona instancjom określonej klasy
programu budującego.
- value - dowolna wartość powiązana z daną nazwą, udostępniona
instancjom określonej klasy programu budującego.
Przykłady:
Poniżej przedstawiono
przykładową konfigurację programu budującego:
<extension id=
"coolbuilder"
name=
"Cool Builder"
point=
"org.eclipse.core.resources.builders"
>
<builder hasNature=
"false"
>
<run class=
"com.xyz.builders.Cool"
>
<parameter name=
"optimize"
value=
"true"
/>
<parameter name=
"comment"
value=
"Wygenerowane przez program Cool Builder"
/>
</run>
</builder>
</extension>
Jeśli to rozszerzenie zostało zdefiniowane w module dodatkowym o identyfikatorze
"com.xyz.coolplugin", to pełną nazwą tego programu budującego będzie
"com.xyz.coolplugin.coolbuilder".
Informacje o interfejsie API:
Wartość
atrybutu klasy musi przedstawiać podklasę klasy
org.eclipse.core.resources.IncrementalProjectBuilder.
Dostarczana implementacja:
Sama
platforma nie ma predefiniowanych programów budujących. Poszczególne
instalacje produktów mogą, zgodnie z potrzebami, obejmować różne programy budujące.
Copyright (c) 2002, 2005 IBM Corporation i inne podmioty.
Wszelkie prawa zastrzeżone. Program ten oraz towarzyszące mu materiały są udostępniane na warunkach licencji EPL (Eclipse Public License), wersja 1.0, dołączonej do nich i dostępnej pod adresem http://www.eclipse.org/legal/epl-v10.html.