Elenco delle proprietà e proprietà
La sezione facoltativa relativa all'elenco delle proprietà consente di definire e assegnare variabili, denominate "proprietà", che possono essere utilizzate successivamente nel file di configurazione. Le proprietà definite nella presente sezione sono denominate proprietà "interne".
<!-- define expandable properties -->
<!-- optional -->
<propertylist>
<property name="projectname" value="myproject"/>
<property name="projectdir" value="c:\myprojects"/>
</propertylist>
È possibile utilizzare variabili, o "riferimenti a proprietà", nel file di configurazione anche se non sono state definite in questa sezione. Le variabili possono ad esempio essere definite nella riga di comando o provenire dall'ambiente.
Il funzionamento delle proprietà è basato sulla sostituzione delle stringhe e prevede l'utilizzo dell'algoritmo illustrato di seguito per trovare un valore associato alla proprietà.
- Viene cercato un valore nell'elenco delle proprietà esterne.
- Se non viene trovato, viene cercata una variabile di ambiente con lo stesso nome della proprietà.
- Se non viene trovata, viene cercata una definizione interna nella sezione relativa all'elenco delle proprietà (propertylist) del file di configurazione.
- Se questa non viene trovata, come valore viene utilizzata una stringa vuota.
Le proprietà esterne vengono passate dalla riga di comando mediante l'opzione –p
. Sono disponibili tre proprietà esterne incorporate:
- "applicationdir", che corrisponde alla directory di installazione di Dotfuscator
- "appdatadir", che corrisponde alla directory dei dati locali di Dotfuscator
- "configdir", che corrisponde alla directory in cui si trova il file di configurazione.
Le proprietà si rivelano utili per creare file di configurazione utilizzabili come modelli per più progetti o per versioni diverse dello stesso progetto oppure per facilitare la portabilità tra ambienti di generazione diversi.
È possibile fare riferimento a una proprietà utilizzando la sintassi riportata di seguito.
${property_name}
Nei riferimenti alle proprietà viene effettuata la distinzione tra maiuscole e minuscole, quindi ${MyProjectDir}
fa riferimento a una proprietà diversa rispetto a ${myprojectdir}
.
I riferimenti alle proprietà non possono essere inseriti in qualsiasi punto del file di configurazione. Al momento, questi riferimenti possono essere utilizzati solo come valori degli attributi "dir" o "name" dell'elemento <file>. Di seguito viene fornito un elenco delle sezioni in cui viene utilizzato l'elemento <file>.
inputassembly |
mapinput |
mapoutput |
output |
tempdir |
assembly |
removalreport |
transform |
key |
loadpaths |
program |
filelist |
Negli altri punti del file di configurazione, il riferimento a una proprietà viene interpretato in modo letterale.
I riferimenti alle proprietà non possono essere nidificati. In caso di nidificazione, verrà generato un errore.
Di seguito viene riportato un esempio dell'utilizzo di un riferimento a una proprietà.
<output>
<file dir="${testdir}\output"/>
</output>
© 2002-2007 PreEmptive Solutions. Tutti i diritti riservati.