So come eseguire una singola destinazione in ANT, ma controlla anche l'attributo "dipende" e le esegue prima della destinazione. C'è un modo per prevenire questo o un modo per strutturare il mio file ANT in modo che possa farlo più facilmente?ANT - Esegui una singola destinazione ma senza dipendenze
risposta
Creare una versione "senza file" della destinazione. Se tu avessi
<target name="A" depends="B">
...
</target>
Scelgo
<target name="A" depends="B,AwithoutDeps"/>
<target name="AwithoutDeps">
...
</target>
Ora è possibile chiamare un normale (che sparare B quindi AwithoutDeps) o semplicemente chiamare AwithoutDeps esplicitamente e senza dipendenze sparato. [Si noti che "dipende" chiama le dipendenze in ordine]
Naturalmente, scegliere alcuni nomi migliori di questi;)
Penso che la tua unica scelta semplice qui sarebbe quella di creare una copia dell'obiettivo in questione e far sì che non abbia dipendenze.
Sto semplicemente rimuovendo gli attributi dipendenti ora (che è quasi la stessa cosa), ma mi chiedo per una soluzione forse più pulita. – GreenieMeanie
Sarebbe bello avere questa un'opzione per la riga di comando ant. – user959690
vorrei fare qualcosa di simile:
<target name="doSomethingNoDeps">
...
</target>
<target name="doSomething" depends="doSomeOther">
<antcall target="doSomethingNoDeps"/>
</target>
Una possibilità è quella di utilizzare l'attributo if
o unless
sui target di dipendenza. Per esempio:
<target name="dependency1" unless="dependency1.disabled">
<echo>Hello from dependency 1!</echo>
</target>
<target name="dependency2" unless="dependency2.disabled">
<echo>Hello from dependency 2!</echo>
</target>
<target name="main-target" depends="dependency1, dependency2">
<echo>Hello from the main target!</echo>
</target>
Ora è possibile eseguire Ant con -Ddependency1.disabled=true
e/o -Ddependency2.disabled=true
di lasciare fuori le dipendenze che non si desidera, ma il default sarà ancora di includerli.
E naturalmente, si potrebbe semplicemente avere una proprietà "globale" dependencies.disabled
se è più semplice per voi.
Se si vuole fare il contrario di questo comportamento (in cui le dipendenze sono esclusi per impostazione predefinita), basta usare la if
invece di unless
(e hanno nomi di proprietà come "dependency1.enabled" invece di "disabile") .
Ho fatto macro con un pezzo di codice, quello che voglio. Quindi ha fatto 2 bersagli, 1 chiama macro con "arg1", 2 ° con "arg2". È anche possibile creare macro senza parametri di inserimento.
un la risposta dovrebbe mostrare come risolvere il problema. mostra cosa hai fatto –
- 1. Esegui un comando in SCons senza dipendenze
- 2. Esegui attività ant in jvm
- 3. Esegui task Ant con Maven
- 4. Esegui una singola esecuzione del plugin Maven?
- 5. Gulp: Esegui attività senza una meta
- 6. Task Ant per eseguire una destinazione Ant solo se esiste un file?
- 7. Descrizione dell'eco di destinazione in Ant
- 8. Esegui script ant deploy su eclipse save
- 9. Esegui attività exec ant da cartella diversa
- 10. Ant/Eclipse si lamenta di artefatti: dipendenze
- 11. Esegui vim senza caricare .vimrc ma carica i plugin
- 12. Esegui una singola istanza di un'applicazione utilizzando Mutex
- 13. Esegui una singola specifica con grunt-contrib-jasmine
- 14. Esegui con Ant funziona con percorso assoluto ma non percorso relativo
- 15. Esegui tutti i test unitari con Ant builder
- 16. Esegui un'attività predefinita in ANT in caso di errore
- 17. Come inviare un messaggio senza una destinazione specifica in MPI?
- 18. Utilizzando ant, rinomina una directory senza conoscere il percorso completo?
- 19. Arresta lo script ant senza creazione fallita
- 20. Elimina tutti i file in una directory senza sottodirectory con Apache Ant
- 21. Genera assemblaggio per una destinazione
- 22. Esegui attività in base alle dipendenze in Go
- 23. Unjar a una destinazione specifica
- 24. CMAKE Come ottenere la destinazione del file di destinazione
- 25. Esegui un'applicazione React Native senza avviare Xcode?
- 26. Esegui una destinazione MSBuild solo se il progetto è effettivamente realizzato
- 27. Esegui senza eseguire il debug in eclissi
- 28. Ant Ant Android
- 29. Stampa elenco senza parentesi in una riga singola
- 30. Crea ed esegui sequenze senza storyboard
Molto simile alla mia soluzione: penso che la differenza sia solo una questione di stile. Questo sfrutta la funzionalità di dipendenza di formica, la mia soluzione sfrutta la funzionalità di "incapsulazione". – Jared
Grazie! Questo sembra più pulito di copiare e incollare. – GreenieMeanie
@ Jared - Ho pensato anche ad antcall, ma è più costoso AFAIK, in quanto imposta una copia delle proprietà e così via. Non che si tratti di un enorme affare ... –