Il nome, la posizione e il contenuto di questo file fanno parte delle API dell'area di lavoro. Conseguentemente, non possono essere modificati in modi che interrompano gli utenti esistenti del file. E possibile, tuttavia, aggiungere ulteriori elementi e attributi al tag che potranno essere eventualmente in futuro aggiunti al file. Per questo motivo, i client che leggono il contenuto del file di descrizione devono tollerare 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 un'area 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. L'area 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 salvata l'area 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 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 una posizione 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)>
<!ELEMENT name EMPTY>
<?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().