Hent fra opbevaringssteder
Infrastrukturen i PDE Build stiller fremgangsmåder til rådighed til at hente kildekoden og
forudbyggede plugins fra et opbevaringssted som en del af byggeprocessen (se opgaven
eclipse.fetch og egenskaberne
til at styre hentningen.)
Der er to muligheder: at lade PDE Build hente kilden automatisk eller at hente kildekoden manuelt.
Første automatiseringstrin er mapping-filen
Hvis id'en for en funktion eller plugin, der skal bygges, er angivet, kan byggeinfrastrukturen hente
alle de inkluderede funktioner og plugins fra et opbevaringssted.
PDE benytter mapping-filer til at bestemme, hvor elementerne skal hentes fra. En mapping-fil er en
Java-egenskabsfil, der tilknytter funktions- og plugin-id'er vha. mapping til en placering og en
kode på et opbevaringssted. Mapping-filernes format er åbent og (undtagen key-delen) gjort
fast af PDE Build:
<elementType>@<elementID>[,<elementVersion>] = <repo specific content>
hvor elementType er enten bundle, feature,
plugin eller fragment, mens elementId og elementVersion
angiver oplysninger om elementet.
Mapping-filindgang til CVS
Syntaksen for en mapping-filindgang, der skal hente indhold fra CVS, er følgende:
hvor args er en kommasepareret liste over nøgle/værdi-par, som beskrives nedenfor:
- tag er den CVS-kode, der skal tjekkes ud
- cvsRoot er en CVS-forbindelsesstreng
- path er et valgfrit CVS-modul og stien, hvor den folder, der indeholder elementet, kan
hentes. Som standard bruges elementnavnet som modulnavn.
- prebuilt er et valgfrit boolesk udtryk, der angiver, om det overførte element er
forudbygget. Som standard er dette false.
- cvsPassFile er en mulig sti til en CSV-sendefil.
- password er et valgfrit kodeord, der kan anvendes til oprettelsen af forbindelse til
CSV.
Eksempel:
plugin@com.ibm.icu,3.6.1=CVS,tag=v200704191630,cvsRoot=:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,path=org.eclipse.orbit/com.ibm.icu/bin,prebuilt=true
Mapping-indgange af den gamle type |
I Eclipse 3.2 og tidligere var mapping-filformatet for CVS:
<elementType>@<elementID> = CVS, <TAG>, <CVSROOT>[,<PASSWORD>[,<PATH>[,<CVSPASSFILE>]]]
Hvis der er nogen af de valgfrie argumenter, som ikke er angivet, så kræves der stadig kommaer for at adskille efterfølgende argumenter. Dette format bør betragtes som forældet, og nøgle/værdiformatet foretrækkes.
|
Mapping-filindgang til CSV
Syntaksen for en mapping-filindgang, der skal hente indhold fra en URL, som understøttes af
Ant GET, er følgende:
<key> = GET, <url> [,args]
hvor url er den URL, hvorfra data skal hentes, og args er en valgfri
kommasepareret liste over nøgle/værdi-par, der beskrives nedenfor:
- unpack angiver, hvis indstillet til true, at det overførte element skal pakkes ud.
- verbose angiver, hvis indstillet til true, at der skal vises detaljerede
statusoplysninger under overførslen. Standardværdien er false.
- ignoreerrors angiver, hvis indstillet til true, at fejl skal logges under
transporten. Standardværdien er false.
- usetimestamp angiver, hvis indstillet til true, at der skal foretages en betinget
overførsel af en fil, baseret på tidsstemplet på den lokale kopi (kun for http URL'er). Standardværdien er false.
- username er brugernavnet for "BASIC" http-validering.
- password er det kodeord, der skal udføre overførslen.
Eksempel:
plugin@com.ibm.icu,3.4.5=GET,http://download.eclipse.org/tools/orbit/downloads/drops/S200705301823/bundles/com.ibm.icu_3.4.5.jar, unpack=true
Der er tilføjet en ny udvidelse til PDE/Build, som giver brugere mulighed for at hente artefakter fra p2-opbevaringssteder. Du kan nu tilføje en indgang i din mapping-fil til bygningsinput. Så vil PDE/Build hente artefaktet og inkludere det i bygningen. Mapping-filindgangen skal inkludere id'en og versionen af den installérbare enhed (IU) samt URI'en for det opbevaringssted, hvor IU'en findes. Det antages, at metadataene og opbevaringsstederne for artefakter er placeret samme sted.
Syntaksen for en mapping-filindgang, der skal hente indhold via p2, er følgende:
<elementType>@<elementID> = p2IU, id=<id>, version=<version>, repository=<repository>
- id: den installérbare enheds id
- version: versionen af den installérbare enhed (valgfrit). Hvis intet angives, hentes den højest tilgængelige version.
- repository: placeringen (URI'en) for det opbevaringssted, hvor IU'en findes.
Hent funktioner med p2
I Helios-udgaven kan funktioner hentes med p2 ved at angive den installérbare enhed, der repræsenterer funktions-JAR-filen. På siden funktionsmetadata kan du finde flere oplysninger om strukturen af p2-metadata til funktioner.
Eksempler:
plugin@my.bundle.id,1.0.0=p2IU,id=my.bundle.id,version=1.0.0,repository=http://example.eclipse.org/repo
feature@my.feature.id = p2IU,id=my.feature.id.feature.jar, version=1.0.0,repository=http://example.eclipse.org/repo
Mapping-filindgang til andre opbevaringssteder
PDE Build leverer et udvidelsespunkt,
hvor generatorer af hentningsscript for andre opbevaringssteder kan tilføjes. Hvis
Eclipse-installationen indeholder et bundt, der stiller en scriptgeneratorudvidelse til
rådighed for en anden type opbevaringssted, kan du benytte dette opbevaringssted ved at angive det
i indgangene i mapping-filen:
Konfigurér hentning af CVS-kilde
Hvis du vil konfigurere hentning af kilden fra CVS, skal du benytte denne fremgangsmåde:
- Sørg for, at en cvs.exe-fil findes i systemets søgesti
(du kan hente CVS her).
- Opret en folder med navnet maps i byggebiblioteket.
- Opret en fil med filtypen .map i folderen maps.
- Udfyld mapping-filen med alle de elementer, der skal hentes fra et opbevaringssted.
- Redigér filen build.properties fra konfigurationsfolderen, og udkommentér linjen
skipFetch=true.Hvis denne egenskab er angivet, vil PDE Build springe hele hentningsfasen
over.Hvis den kode, der er angivet i mapping-filerne, skal ignoreres, kan du indstille egenskaben
fetchTag til en bestemt værdi. Dette er nyttigt, når du bygger i baggrunden fra HEAD i stedet for fra de kodede versioner.
Hent mapping-filerne fra CVS
Mapping-filer gemmes normalt på et opbevaringssted. PDE Build indeholder en standardinfrastruktur
til hentning af disse mapping-filer fra et CVS-opbevaringssted.
Hvis du vil aktivere denne
funktion, skal du redigere følgende egenskaber i konfigurationens build.properties-fil fra
konfigurationsbiblioteket:
- skipMaps: Udkommentér denne egenskab.Hvis egenskaben
er angivet, henter PDE Build ikke mapping-filerne.
- mapsRepo =
:pserver:anonymous@example.com/path/to/repo. Det CVS-opbevaringssted, som mapping-filerne skal hentes fra.
- mapsRoot =
/path/to/maps.Stien på CVS-opbevaringsstedet til mapping-filerne.
- mapsCheckoutTag =
HEAD.Den CVS-kode, der benyttes til at tjekke mapping-filerne ud.
Hentning af mapping-filer fra CVS sker under bygningens præbyggefase.Kommandofiler til
hentning af alle funktioner og plugins, der skal inkluderes i den funktion, du bygger, bliver
genereret og udført under bygningens hentningsfase.
Hent automatisk fra andre opbevaringssteder
Hvis du henter mapping-filerne automatisk fra opbevaringsstedet, skal du kopiere filen
customTarget.xml manuelt fra org.eclipse.pde.build/templates/headless-build til
konfigurationsbiblioteket.Målet getMapFiles benyttes til at hente mapping-filerne, så det skal
redigeres til hentning fra dit opbevaringssted.
Hent kildekode manuelt
Du kan skrive tilpassede hentningsmål for at hente plugins og funktioner, som kan startes fra preSetup- eller postSetup-målene i filen customTargets.xml.
Funktioner og plugins skal hentes til henholdsvis
${buildDirectory}/features
og
${buildDirectory}/plugins.