Aggiunta di file alla root di una creazione

I file root sono file che devono essere inclusi nel package di un'installazione Eclipse ma non sono funzioni o plug-in. Esempi comuni sono i file eseguibili ed ini di eclipse, come anche i file di licenza.
I file root vengono aggiunti ad una creazione tramite funzioni che contengono le propriet� root appropriate.

Propriet� dei file root

root
Specifica un elenco separato da virgole di file o cartelle che devono essere inclusi in tutte le configurazioni in fase di creazione.
I percorsi relativi sono relativi alla funzione contenuta. Utilizzare "file:" per specificare un file e "absolute:" per utilizzare un percorso assoluto.
Esempi:
  • root=rootfiles: un percorso relativo di una cartella, � incluso il contenuto della cartella
  • root=file:license.html,licenses: un percorso relativo di un file "license.html" ed un percorso relativo di una cartella "licenses"
  • root=absolute:/eclipse/rootfiles: un percorso assoluto di una cartella, il contenuto della cartella � incluso
  • root=absolute:file:/eclipse/about.html,file:lib/*.so*: un percorso assoluto per includere "about.html", oltre ad un percorso relativo per includere tutti i file *.so* nella cartella lib.

Ogni voce separata da virgola diventa un fileset ant. Se la voce fa riferimento ad una cartella, la cartella � il parametro "dir" del fileset e viene utilizzato un "**" come parametro "includes". Se la voce � un file, la directory che contiene il file diviene il parametro "dir" ed il file viene specificato nel parametro "includes".

Per tutti i file relativi, verr� utilizzata la propriet� ${baseDir} nella directory. La propriet� ${baseDir} sar� la directory root della funzione in cui verr� collocato il file build.xml creato.

root.<config>
Specifica un elenco di file o cartelle che devono essere inclusi per la configurazione specificata. Le configurazioni specificate qui devono corrispondere alle configurazioni nella propriet� configs per la creazione. I percorsi relativi sono relativi alla funzione contenuta. Anche qui vengono applicati gli stessi prefissi "file:" e "absolute:" utilizzati nella propriet� "root".
Esempi:
  • root.win32.win32.x86=rootfiles: un percorso relativo di una cartella, � incluso il contenuto della cartella nella configurazione win32.win32.x86
  • root.linux.gtk.x86=absolute:file:about.html: un percorso assoluto di un file da includere nella configurazione linux.gtk.x86.
root.folder.<subfolder>

root.<config>.folder.<subfolder>
Simili alle propriet� "root" e "root.<config>", tranne che invece di essere copiati nella root dell'installazione eclipse i file e le cartelle vengono copiati nella sottocartella specificata.
I percorsi relativi sono relativi alla funzione contenuta. Anche qui vengono applicati gli stessi prefissi "file:" e "absolute:" utilizzati nella propriet� "root".
Esempi:
  • root.folder.docs/html=html_files: il contenuto della cartella "html_files" della funzione viene copiato nella cartella docs/html dell'installazione eclipse.
  • root.linux.gtk.x86.folder.jre=absolute:/build/jres/linux: un percorso assoluto, il contenuto della cartella /build/jres/linux viene copiato nella cartella jre dell'installazione eclipse.
Queste propriet� vengono utilizzate da PDE/UI quando viene specificato un JRE in un file .product per l'esportazione. PDE/Build attualmente non supporta l'inclusione di un JRE mediante il file .product e queste propriet� dovrebbero essere specificate in una funzione per includere un JRE in una creazione indipendente di prodotto.
root.permissions.<rights>

root.<config>.permissions.<rights>
Specifica un elenco di file su cui eseguire l'attivit� ant chmod. Il valore di questa propriet� verr� trasmesso all'attivit� ant chmod come parametro "includes". Questo significa che i modelli di caratteri jolly ant possono essere utilizzati.
Esempi:
  • root.permissions.755=eclipse: imposta il file 'eclipse' a disporre di autorizzazioni di tipo eseguibile.
  • root.linux.gtk.x86.permissions.755=lib/**: imposta tutti i file della directory come eseguibili

La parte <rights> della propriet� viene in realt� trasmessa all'attivit� ant chmod come parametro "perm". Se il formato finale di archivio per la configurazione � antTar, il formato <rights> viene trasmesso anche ad un'attivit� ant tarfileset come parametro "filemode". Vale lo stesso per antZip e zipfileset. Mentre l'attivit� ant chmod supporta autorizzazioni come "og-rwx" (rendendo impossibile ai non proprietari toccare il file), i fileset tar e zip supportano solo stringhe ottali a 3 cifre.
root.link

root.<config>.link
Elenca a coppie (separate da virgola) i file e le cartelle che devono essere collegati simbolicamente. La prima voce della coppia � la destinazione e la seconda � il nome del collegamento.
Esempio:
  • root.macosx.carbon.ppc.link=Eclipse.app/Contents/MacOS/eclipse,eclipse: nella configurazione macosx.carbon.ppc crea un softlink nella root denominato "eclipse" che punta al file "Eclipse.app/Contents/MacOS/eclipse".

Questo comporta un'attivit� ant exec che esegue un comando "ln -sf". Con un valore "targetA, nameA, targetB, nameB, targetC, nameC", un insieme di comandi "ln" verr� eseguito nella cartella in cui sono raccolti i file root eclipse:
		ln -sf targetA nameA
ln -sf targetB nameB
ln -sf targetC nameC

Inclusione di file root in una creazione di prodotto

Quando si utilizza un file .product basato sulle funzioni, i file root possono essere aggiunti al prodotto semplicemente specificando le propriet� file root, descritte prima, in qualsiasi funzione inclusa.

� possibile includere una funzione unicamente allo scopo di aggiungere file root. Se la funzione "rootfile" non specifica una propriet� "bin.includes" nel relativo file build.properties, non verr� inclusa nei risultati finali della creazione ma lo saranno i file root aggiunti.

Quando un file .product � basato sui plug-in invece che sulle funzioni, i file root possono comunque essere aggiunti alla creazione. In una creazione di prodotto, PDE/Build genera automaticamente una funzione contenitore che include tutti i plug-in specificati nel file .product astratto (consultare l'attivit� eclipse.generateFeature). Esistono due modi per aggiungere file root alla creazione di questo prodotto: