Apache Ant
Apache Ant software | |
---|---|
Genere | Automazione dello sviluppo |
Sviluppatore | Apache Software Foundation |
Data prima versione | luglio 2000 e 17 febbraio 2006 |
Ultima versione | 1.10.14 (21 agosto 2023) |
Sistema operativo | Multipiattaforma |
Linguaggio | Materia:Java |
Licenza | Apache License 2.0 (licenza libera) |
Sito web | ant.apache.org/ |
Modifica dati su Wikidata · Manuale |
Apache Ant è un software per l'automazione del processo di build. È simile a make, ma scritto in Java ed è principalmente orientato allo sviluppo in Java. Ant è un progetto Apache, open source, ed è distribuito sotto licenza Apache.
Esempio di file build.xml
Esso si basa su script in formato XML di cui segue un esempio:
<?xml version="1.0"?> <project name="Hello" default="compile"> <target name="clean" description="remove intermediate files"> <delete dir="classes"/> </target> <target name="compile" description="compile the Java source code to class files"> <mkdir dir="classes"/> <javac srcdir="." destdir="classes"/> </target> <target name="jar" depends="compile" description="create a Jar file for the application"> <jar destfile="hello.jar"> <fileset dir="classes" includes="**/*.class"/> <manifest> <attribute name="Main-Class" value="HelloProgram"/> </manifest> </jar> </target> </project>
Ogni build file definisce un project composto da target in cui sono elencati i task, le istruzioni da eseguire. Nel progetto possono essere definite delle properties, coppie nome e valore immodificabili nel resto del progetto. I target possono avere delle dipendenze da altri target.
Portabilità
La principale caratteristica di ant è la portabilità; per esempio comandi strettamente dipendenti dalla piattaforma comerm –rf classes
nell'esempio precedente sono semplicemente eseguiti indipendentemente dalla piattaforma dal comando<delete dir="classes"/>
del target
clean
Una discrepanza comune tra le varie piattaforme è il modo in cui il path delle directory è specificato. UNIX usa un forward slash (/) per delimitare i componenti di un path, a differenza di Microsoft Windows che usa un backslash (\). La sintassi ant lascia libero l'autore del codice di usare una convenzione qualsiasi, back/forward slash per le directory, punto e virgola o due punti (; o:) per i separatori dei path (classpath). Ant converte tutto nella forma più appropriata alla piattaforma corrente.
Uso
Ant viene eseguito da riga di comando e la sintassi del comando è sempre a disposizione eseguendo il comando:ant --help
Tipicamente viene usato nel modo seguente:ant –buildfile <build_file>.xml –D<proprieta1>=<valore1> –D<proprieta2>=<valore2> <target1> <target2>
Note
Altri progetti
Altri progetti
- Wikibooks
- Wikimedia Commons
- Wikibooks contiene testi o manuali su Apache Ant
- Wikimedia Commons contiene immagini o altri file su Apache Ant
Collegamenti esterni
- (EN) Sito ufficiale, su ant.apache.org.
- Apache Ant, su packages.debian.org.
- Repository sorgenti di Apache Ant, su git-wip-us.apache.org.
- Repository sorgenti di Apache Ant, su gitbox.apache.org.
- Sito di segnalazione bug, su bz.apache.org.
- (EN) Apache Ant, su Free Software Directory.
- (EN) Licenza di Apache Ant, su ant.apache.org.
- (EN) Nuove Caratteristiche di Ant ver. 1.6, su oracle.com.
- (EN) Task di Deploy per OC4J, su radio.weblogs.com. URL consultato il 13 luglio 2006 (archiviato dall'url originale il 16 luglio 2006).
V · D · M | ||
---|---|---|
Progetti principali | Accumulo · ActiveMQ · Ambari · Ant · Aries · Apache HTTP Server · APR · Avro · Axis · Axis2 · Beam · Bloodhound · Brooklyn · Buildr · Calcite · Camel · Cassandra · Cayenne · Chemistry · CloudStack · Cocoon · Cordova · CouchDB · cTAKES · CXF · Derby · Directory · Drill · Empire-db · Felix · Flex · Flink · Flume · Geronimo · Gora · Gump · Hadoop · HBase · Hive · Jackrabbit · James · Jini · JMeter · Kafka · Kudu · Kylin · Lucene · Mahout · Maven · MINA · mod_perl · MyFaces · NetBeans · Nutch · OFBiz · Oozie · OpenEJB · OpenJPA · OpenNLP · OpenOffice · PDFBox · Parquet · Phoenix · POI · Pig · Pivot · Qpid · Roller · Samza · ServiceMix · Shiro · Sling · Solr · Spark · Stanbol · Storm · SpamAssassin · Struts 1 · Struts 2 · Subversion · SystemML · Tapestry · Thrift · Tika · Tomcat · Traffic Server · UIMA · Velocity · Wicket · Xalan · Xerces · ZooKeeper | |
Apache Commons | BCEL · BSF · Daemon · Jelly · Logging | |
Apache Incubator | NuttX · SINGA · Trafodion · XAP | |
Altri progetti | Batik · Chainsaw · FOP · Ivy · Log4j | |
Apache Attic | Abdera · Apex · AxKit · Beehive · Bluesky · iBATIS · Cactus · Click · Continuum · Deltacloud · Excalibur · Forrest · Hama · Harmony · HiveMind · Jakarta · Lenya · Marmotta · ODE · Shale · Shindig · Slide · Sqoop · stdcxx · Tuscany · Wave · Wink · XMLBeans | |
Licenze | Licenza Apache | |
Categoria |
Controllo di autorità | VIAF (EN) 181177554 · LCCN (EN) n2002066009 · GND (DE) 4689797-5 · J9U (EN, HE) 987009950831905171 |
---|