API-opgave: API-frys

Formål

Denne opgave identificerer API'er, der blevet tilføjet, ændret eller fjernet relativt i forhold til API-grundlinjen. Hensigten med denne opgave er at sikre, at der ikke finder API-ændringer sted efter en API-frys.

Brug

Beskrivelse

Navnet på Ant-opgaven er: apitooling.apifreeze. For at kunne bruges skal JAR-filen apitooling-ant.jar findes i Ant-classpath.

<apitooling.apifreeze
	baseline="..."
	profile="..."
	report="..."
	excludelist="..."
	includelist="..."
	debug="..."
	eefile="..."
/>

Parametre

Attribut Beskrivelse Påkrævet
baseline Denne attribut angiver placeringen af referencegrundlinjen.

Det kan være en .zip-, .jar-, .tgz-, .tar.gz-fil eller et bibliotek, der svarer til Eclipse-installationsfolderen. Det er i dette bibliotek, at du kan finde den eksekvérbare Eclipse-fil.

Placeringen angives ved hjælp af en absolut sti.
Ja
profile Denne attribut angiver placeringen af det aktuelle produkt eller den aktuelle profil, som du vil sammenligne med referencegrundlinjen.

Det kan være en .zip-, .jar-, .tgz-, .tar.gz-fil eller et bibliotek, der svarer til Eclipse-installationsfolderen. Det er i dette bibliotek, at du kan finde den eksekvérbare Eclipse-fil.

Placeringen angives ved hjælp af en absolut sti.
Ja
report Angiv navnet på den rapportfil, der skal genereres.

Det skal angives ved hjælp af en absolut sti.
Dette skal være en filplacering, og ikke et bibliotek.
Ja
excludelist Angiv placeringen af exclude-listen.

Placeringen af exclude-listen angiver en tekstfil med de bundter, der skal udelades fra analysen. Som standard analyseres alle bundterne i profilen. Attributter for include- og exclude-lister kan bruges til selektivt at medtage og udelade bundter. Desuden understøtter opgaven angivelse af medlemmer på include- og exclude-listerne. Include-listen tilfører det bundtsæt og de medlemmer, der skal analyseres (når den ikke angives, medtages alle bundter og medlemmer), og exclude-listen anvendes derefter. Linjerne i filen angiver et af følgende:
  • et specifikt bundtnavn
  • et specifikt medlemsnavn
  • et regulært udtryk, som skal matches med bundt- eller medlemsnavne (linjer, der starter med "R:")
  • en kommentar (linjer, der starter med '#')

Placeringen angives ved hjælp af en absolut sti.
Her er et eksempel på en exclude-liste:
# ECLIPSE MEMBERS
org.eclipse.jface.databinding_1.2.0:org.eclipse.jface.databinding.viewers.ObservableListContentProvider#getElements(Ljava/lang/Object;)[Ljava/lang/Object;
# ECLIPSE BUNDLES
org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_DEC_FIELD_ERROR
org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_DEC_FIELD_WARNING
org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_ELCL_COLLAPSEALL
# NON-ECLIPSE BUNDLES
com.ibm.icu
R:javax\..*
...
Nej
includelist Angiv placeringen af include-listen.

Placeringen af include-listen angiver en tekstfil med de bundter, der skal medtages i analysen. Som standard analyseres alle bundterne i profilen. Attributter for include- og exclude-lister kan bruges til selektivt at medtage og udelade bundter. Desuden understøtter opgaven angivelse af medlemmer på include- og exclude-listerne. Include-listen tilfører det bundtsæt og de medlemmer, der skal analyseres (når den ikke angives, medtages alle bundter og medlemmer), og exclude-listen anvendes derefter. Linjerne i filen angiver et af følgende:
  • et specifikt bundtnavn
  • et specifikt medlemsnavn
  • et regulært udtryk, som skal matches med bundt- eller medlemsnavne (linjer, der starter med "R:")
  • en kommentar (linjer, der starter med '#')

Placeringen angives ved hjælp af en absolut sti.
Her er et eksempel på en include-liste:
# ECLIPSE MEMBERS
org.eclipse.jface.databinding_1.2.0:org.eclipse.jface.databinding.viewers.ObservableListContentProvider#getElements(Ljava/lang/Object;)[Ljava/lang/Object;
# ECLIPSE BUNDLES
org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_DEC_FIELD_ERROR
org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_DEC_FIELD_WARNING
org.eclipse.ui.workbench_3.4.0:org.eclipse.ui.ISharedImages#IMG_ELCL_COLLAPSEALL
# NON-ECLIPSE BUNDLES
com.ibm.icu
R:javax\..*
...
Nej
debug Angiv fejlfindingsværdien.

Mulige værdier er: true, false
Standardværdien er false.
Nej
eefile Angiv den udførelsesmiljøfil, der skal bruges.

Som standard bruges en udførelsesmiljøfil, svarende til et JavaSE-1.6-udførelsesmiljø.

Formatet af filen er beskrevet på denne wikiside.

Filen angives ved hjælp af en absolut sti.
Nej

Eksempler

	<apitooling.apifreeze
		baseline="D:\eclipse\3.4.1\eclipse"
		profile="D:\eclipse-SDK-I20081118-0800-linux-gtk.tar.gz"
		report="D:\report\report.xml"
		excludelist="D:\exclude_list.txt"
		debug="true"
	/>

Herved køres den opgave, som opretter report.xml, i folderen D:\report. Opgaven bruger exclude-listen D:\exclude_list_external.txt til at mindske antallet af problemer, der skal rapporteres.

Da fejlfinding er aktiveret, bliver der vist fejlfindingssporing i Ant-konsollen.

Relaterede referencer

Ant-opgave: Analyse
Ant-opgave: Generering af fil
Ant-opgave: API-brug
Ant-opgave: Konvertering af analyserapport
Ant-opgave: Konvertering af API-frysrapport
Ant-opgave: API-forældelse
Ant-opgave: Konvertering af API-forældelsesrapport
Ant-opgave: Konvertering af API-brugsrapport