Ant - prezentacja narzedzia

Transkrypt

Ant - prezentacja narzedzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Ant - prezentacja narzędzia
Dawid Dorosz Michał Ostrowiecki
Andrzej Perużyński
Technologie Biznesu Elektronicznego
21 marca 2006
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Plan prezentacji
1
2
3
4
Wprowadzenie
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Instalacja Ant i przykłady część I
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Przykłady część II
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Bibliografia
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Czym jest Ant?
1
Narzędzie, służące do zautomatyzowania procesu budowy
oprogramowania.
2
Napisany w Javie do wykorzystania z programami napisanymi
w tym języku.
3
Co najważniejsze, jest to open-source na licencji Apache
Software Fundation.
4
W swej funkcjonalności niczym szwajcarski scyzoryk.
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Historia Ant’a
Wymyślony przez Jamesa Duncana Davidsona w Apache Software
Fundation w 1998 r.
1
Najnowsza wersja Ant 1.6.5 z 2 czerwca 2005
http://ant.apache.org/
2
Używana w projekcie TBE: Ant 1.6.5
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Co różni Ant‘a od Make?
1
W pliku Makefile czynności określone jako komendy powłoki –
zależne od platformy
2
Ant rozwiązuje ten problem
3
Użycie i XML‘a i pliku build.xml
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Schemat pliku build.xml
<project name="project_name" basedir="." default="default">
<property name="src" value="./src" />
<target name="default">
<task1 param1="value" />
<task2>
<type param="value" />
</task2>
</target>
</project>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Czym jest <target> ?
Czym jest <task> ?
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wprowadzenie do Ant
Ant vs Make
Budowa pliku build.xml
Przykład problemu przenośności Make
1
rm -rf classes/ - zapisane w pliku Makefile – jako komenda
Unixowa
2
<delete dir=”classes”/> - zapisanie w pliku build.xml
3
pliki build konwertują ścieżkę z Uniksowej do formatu
określonej platformy
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Ant
wymagania - JDK 1.2 lub nowsza
download - http://ant.apache.org/
najnowsza wersja - Ant 1.6.5
używana wersja - Ant 1.6.5
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Ant – przykładowa instalacja
1
rozpakować apache-ant-1.6.5-bin.zip do c:\Ant
2
set ANT HOME=c:\ant
3
set JAVA HOME=C:\Sun\AppServer\jdk
4
set PATH=%PATH%;%ANT HOME%\bin
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Ant – uruchomienie
z linii poleceń
1
2
wejście do katalogu, w którym jest plik build.xml i wpisanie
komendy ant
wykonanie polecenia: ant -buildfile ”ścieżka do pliku build.xml”
z Eclipse
1
kliknięcie prawym przyciskiem myszy na plik build.xml
i wybranie Run as → Ant Build
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Tworzenie katalogów i kopiowanie plików
Najważniejsze elementy pliku build.xml
<deltree dir="${build}"/>
<mkdir dir="${build}/${src}" />
<copy todir="${build}/${src}">
<fileset dir="${src}">
<include name="*.xml"/>
<exclude name="index.xml"/>
</fileset>
</copy>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Kompilacja oraz uruchomienie programu
Najważniejsze elementy pliku build.xml
<javac srcdir="${src}" destdir="${build}"
includes="Start.java"/>
<jar destfile="uruchom.jar" basedir="${build}"/>
<java classname="src.Start" classpath="uruchom.jar" />
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Uruchamianie programu z argumentami pobranymi z pliku
build.xml (1)
Java umożliwia pobieranie argumentów z pliku build.xml
W tym celu należy:
import org.apache.tools.ant.Task;
extends Task
posiadać metodę np. public void setMessage(String msg)
posiadać metodę public void execute()
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Uruchamianie programu z argumentami pobranymi z pliku
build.xml (2)
Aby uruchomić napisany przez nas program należy:
zdefiniować własny task
<taskdef name="start" classname="src.Start"
classpath="uruchom.jar"/>
wywołać wcześniej utwożony task z atrybutem, który chcemy
przesłać
<start message="Wiadomosc przeslana jako argument"/>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Wykonywanie komendy systemowej
Ant umożliwia wykonywanie komend systemowych.
Można to wykorzystać np. do odtwarzania plików mp3.
Oto przykład:
<exec executable="${src}wmplayer.exe" spawn="true">
<arg value="${muzyka}\Disco polo - Majteczki W Kropeczki.mp3"/>
</exec>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Co jest potrzebne?
junit.jar ze strony http://www.junit.org
dodanie powyższego pliku do:
katalogu c:\ant\lib
lub
w Eclipse Window → Preferences → Ant → Runtime →
Classpath → Add JARs
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Co wykorzystujemy? (1)
Używamy następujących tasków:
<junit>, dla którego będziemy wykorzystywać poniższe
atrybuty i znaczniki:
1
2
3
4
5
6
fork=”true” powoduje uruchomienie testu na osobnej VM
haltonerror=”no” powoduje nie kończenie testowania w razie
wystąpienia błędu
<classpath> informuje gdzie znajduje się szukana klasa
testowana
<formatter> ustawia jak wyniki testu mają zostać zapisane
np. w postaci XML
<test> definiuje pojedynczy test
<batchtest> definiuje zestaw testów
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Co wykorzystujemy? (2)
<junitreport> generuje raport na podstawie plików XML
wcześniej utworzonych przez JUnit.
Wykorzystujemy przy tym poniższe atrybuty i znaczniki:
1
2
3
todir=”katalog wynikowy” określa gdzie raport ma się znaleźć
<fileset> określa gdzie znajdują się pliki XML utworzone przez
JUnit
<report> odpowiada za wygenerowanie raportu, posiada on
atrybuty:
1
2
format=”frames” jest to format w jakim zostanie
wygenerowany raport, może być ”frames” lub ”noframes”
todir=”katalog raporty” określa katalog, w którym ma być
umieszczony raport
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Przykład wykorzystujący pojedynczo uruchamiane testy
<junit fork="yes" haltonfailure="no">
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<test fork="yes" name="MatematykaTest" todir="${build}/${junit.out.dir.xml}"/>
<test fork="yes" name="NapisyTest" todir="${build}/${junit.out.dir.xml}"/>
<junit>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Przykład wykorzystujący zbiorowo uruchamiane testy
<junit fork="yes" haltonfailure="no">
<classpath refid="classpath.test"/>
<formatter type="xml"/>
<batchtest fork="yes" todir="${build}/${junit.out.dir.xml}">
<fileset dir="src" includes="**/*Test.java"/>
</batchtest>
</junit>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Instalacja Ant
Przykłady podstawowe
Humor
Ant i testy JUnit
Generowanie raportu
<junitreport todir="${build}/${junit.out.dir.html}">
<fileset dir="${build}/${junit.out.dir.xml}">
<include name="*.xml"/>
</fileset>
<report format="frames" todir="${build}/${junit.out.dir.html}"/>
</junitreport>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Struktury kontrolne if..then..else (1)
Taką strukturę chcemy uzyskać w pliku build.xml
if( condition ) {
if( inner-condition ) {
A
} else {
B
}
} else {
C
}
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Struktury kontrolne if..then..else (2)
Najważniejsze elementy pliku build.xml
<target name="nested-if">
<condition property="condition">
<available file="fileone"/>
</condition>
<antcall target="then"/>
<antcall target="else"/>
</target>
<target name="then" if="condition">
<target name="else" unless="condition">
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Co trzeba zrobić? (1)
1
ściągnąć Subversion 1.3.0 ze strony
http://subversion.tigris.org/
2
rozpakować katalog do dowolnego miejsca na dysku np. c:\svn
3
dodać do zmiennej środowiskowej PATH ścieżkę do katalogu,
w którym jest plik svn.exe (C:\svn\bin)
4
ściagnąć svnant ze strony
http://subclipse.tigris.org/files/documents/906/23927/svnant1.0.0-rc1.zip
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Co trzeba zrobić? (2)
5
do katalogu lib naszego projektu skopiować zawartość
katalogu lib z svnant czyli:
commons-lang-2.0.jar
jakarta-regexp-1.3.jar
svnClientAdapter.jar
svnant.jar
svnjavahl.jar
6
użyć odpowiednich znaczników w pliku build.xml
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Najważniejsze znaczniki
<svn> umożliwia wywoływanie zadań związanych
z korzystaniem z repozytorium.
Atrybuty:
username
password
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Komendy svn jako zagnieżdżone elementy (1)
<checkout> umożliwia ściągnięcie kopii z repozytorium.
Atrybuty:
url np.:
”http://judy.ci.pwr.wroc.pl/project2006/p47/exercises”
destPath - katalog, do którego kopiujemy zawartość
<mkdir> umożliwia stworzenie katalogu na repozytorium.
Atrybuty:
url np.: ”http://judy.ci.pwr.wroc.pl/project2006/p47/test”
message - wiadomość
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Komendy svn jako zagnieżdżone elementy (2)
<cat> umożliwia skopiowanie zawartości pliku
z repozytorium.
Atrybuty:
url np.:
”http://judy.ci.pwr.wroc.pl/project2006/p47/exercises/file.txt”
destFile - plik, do którego kopiujemy zawartość
<delete> umożliwia skasowanie katalogu na repozytorium.
Atrybuty:
url np.: ”http://judy.ci.pwr.wroc.pl/project2006/p47/test”
message - wiadomość
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Komendy svn jako zagnieżdżone elementy (3)
<add> umożliwia dodanie pliku lub katalogu do repozytorium.
Pliki na repozytorium zobaczymy po wywołaniu commit
Atrybuty:
file
dir
<commit> umożliwia przesłanie zmian kopii roboczej na
repozytorium
Atrybuty:
file
dir
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Ściągnięcie najnowszego kodu z repozytorium WordPress
Plik build.xml:
<project name="WordPress" default="update" basedir=".">
<path id="project.classpath">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</path>
<taskdef resource="svntask.properties" classpathref="project.classpath"/>
<target name="update" description="Update from Repository" >
<svn>
<checkout url="http://svn.automattic.com/wordpress/trunk/"
destPath="src" />
</svn>
</target>
</project>
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Wywołania warunkowe w Ant
Korzystanie z repozytorium za pomocą Ant
Korzystanie z Jetty przy pomocy Anta
Uruchomienie i zakończenie Jetty
1
Uruchomienie Jetty:
<java jar=”${lib.dir}start.jar” classpathref=”libs.classpath”
fork=”true” dir=”${build.dir}”>
Atrybuty:
${lib.dir}start.jar - ścieżka do pliku start.jar
classpathref - informuje, gdzie znajdują się klasy potrzebne do
uruchomienia
fork=”true” - wykonanie klasy jest w osobnej VM
dir=”${build.dir}” - katalog, w którym zostanie wywołana VM
2
Zakończenie Jetty:
<java jar=”${lib.dir}stop.jar” fork=”true”
failonerror=”false”/>
Atrybuty:
${lib.dir}stop.jar - ścieżka do pliku stop.jar
failonerror=”false” - w przypadku błędu kontynuuje
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia
Wprowadzenie
Instalacja Ant i przykłady część I
Przykłady część II
Bibliografia
Jesse Tilly, Eric Burke
Ant: The Definitive Guide
O’Reilly
http://ant.apache.org/manual/index.html
Apache Ant 1.6.5 Manual
The Apache Software Foundation
http://wiki.apache.org/ant/AntTutorialWritingTasks
AntTutorialWritingTasks
The Apache Software Foundation
http://subclipse.tigris.org/svn/subclipse/branches/svnant/
Svn Task
CollabNet
Dawid Dorosz, Michał Ostrowiecki, Andrzej Perużyński
Ant - prezentacja narzędzia

Podobne dokumenty