Produktbygninger med p2

Definér den nye egenskab:

p2.gathering = true

vil forårsage et par ændringer for produktbygninger. Især kan nævnes, at bygingen frembringer korrekt installerede fuldt p2-aktiverede produkter.

Nedenfor finder du en liste over de relaterede egenskaber (gamle og nye):

p2.gatheringAngiv til true for at p2-udgiverbaserede bygninger.
p2.build.repoEn URI til det lokale p2-opbevaringssted på byggetidspunktet. Standardværdien er file:${buildDirectory}/buildRepo. Resultaterne spejles herfra til den endelige arkivplacering.
generate.p2.metadataDette er egenskaben for den gamle integration af metadatageneratoren. Den har ingen virkning, når p2.gathering=true.
p2.metadata.repo
p2.artifact.repo
Disse egenskaber er URI'er. Som standard ved produktbygninger er de endelige arkiver de installerede produkter og metadata, og artefakterne forbliver i ${p2.build.repo}. Hvis p2.metadata.repo og p2.artifact.repo er defineret, bliver artefakter og metadata for produktet spejlet fra byggeopbevaringsstedet.
p2.metadata.repo.name
p2.artifact.repo.name
Disse valgfrie egenskaber bruges til at navngive det endelige opbevaringssted, når p2.metadata.repo og p2.artifact.repo bruges.
p2.compressAngiv til true for at komprimere den endelige opbevaringssteds-XML til en JAR-fil.
p2.flavorProduktudgaven. Bruges som en kvalifikator i konfigurationsmetadataene for produktet. Se nedenfor.
p2.product.qualifierDen kvalifikator, der skal bruges ved erstatning af "1.0.0.qualifier" i et produkts version. Hvis den ikke angives, bliver kvalifikatoren baseret på forceContextQualifier eller tidsstemplet.
p2.publish.artifactsIngen virkning, når p2.gathering=true (gammel egenskab).
p2.root.name
p2.root.version
Ingen virkning, når p2.gathering=true (gammel egenskab).
p2.context.reposDefinér kontekstopbevaringssteder. Se genbrug metadata.
repoBaseLocationEn folder, der indeholder opbevaringssteder, som skal transformeres vha. <p2.repo2runnable>. Se også genbrug metadata.
transformedRepoLocationDen folder, der indeholder outputtet fra <p2.repo2runnable>. Se også genbrug metadata.
p2.category.siteEn URL til en site.xml-fil, der bruges til at definere kategorier.
p2.category.definitionEn URL til en category.xml-fil, der bruges til at definere kategorier.
p2.category.prefixDefinér et præfiks for at sikre entydige id'er for kategori-IU'er (installable units - installérbare enheder), der er genereret fra websteds/kategorifiler, som ikke bruger entydige navne.
skipMirroringSpring over den endelige spejling fra ${p2.build.repo} til ${p2.metadata.repo}.
skipDirectorSpring over kaldet styringen. Der produceres ingen installerede produkter. Hvis p2.metadata.repo og p2.artifact.repo er defineret, vil disse opbevaringssteder indeholde produktmetadata og artefakter. Ellers vil ${p2.build.repo} indeholde resultaterne.
p2.director.logPlaceringen af en logfil, hvor resultaterne af styringskaldet skal registreres.
p2.director.profileDet navn, der skal bruges til den p2-profil, som oprettes af styringen. Normalt er det en god idé at give den et navn, som har relation til produktet. Standardværdien er "profile".
p2.director.extraArgsEkstra argumenter, som skal sendes til biblioteket. Standardværdien er -profileProperties org.eclipse.update.install.features=true".
Spejl egenskaberVed bygning af produkter eller funktioner spejler PDE/Build de afhængigheder fra kontekstopbevaringssted, der skal medtages i bygningen. Disse egenskaber styrer, hvilke afhængigheder der medtages i funktionen. Der er flere oplysninger i ant-opgaven p2.mirror.
p2.mirror.rawStandardværdi: false. Angiv til true, hvis du vil genbruge artefaktdeskriptorer fra kildeopbevaringsstederne.
p2.mirror.slicing.filterStandardværdien er intet filter. Angiv yderligere filteregenskaber, som IU'erne skal opfylde for at blive medtaget.
p2.mirror.slicing.followOnlyFilteredRequirementsStandardværdien er false. Angiv til true for at invertere filtrene og kun medtage IU'er, der ikke matcher.
p2.mirror.slicing.followStrictStandardværdien er false. Angiv til true, hvis du kun ved medtage afhængigheder, hvis versioner er angivet nøjagtigt.
p2.mirror.slicing.includeFeaturesStandardværdien er true. Om funktioner skal medtages.
p2.mirror.slicing.includeNonGreedyStandardværdien er false. Om ikke-greedy afhængigheder skal medtages.
p2.mirror.slicing.includeOptionalStandardværdien er true. Om valgfrie afhængigheder skal medtages.
p2.mirror.slicing.latestVersionOnlyStandardværdien er false. Om den seneste version af en afhængighed skal medtages, når kravet er et interval, og der er flere tilgængelige versioner.
p2.mirror.slicing.platformFilterStandardværdien er intet filter. En "os,ws,arch"-triplet, der skal angives som den platform, som IU'ernes LDAP-filtre skal matches op imod. IU'er, der ikke matcher filteret, bliver ikke spejlet.

Produktudgave

Som en del af en produktbygning genererer PDE/Build automatisk standardmetadata til konfigurationen for at angive startniveauer og egenskaben config.ini. Disse metadata kaldes normalt for CU'er (configuration units - konfigurationsenheder). Startniveauer angives især vha. CU-fragmenter på IU'en for det bundt, der startes. Udgaven bruges som en kvalifikator ved generering af CU'ens navn, baseret på IU'en.

Med p2.flavor = tooling" vil 'toolingwin32.win32.x86org.eclipse.core.runtime' blive navnet på den CU, der konfigurerer org.eclipse.core.runtime-bundtet i Windows. Det kan være en god idé at bruge en udgave, som er baseret på din produkt-id, for at undgå konflikter med andre metadata, navnlig hvis produktet har særlige behov for startniveauer.

Se også siden om konfigurering af produkter.

Styringskaldet

PDE/Build inkluderer et runDirector-mål, der kaldes for at udføre installationer under en produktbygning. I øjeblikket er det en gren af styringsprogrammet i en ny proces. I mere avancerede releng-scenarier er det muligt at genbruge denne opgave til at udføre yderligere installationer. Opgaven kræver, at placeringen af Equinox Launcher for byggeprogrammet er defineret. Et kald kunne f.eks. se sådan ud:
	<property name="equinoxLauncherJar" value="/builder/eclipse/plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar"/>
	<ant antfile="${eclipse.pdebuild.scripts}/genericTargets.xml" target="runDirector" inheritAll="true">
		<property name="ws" value="gtk"/>
		<property name="os" value="linux"/>
		<property name="arch" value="x86"/>
		<property name="p2.director.installPath" value="${installFolder}"/>
		<property name="p2.repo" value="${p2.build.repo}"/>
		<property name="p2.director.iu" value="my.rcp.product"/>
		<property name="p2.director.version" value="1.0.0"/>
	</ant>