Właściwości konfiguracji budowania składników i wtyczek
Mechanizm budowania jest sterowany przez konfigurację budowania.
Konfiguracja budowania dla poszczególnych wtyczek, fragmentów i
składników jest zapisana w pliku build.properties odpowiedniego
elementu.
Kreatory tworzenia projektów środowiska PDE generują plik build.properties
podczas tworzenia projektów wtyczek. Plik zawiera informacje o
sposobie kompilacji folderów źródłowych do postaci plików JAR. Informacje te mogą być
pośrednio aktualizowane na stronie Środowisko wykonawcze w edytorze
manifestów. Można je także modyfikować bezpośrednio w odpowiednim edytorze.
Środowisko PDE udostępnia prosty edytor plików build.properties
z widokami formularzy i kodu źródłowego.
Sam plik jest zgodny z formatem właściwości Java. Należy w nim wpisać szereg
kluczy i odpowiadających im wartości. Wartości
wielokrotne rozdziela się przecinkami.
Właściwości wspólne
- bin.includes - określa listę plików, które zostaną włączone do wersji binarnej budowanej wtyczki.
- bin.excludes - określa listę plików wyłączonych z budowania binariów.
- qualifier - gdy numer wersji elementu kończy się przyrostkiem .qualifier, ta właściwość wskazuje wartość, którą należy zastąpić ten przyrostek. Dozwolone wartości tej właściwości to context,
<wartość> lub none. Wartość "context" spowoduje wygenerowanie daty zgodnej z datą systemową lub
użycie znaczników CVS, gdy proces budowania jest zautomatyzowany. "Wartość" to rzeczywista wartość właściwości. Wartość "none" spowoduje usunięcie przyrostka ".qualifier". Jeśli właściwość ta
zostanie pominięta, użyta zostanie wartość context.
- custom=true - wskazuje, że skrypt budowania został utworzony ręcznie, a nie automatycznie. Dlatego nie jest sprawdzana żadna inna wartość.
- customBuildCallbacks -
wskazuje plik XML zawierający niestandardowe środowiska docelowe do wykorzystania z tym składnikiem lub wtyczką (patrz: Niestandardowe czynności budowania składników i wtyczek).
Właściwości charakterystyczne dla wtyczki
- source.<biblioteka> - określa listę folderów źródłowych, które zostaną skompilowane (na przykład source.xyz.jar=src/, src-ant/).
Jeśli biblioteka jest określona w pliku plug-in.xml lub manifest.mf, wartość tej właściwości powinna być z nią zgodna.
- output.<biblioteka> - określa listę folderów wyjściowych, w których zostaną umieszczone wyniki kompilacji.
- exclude.<biblioteka> - tworzy listę plików, które nie powinny zostać skopiowane przez kompilator do biblioteki.
- extra.<biblioteka> - dodatkowe ścieżki klas używane do
wykonania automatycznego budowania. Ścieżka klasy może zawierać ścieżki względne
lub adresy URL platformy odwołujące się do wtyczek i fragmentów
używanego środowiska programistycznego (na przykład ../someplugin/xyz.jar, platform:/plugins/org.apache.ant/ant.jar).
Zalecane jest używanie adresów URL platformy zamiast ścieżek względnych.
- manifest.<library> - wskazuje plik, który będzie używany jako manifest dla biblioteki. Plik musi znajdować się w jednym z folderów źródłowych używanych jako źródło danych wejściowych dla pliku JAR.
- src.includes - określa listę plików do włączenia podczas budowania źródeł.
- src.excludes - określa listę plików wyłączonych z budowania źródeł.
- jars.extra.classpath - (właściwość nieaktualna) ma taki sam efekt, jak właściwość extra.<biblioteka>, z tym że wpisy są stosowane do wszystkich bibliotek.
- jars.compile.order - definiuje kolejność, w jakiej powinny być kompilowane pliki JAR (w sytuacji, gdy występuje wiele bibliotek).
- jre.compilation.profile -
określa środowisko wykorzystywane do kompilacji tego pakunku (patrz: Sterowanie środowiskiem kompilacji)
- javacSource - określa poziom zgodności kodu źródłowego przy kompilowaniu tego pakunku. Nadpisuje wartość
jre.compilation.profile.
- javacTarget - określa docelowy poziom zgodności plików .class przy kompilowaniu tego pakunku. Nadpisuje wartość
jre.compilation.profile.
- bootClasspath - określa ścieżkę klasy startowej do wykorzystania przy kompilowaniu tego pakunku. Nadpisuje wartość
jre.compilation.profile.
- javacWarnings.<biblioteka>
- umożliwia ustawienie opcji ostrzeżeń do przekazania kompilatorowi (patrz opcja -warn w rozdziale Kompilowanie kodu Java Podręcznika programisty wtyczek JDT).
- javacDefaultEncoding.<biblioteka>
- umożliwia określenie domyślnego kodowania przy kompilowaniu danej biblioteki.
- javacCustomEncodings.<biblioteka>
- rozdzielona przecinkami lista ścieżek i kodowań do użycia przy kompilowaniu danej biblioteki.
Przykład:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
Wartości zdefiniowane dla kluczy kończących się przyrostkami "includes" lub
"excludes" są definiowane jako jako wzorce programu Ant. Standardowe
formaty zapewniają oczekiwane wyniki. Na przykład
"*.jar" wskazuje na wszystkie pliki JAR w katalogu najwyższego
poziomu. Domyślnie wzorce nie sięgają w głąb struktury katalogów. Aby na przykład opisać
wszystkie pliki Java, należy użyć wzorca "**/*.java".
Wzorzec "**" odpowiada dowolnej liczbie poziomów katalogów.
Podobnie, całe poddrzewa opisuje się przy użyciu wzorca "xyz/".
Właściwości charakterystyczne dla składników
- root - wyświetla listę plików i folderów, które muszą być
włączone w katalogu głównym produktu. Różne obsługiwane wartości to:
- <nazwaFolderu> - ścieżka względna do folderu, który ma zostać skopiowany.
- file:<nazwaPliku> - ścieżka względna do pliku, który ma zostać skopiowany.
- absolute:<nazwaFolderu> - ścieżka bezwzględna do folderu, który ma zostać skopiowany.
- absolute:file:<nazwaPliku> - ścieżka bezwzględna do pliku, który ma zostać skopiowany.
- root.<konfiguracja> - określa listę plików i folderów, które
muszą być włączone w katalogu głównym produktu, gdy jest on budowany dla
określonej konfiguracji. Część "konfiguracja" składa się z trzech segmentów konfiguracji rozdzielonych kropkami.
- root.permissions.<wartość_uprawnień> - określa listę plików i folderów, dla których zostanie wykonana komenda chmod w celu zmiany uprawnień. Odwołania do folderów muszą kończyć się znakiem "/".
- root.permissions.<konfiguracja>.<wartość_uprawnień> - określa listę plików i folderów, dla których zostanie wykonana komenda chmod w celu zmiany uprawnień dla określonej konfiguracji. Odwołania do folderów muszą kończyć się znakiem "/".
- root.link - określa listę par (oddzielonych
przecinkami) plików i folderów, które należy połączyć dowiązaniami
symbolicznymi. Pierwszy wpis wskazuje źródło (cel w terminologii systemów
Unix), a drugi nazwę dowiązania.
- root.link.<konfiguracja> - rozdzielana przecinkami lista par
plików i folderów, które należy połączyć dowiązaniami symbolicznymi dla danej
konfiguracji. Pierwszy wpis wskazuje źródło (cel w terminologii systemów
Unix), a drugi nazwę dowiązania.
- generate.feature@<idSkładnika> - wskazuje, że składnik źródłowy
idSkładnika będzie składnikiem źródłowym dla składnika
wskazywanego przez wartość tej właściwości. Wartości wymienione po pierwszym
przecinku wskazują elementy do pobrania z repozytorium (patrz: Generowanie źródeł wtyczek i składników)
- generate.plugin@<idWtyczki> - wskazuje, że wtyczka idWtyczki będzie
wtyczką źródłową dla wtyczki wskazanej przez wartość tej właściwości.
- significantVersionDigits
- liczba cyfr znaczących wykorzystywana przy generowaniu przyrostków wersji składników (patrz: Kwalifikatory wersji).
- generatedVersionLength -
długość wygenerowanego przyrostka wersji składnika.
Poniższy przykład pochodzi z pliku build.properties składnika org.eclipse.platform.
bin.includes=epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration/
root.permissions.755=eclipse
root.linux.motif.x86=../../plugins/platform-launcher/bin/linux/motif,linux.motif
root.linux.motif.x86.link=libXm.so.2.1,libXm.so.2,libXm.so.2.1,libXm.so
root.linux.motif.x86.permissions.755=*.so*