File di descrizione del progetto

Descrizione: quando nello spazio di lavoro viene creato un progetto, viene automaticamente generato un file di descrizione dello stesso.  Questo file ha lo scopo di rendere il progetto auto-descrittivo in modo che, dopo essere stato compresso o rilasciato su un server, possa essere correttamente ricreato in un'altro spazio di lavoro.  Il file è sempre denominato ".project" ed è posizionato come un membro diretto dell'area del contenuto del progetto.  Il nome del file è presentato attraverso il campo statico DESCRIPTION_FILE_NAME in org.eclipse.core.resources.IProjectDescription.

Il nome, il percorso e il contenuto di questo file fanno parte delle API dello spazio di lavoro.  Conseguentemente, non possono essere modificati in modi che interrompano gli utenti esistenti del file.  Tuttavia, ulteriori elementi e attributi potranno essere aggiunti al tag per eventuali future modifiche del file.  Per questo motivo, i client che leggono il contenuto del file di descrizione devono ammettere elementi ed attributi sconosciuti.

I client modificano, eliminano o sostituiscono il file di descrizione del progetto a proprio rischio.  I progetti, il cui file di descrizione non è valido o manca, generalmente non potranno essere utilizzati.  Se all'avvio di uno spazio di lavoro viene scoperto un file di descrizione invalido, il progetto viene chiuso e non potrà essere aperto finché il file di descrizione non verrà ripristinato.  Lo spazio di lavoro generalmente non ripristinerà automaticamente un file di descrizione invalido o mancante.  Un'eccezione è costituita dalla generazione di file di descrizione del progetto mancanti quando viene salvato lo spazio di lavoro o vengono eseguite chiamate a IProject.setDescription.

Modificare il file di descrizione del progetto equivale generalmente a modificare la descrizione del progetto attraverso IProject.setDescription.  Un'eccezione è costituita dal fatto che l'aggiunta o rimozione di nature di progetto non attiverà i metodi di configurazione o deconfigurazione della natura corrispondente.  Un'altra eccezione è costituita dal fatto che le modifiche al nome del progetto vengono ignorate.

Quando un nuovo progetto viene creato in un percorso in cui è presente un file di descrizione progetto, quel file di descrizione fungerà da descrizione del progetto.  Un'eccezione è rappresentata dal fatto che il nome del progetto nel file sarà ignorato se non corrisponderà al nome del progetto in corso di creazione.  Se il file di descrizione sul disco non è valido, non sarà possibile creare il progetto.


 

Tag di configurazione:

   <!ELEMENT projectDescription (name, comment, projects, buildSpec, natures, linkedResources)>

   <!ELEMENT name EMPTY>

   <!ELEMENT comment EMPTY>

   <!ELEMENT projects (project)*>
   <!ELEMENT project EMPTY>    <!ELEMENT buildSpec (buildCommand)*>

   <!ELEMENT buildCommand (name, arguments)>

   <!ELEMENT name EMPTY>

   <!ELEMENT arguments (dictionary?)>

   <!ELEMENT dictionary (key, value)*>

   <!ELEMENT key EMPTY>

   <!ELEMENT value EMPTY>

   <!ELEMENT natures (nature)*>

   <!ELEMENT nature EMPTY>

   <!ELEMENT linkedResources (link)*>

   <!ELEMENT link (name, type, location)>

   <!ELEMENT name EMPTY>

   <!ELEMENT type EMPTY>

   <!ELEMENT location EMPTY>

Esempi: di seguito è riportato un esempio di file di descrizione del progetto.  Nel progetto sono configurati una singola natura e un generatore e sono presenti alcuni riferimenti a progetti.

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>WinterProject</name>
    <comment>This is a cool project.</comment>
    <projects>
        <project>org.seasons.sdt</project>
        <project>CoolStuff</project>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.seasons.sdt.seasonBuilder</name>
            <arguments>
                <dictionary>
                    <key>climate</key>
                    <value>cold</value>
                </dictionary>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.seasons.sdt.seasonNature</nature>
    </natures>
</projectDescription>
 

Informazioni API: il contenuto del file di descrizione del progetto è associato all'interfaccia org.eclipse.core.resources.IProjectDescription. Il file di descrizione del progetto può essere sovrascritto mediante il metodo IProject.setDescription().

Copyright IBM Corporation e altri 2000, 2003.