9
Apache Ant 2. gyakorlat Alkalmazásfejlesztés 2013-2014/2 Gyakorlat Zalatnai Csongor

Apache Ant

  • 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

Page 1: Apache Ant

Apache Ant2. gyakorlat

Alkalmazásfejlesztés 2013-2014/2 GyakorlatZalatnai Csongor

Page 2: Apache Ant

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

Page 3: Apache Ant

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=".">

Page 4: Apache Ant

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>

Page 5: Apache Ant

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)

Page 6: Apache Ant

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

Page 7: Apache Ant

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}”/>

Page 8: Apache Ant

Ö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.

Page 9: Apache Ant

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?