160 likes | 292 Views
Správa projektů programem Ant. Miroslav Beneš. Obsah. V čem spočívá správa projektů Varianty: dávkové zpracování, make, Ant Struktura řídicího souboru Spuštění programu Základní úlohy Co ještě Ant umí. V čem spočívá správa projektů. Inicializace prostředí
E N D
Správa projektů programem Ant Miroslav Beneš
Obsah • V čem spočívá správa projektů • Varianty: dávkové zpracování, make, Ant • Struktura řídicího souboru • Spuštění programu • Základní úlohy • Co ještě Ant umí Správa projektů programem Ant
V čem spočívá správa projektů • Inicializace prostředí • Překlad a sestavení zdrojových souborů • Vytvoření instalačních souborů • Instalace • Testování • Úklid • Archivace Správa projektů programem Ant
Hlavní cíle správy projektů • udržení konzistence při vývoji projektu • optimalizace překladu • překlad pouze změněných a změnami dotčených souborů • nutný analyzátor závislostí • zajištění nezávislosti na prostředí • různé programy pro tytéž činnosti (rm / del) • rozdílné umístění souborů Správa projektů programem Ant
Dávkové zpracování • preloz.sh • yacc –o synt.cpp –d synt.y • lex –o lex.cpp lex.l • gcc –o prekl synt.cpp lex.cpp main.cpp • opakovaný překlad nezměněných souborů • obtížná údržba při rozšiřování projektu Správa projektů programem Ant
Program make • sestavení cílových objektů na základě předpokladů • implicitní pravidla OBJS = lex.o synt.o main.o prekl: $(OBJS) gcc –oprekl $(OBJS) Správa projektů programem Ant
Program Ant • Implementován v prostředí Java • Možnost rozšiřování • implementace akcí v jazyce Java • definované rozhraní • Činnost se řídí souborem v XML • build.xml • Integrován do vývojových prostředí • IBM Eclipse, Sun ONE Studio, … Správa projektů programem Ant
Struktura řídicího souboru project 1 1 n name default basedir description n property target name value location name depends if unless description 1 n task Správa projektů programem Ant
Struktura řídicího souboru <?xml version="1.0"?> <project name="Test" default="all" basedir="."> <property name="src" location="src"/> <property name="build" location="classes"/> <target name="all" depends="init,compile,run"/> <target name="init"> <mkdir dir=“${build}”/> </target> <!-- … --> </project> Správa projektů programem Ant
Spuštění programu • ant • řídicí soubor build.xml • provedení implicitního cíle • ant compile • provedení zadaného cíle • ant –buildfile test.xml • použití zadaného řídicího souboru • ant –Dbuild.compiler=jikes • nastavení hodnoty vlastnosti • ant –logfile build.log • uložení logu do souboru Správa projektů programem Ant
Základní úlohy • Práce se soubory • <mkdir dir="${dist}/lib"/> • <delete dir="lib"/> • <delete> <fileset dir="." includes="**/*.bak"/> </delete> • <copy file="myfile.txt" tofile="mycopy.txt"/> • <move file="file.orig" todir="${dist}/lib"/> Správa projektů programem Ant
Základní úlohy • Překlad • <javac srcdir="${src}" destdir="${build}" classpath="xyz.jar" debug="on" /> • <javac srcdir="${src}" destdir="${build}"> <classpath> <pathelement path="${classpath}"/><pathelement location="lib/helper.jar"/> </classpath> </javac> Správa projektů programem Ant
Základní úlohy • Spuštění programu • <java classname="test.Main" > <arg value="-h"/> <classpath> <pathelement location="dist/test.jar"/> <pathelement path="${java.class.path}"/> </classpath> </java> Správa projektů programem Ant
Základní úlohy • Archivace • <jar destfile="${dist}/lib/app.jar„ basedir="${build}/classes„ excludes="**/Test.class" /> • <zip destfile="${dist}/manual.zip„ basedir="htdocs/manual" /> • <tar tarfile="${dist}/manual.tar„ basedir="htdocs/manual"/> <gzip zipfile="${dist}/manual.tar.gz„ src="${dist}/manual.tar"/> Správa projektů programem Ant
Co ještě Ant umí? • .NET • překlad csc, ilasm • JavaCC, JJTree • generování překladačů • Native2Ascii • konverze znakových sad • Script • vkládání kódu v jazyce javascript, ... Správa projektů programem Ant
Kde Ant získat? • http://ant.apache.org/ • dokumentace • instalační soubory Správa projektů programem Ant