Upload
nysa
View
20
Download
0
Embed Size (px)
DESCRIPTION
Apache Ant. 2. gyakorlat Alkalmazásfejlesztés 2013-2014/2 Gyakorlat Zalatnai Csongor. Mi ez?. Fordítás és csomagolás automatizálása ( build tool ) Hasonló: make parancs - PowerPoint PPT Presentation
Citation preview
Apache Ant2. gyakorlat
Alkalmazásfejlesztés 2013-2014/2 GyakorlatZalatnai Csongor
Mi ez?
• Fordítás és csomagolás automatizálása (build tool)• Hasonló: make parancs• Java nyelven megvalósított, XML alapú
XML: Hierarchikus leíró nyelv (elemek: <project>, attribútumok: elemen belül pl name="01-ant-eclipse")• Platformfüggetlen• Projektek, targetek, taszkok következő dián
Build.xml, Projekt
• Ant: build.xml tartalmazza a buildhez szükséges utasításokat• Minden build file tartalmaz egy projectet• A project elemnek van három tulajdonsága• name: a project neve, ezzel hivatkozhatunk rá• default: Az alapértelmezett futó target• basedir: a relatív útvonalak feloldásához használt elérési
út (ez jelenti a relatív útvonalakban a . –ot)
• Példa: <project name="01-ant-eclipse" default="dist" basedir=".">
Targetek
• Target: leírja, hogy egy adott állapot eléréséhez (lefordultak az osztályok, be lett csomagolva a jar, ki lett takarítva, …) milyen feladatokat kell végrehajtanunk (Taskok, következő dián)• Egy project elemen belül egy vagy több target elemnek kell
lennie.• Egyetlen kötelező eleme van, a "name" attribútum, ezzel
tudunk hivatkozni rá a későbbiekben.• Példa: <target name="kiscica">…</target>
Targetek folytatása
• Egy target több targettől tud függni, ezt a depends attribútuma a target elemnek határozza meg a következők szerint: (több függőséget vesszővel kell elválasztani)
• <target name="A"/>• <target name="B" depends="A"/>• <target name="C" depends="B"/>
• <target name="D" depends="C,B,A"/>• Ebben az esetben ha a D targetet akarjuk végrehajtani,
a végrehajtási sorrend sorrend: A --> B --> C --> D• Miért? (Gondoljuk át órán)
Task
• Egy Task egy végrehajtandó feladatot jelöl• Target elemen belül szerepelnie kell legalább egynek.
• Szintaxisa: <TaskNév attr1=„bla” attr2=„blabla”, …>• Példa: <OmNomNom who=„Pusheen” what=„cookies”/>
• Egy targeten belül a Taskok végrehajtása szekvenciális.• Sok beépített Task van, de sajátot is lehet írni.• Néhány beépített Task:
• Mkdir• Javac • Jar• Copy
• A beépített Taskokat és azoknak a dokumentációit
Properties (változók)
• Kulcs-érték (paraméterek) tárolása a project elemen belül• Speciális Task!• Használat: paraméterek definiálása amiket más Taskokon
belül tudunk újra felhasználni.• Példa:• <property name=„catname” value=„Pusheen”/>• <property name=„foodname” value=„Cookie”/>• Hivatkozás rá más Taskon belül• <OmNomNom who=„${catname}” what=„${foodname}”/>
Összefoglalva
• Build rendszer, vezérelhető vele a fordítás / csomagolás / kiadás minden része.• XML Alapú• Egy Project, azon belül több Target, Targeteken belül
Taskok• Target: egy adott állapot eléréshez szükséges
műveletek (Taskok) + függőségek (depends attribútum)• Task: Egy végrehajtandó feladat• Lehet paramétereket is definiálni, Property nevű
speciális Taskkal.
Nézzük meg együtt a kiadott példát• /pub/Alkalmazasfejlesztes/… felmásolása a C:\alkfejl\01
mappába• env.bat-ban JAVA_HOME átírása• Parancssor nyitása (Windows + R gomb, cmd beír)• cd C:\alkfejl\01 (enter)• env.bat (enter)• cd feladat\01-ant-eclipse (enter)• ant (enter)• Mi történt? Mi indult el? Mit csinált? Milyen file-t dolgozott
fel? Milyen Targetet buildeltünk? Milyen taskok futottak le? Milyen más Targetek vannak még?