1 / 9

Apache Ant

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

nysa
Download Presentation

Apache Ant

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ApacheAnt 2. gyakorlatAlkalmazásfejlesztés 2013-2014/2 GyakorlatZalatnai Csongor

  2. Mi ez? • Fordítás és csomagolás automatizálása (buildtool) • Hasonló: make parancs • Java nyelven megvalósított, XML alapúXML: Hierarchikus leíró nyelv (elemek: <project>, attribútumok: elemen belül plname="01-ant-eclipse") • Platformfüggetlen • Projektek, targetek, taszkok  következő dián

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

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

  5. 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)

  6. Task • Egy Taskegy végrehajtandó feladatot jelöl • Target elemen belül szerepelnie kell legalább egynek. • Szintaxisa: <TaskNév attr1=„bla” attr2=„blabla”, …> • Példa: <OmNomNomwho=„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

  7. 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: • <propertyname=„catname” value=„Pusheen”/> • <propertyname=„foodname” value=„Cookie”/> • Hivatkozás rá más Taskon belül • <OmNomNomwho=„${catname}” what=„${foodname}”/>

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

  9. 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 Targetetbuildeltünk? Milyen taskok futottak le? Milyen más Targetek vannak még?

More Related