Compilerindstillinger
PDE/Build understøtter en række indstillinger til styring af compileren til individuelle plugins. Du kan finde oplysninger om indstillinger for kilde- og målniveauer samt bootclasspath i Indstil kompileringsmiljø.
Advarsler og fejl
PDE/Build giver mulighed for at angive tilpassede kompileringsadvarsler og -fejl i filen build.properties. De kan angives pr. bibliotek (en enkelt plugin kan indeholde flere JAR-biblioteker) med indstillingerne javacWarnings.<library> og javacErrors.<library>. Værdierne til disse egenskaber angives i afsnittet "-warn:..." på siden Brug batchcmpileren i brugervejledningen til Java-udvikling.
Eksempel:
javacErrors.. = forbidden,discouraged,
javacWarnings.library.jar = deprecation,nullDereference
Advarsler og fejl fra projektindstillinger
JDT-projektindstillingerne kan nu også bruges i PDE/Build. PDE/Build selv kan ikke læse indstillingsfilerne, men det kan videregive dem til JDT-compileren, som forstår dem.
For at en plugin skal kunne bruge dette, skal den angive egenskaben javacProjectSettings i filen build.properties. Værdien skal være:
- javacProjectSettings=true: Brug den projektindstilling, der er angivet i standardindstillngsfilen .settings/org.eclipse.jdt.core.prefs.
- javacProjectSettings=path/to/jdt.prefs: Brug den angivne indstillingsfil.
I nogle projekter kan det være relevant at bruge andre indstillinger for advarsler og fejl i arbejdsområdet end dem, der er i en releng-bygning. Herved kan du angive indstillingerne på en nemmere måde end via egenskaben "javacWarnings.<bibliotek>".
Filkodning
PDE/Build kan modtage tilpassede filkodninger for et enkelt bibliotek, en enkelt folder eller en enkelt fil.
- javacDefaultEncoding.<bibliotek>
- angiver den standardkodning, der skal bruges ved kompilering af det angivne bibliotek.
- javacCustomEncodings.<bibliotek>
- en kommasepareret liste over stier og kodninger, der skal bruges ved kompilering af det angivne bibliotek. Når du angiver en folder, bruges kodningen for alt, som denne folder indeholder. Når du angiver en fil, bruges kodningen for filen alene. Eksempel:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
Tilpassede compilerargumenter
Tilpassede compilerargumenter kan nu angives for hvert enkelt bundt vha. egenskaben compilerArg i bundtets build.properties-fil. Denne egenskab ligner egenskaben compilerArg i byggeprogrammets konfiguration, bortset fra at den kun påvirker den enkelte plugin i stedet for alle plugins. De specifikke argumenter her afhænger af den anvendte compiler. Argumenterne til JDT-compileren er angivet her.
Prioritering af compilerindstillinger
Der er flere forskellige måder at angive compilerindstillinger på. Generelt prioriteres af indstillingerne på følgende måde:
- javacDefaultEncoding.<bibliotek> har forrang for en tilpasset -encoding-kommandolinjeindstilling.
- Hvis der er tale om generelle indstillinger, tilsidesætter en indstilling, der optræder senere på compilerkommandolinjen, indstillinger, der er angivet tidligere. Indstillingerne angives til JDT i følgende rækkefølge:
- Egenskaben compilerArg fra byggeprogrammets konfiguration (påvirker alle bundter).
- Egenskaben compilerArg fra denne plugins build.properties.
- Den compilerindstillingsfil, der er angivet med javacProjectSettings.
- Den genererede argumentfil (javaCompiler.<bibliotek>.args), der indeholder filkodninger, javacWarnings, javacErrors og adgangsregler.
Brug af en tilpasset compiler
Et bundt kan nu bruge en tilpasset compiler ved at angive egenskaben compilerAdapter. Den angivne compileradapter skal være tilgængelig i Ant-miljøet. Den JDT-compileradapter, der bruges som standard, er org.eclipse.jdt.core.JDTCompilerAdapter. En bestemt årsag til at angive en alternativ compiler er til Aspect J- eller Groovy-bundter. Bundter, der angiver en tilpasset compileradapter, skal også angive nogle af følgende egenskaber:
- sourceFileExtensions: En liste over udvidelser, der skal betragtes som kilde (f.eks. *.java, *.aj, *.groovy).
- compilerAdapter.useLog: Om argumentet "-log" skal sendes til compileren
- compilerAdapter.useArgFile: Om den genererede javaCompiler.<bibliotek>.args-fil skal sendes (indeholder adgangsregler, filkodninger og advarsel/fejl-niveauer).