<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AlbDevNet &#187; ant</title>
	<atom:link href="http://www.albdevnet.com/tag/ant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.albdevnet.com</link>
	<description>Albanian Developer Networ &#124; Rrjeti i programatoreve shqiptare</description>
	<lastBuildDate>Thu, 29 Apr 2010 09:28:37 +0000</lastBuildDate>
	<language>sq</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Ant &#8211; te komunkojme me nje file java</title>
		<link>http://www.albdevnet.com/2008/07/07/ant-te-komunkojme-me-nje-file-java/</link>
		<comments>http://www.albdevnet.com/2008/07/07/ant-te-komunkojme-me-nje-file-java/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 14:27:41 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=104</guid>
		<description><![CDATA[E zeme se ne proceduren tone duam te perdorim versionin e nje pjese te kodit, aponte projektit per emrat e faileve, librarive, apo te krijojme direktori ne baze te versionit etj, atehere le te therrasim ne eksekutim nje klase java nga ant, dhe aoutputin ta ruajme ne nje ndryshore. Krijojme nje classpath ku ndodhet projekti [...]]]></description>
			<content:encoded><![CDATA[<p>E zeme se ne proceduren tone duam te perdorim versionin e nje pjese te kodit, aponte projektit per emrat e faileve, librarive, apo te krijojme direktori ne baze te versionit etj, atehere le te therrasim ne eksekutim nje klase java nga ant, dhe aoutputin ta ruajme ne nje ndryshore.<br />
<span id="more-104"></span><br />
Krijojme nje classpath ku ndodhet projekti yne, e me pas therrasim nje klase qe ka njemetode main:</p>
<pre lang='xml'>
<!--dipendencat e mia java-->
<path id="test.classpath">
<pathelement location="${projekti}/testAnt/build/classes" />
<pathelement location="${librariaNevojshme}" />
</path>
<!--therras metoden mailn e klases Versioni-->
<java classname="com.albdevnet.testAnt.Versioni" outputproperty="versioni">
  <classpath refid="test.classpath" />
</java>
</pre>
<p>tani do kemi nje dnryshore &#8220;versioni&#8221; me vlere ate qe ben return metoda main e klases Versioni qe duhet te jete e ngjashme me:</p>
<pre lang='java'>
package com.albdevnet.testAnt;
public class Versioni {

	public static final String getVersion () {
		return "1 rc 1;
	}

	public static void main (String[] args) {
        System.out.print(getVersion());
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/07/ant-te-komunkojme-me-nje-file-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; te bejme deploy te nje projekti war , ne nje server me ant.</title>
		<link>http://www.albdevnet.com/2008/07/06/ant-te-bejme-deploy-te-nje-projekti-war-ne-nje-server-me-ant/</link>
		<comments>http://www.albdevnet.com/2008/07/06/ant-te-bejme-deploy-te-nje-projekti-war-ne-nje-server-me-ant/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 09:15:57 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=103</guid>
		<description><![CDATA[Pasi te kemi krijuar aplikacionin tone web, bazuar mbi java e liberari te ndryshme, pasi e kemi paketuar ne nje file war me ndihmen e tutorialeve te meparshme, e pasi e kemi testuar mbi nje webserver lokal, dhe jemi te sigurte qe gjithka eshte ok, atehere na mungon pjesa e instalimit automatik nga ant ne [...]]]></description>
			<content:encoded><![CDATA[<p>Pasi te kemi krijuar aplikacionin tone web, bazuar mbi java e liberari te ndryshme, pasi e kemi paketuar ne nje file war me ndihmen e tutorialeve te meparshme, e pasi e kemi testuar mbi nje webserver lokal, dhe jemi te sigurte qe gjithka eshte ok, atehere na mungon pjesa e instalimit automatik nga ant ne nje apo me shume servera.<span id="more-103"></span></p>
<p>Po te ishim ne te njetin server ku tomcat eshte i instaluar atehere mudn te perdornim task-et qe tomcat na ofron me:</p>
<pre lang='xml'>
  <taskdef name="install" classname="org.apache.catalina.ant.InstallTask"/>
  <taskdef name="list"    classname="org.apache.catalina.ant.ListTask"/>
  <taskdef name="reload"  classname="org.apache.catalina.ant.ReloadTask"/>
  <taskdef name="remove"  classname="org.apache.catalina.ant.RemoveTask"/>

  <!--mos harroni te deklaroni me pare dnryshoret manager.url,manager.username, manager.password, app.path e  build.home -->

  <install url="${manager.url}"
        		 username="${manager.username}"
        		 password="${manager.password}"
            	 path="${app.path}"
             	 war="file://${build.home}"/>
</pre>
<p>por nese tomcat eshte ne nje tjeter server, atehere jemi te detyruar te perdorim nje menyre tjeter, me kerkse http direkt nga manger i tocat:<br />
le te eliminojme nje projekt:</p>
<pre lang='xml'>
<get src="${manager.url}/remove?path=/${programi.emri}" dest="${tempDir}/undeploy.log" username="${manager.username}" password="${manager.password}"/>
</pre>
<p>ne kete rast kemi bere direkt nje thirrje serverletit te tomcat  (nese manager ehste i instaluar ne tomcat-in tuaj)</p>
<p>Per te instalur nje war, ne menyre analoge:</p>
<pre lang='xml'>
<get src="${server.preprod}/html/deploy?deployPath=/${programi.emri}&amp;deployConfig=&amp;deployWar=/root/dokumenta/${programi.emri}.war" dest="${tempDir}/deploy.html"   username="${manager.username}" password="${manager.password}"/>
</pre>
<p>ne dy rastet do te kemi faile me rezultatin (deshtim, ose konfermim, qe gjithcka te kete shuar ok).</p>
<p>nje procedure te tille mund ta perdorni disa here rresht, duke bere instalimi ne servera te dnryshem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/06/ant-te-bejme-deploy-te-nje-projekti-war-ne-nje-server-me-ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ant-contrib , task-e per ant qe mungonin</title>
		<link>http://www.albdevnet.com/2008/07/05/ant-contrib-task-e-per-ant-qe-mungonin/</link>
		<comments>http://www.albdevnet.com/2008/07/05/ant-contrib-task-e-per-ant-qe-mungonin/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 08:00:55 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[contrib]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=101</guid>
		<description><![CDATA[Per te bere me te vertete gjithcka me ant, duhet me siguri te instalojme ant-contrib, qe na lejon te veme kodicione is if, for, foreach, switch etj (per listen e plote shikoni dokumentacionin). Pasi te shkarikojme librarine dhe ta shtojme ne burimet e ant (me anet te konfigurimit si ne faqen zyrtare apo ne ate [...]]]></description>
			<content:encoded><![CDATA[<p>Per te bere me te vertete gjithcka me ant, duhet me siguri te instalojme <a href="http://ant-contrib.sourceforge.net" target="_blank">ant-contrib</a>, qe na lejon te veme kodicione is if, for, foreach, switch etj (per listen e plote shikoni <a href="http://ant-contrib.sourceforge.net/tasks/tasks/index.html" target="_blank">dokumentacionin</a>).<span id="more-101"></span><br />
Pasi te shkarikojme librarine dhe ta shtojme ne burimet e ant (me anet te konfigurimit si ne faqen zyrtare apo ne ate te eclipse, analoge me ate qe beme ne artikullin e kaluar ), por kaq nuk mjafton, ne failin build.xml duhet te bejme nje deklrim te tille:</p>
<pre lang='xml'>
<taskdef resource="net/sf/antcontrib/antlib.xml">
	        <classpath>
<pathelement location="c:\adresajuajkukeniruajturfailin\ant-contrib-1.0b3.jar"/>
	        </classpath>
</taskdef>
</pre>
<p>me pas mund te perdorim tasket qe na pelqejne, shembull i nje if</p>
<pre lang='xml'>

<if>
 <equals arg1="${ndryshore}" arg2="vlere" />
<then>
             <echo message="Kushti eshte i vertete"/>
   </then>
</if>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/05/ant-contrib-task-e-per-ant-qe-mungonin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; te trasportojme nje fail ne sje server me ssh</title>
		<link>http://www.albdevnet.com/2008/07/04/ant-te-trasportojme-nje-fail-ne-sje-server-me-ssh/</link>
		<comments>http://www.albdevnet.com/2008/07/04/ant-te-trasportojme-nje-fail-ne-sje-server-me-ssh/#comments</comments>
		<pubDate>Fri, 04 Jul 2008 08:52:48 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=98</guid>
		<description><![CDATA[Ashtu si u tregova ne artikullin e meparshem, nje nga fazat e publikimit te nje projekti mund te jete trasportimi i nje faili (apo me shume se nje faili) ne nje server te jashtem (edhe nga lan-i) juaj, duke bere nje lidhje ssh. Per kete duhet te perdorim taskun , qe fatkeqesiht nuk eshte ne [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-100" title="jcraftlogo" src="http://www.albdevnet.com/wp-content/uploads/2008/06/jcraftlogo.png" alt="" />Ashtu si u tregova ne artikullin e meparshem, nje nga fazat e publikimit te nje projekti mund te jete trasportimi i nje faili (apo me shume se nje faili) ne nje server te jashtem (edhe nga lan-i) juaj, duke bere nje lidhje ssh. Per kete duhet te perdorim taskun , qe fatkeqesiht nuk eshte ne core te ant.<span id="more-98"></span><br />
Fillimisht shkojme dhe shkarikojme librarine e duhur nga <a href="http://www.jcraft.com/jsch/">faqja zyretare</a>. Tani duhet ta konfigurojme per ant.<br />
Nese perdorni eclipse si une, atehere me poshte mund te shikoni nje pamje te konfigurimit te librarise ne burimet e ant (Window&gt;Preferences&gt;Ant&gt;Runtime&gt; Global Entries, add external jars) .</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-99" title="jsch_1" src="http://www.albdevnet.com/wp-content/uploads/2008/06/jsch_1.jpg" alt="" width="479" height="418" /></p>
<p style="text-align: left;">Tani mund te shruajme brenda taskeve tona kodin e nevojshem si psh:</p>
<pre lang="xml">
</pre>
<p>pa trust=&#8221;true&#8221; mund te keni gabim certifikate&#8230;<br />
Tjeter komande shume interesante eshte eksekutimi i komande ne serverin ne server, psh te lejojme qe tomcat per kete te drejta mbi nje direktori:</p>
<pre lang="xml">
</pre>
<p>Ne artikujt e ardhshem do te mundohemi qe te shpjegojme taske te tjera dhe strumente te dobishme per te shfrytezuar ne maksimum ant ne projektet tona.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/04/ant-te-trasportojme-nje-fail-ne-sje-server-me-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; komandat krysore per te nisur</title>
		<link>http://www.albdevnet.com/2008/07/03/ant-komandat-krysore-per-te-nisur/</link>
		<comments>http://www.albdevnet.com/2008/07/03/ant-komandat-krysore-per-te-nisur/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 13:24:49 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=102</guid>
		<description><![CDATA[Ne artikujt e meparshem kemi bere prezantimim e ant, ne kete artikull do te prezantohemi me komandat kryesore me te cilat te krijojme fauilin tone build.xml. Menyra me e mrie ehste q et uleni dhe ti testoni nje nga nje, e nese kemi pyetje apo veshtiresi, shruani ne forum, ose komentoni ketu poshte. Krijimi i [...]]]></description>
			<content:encoded><![CDATA[<p>Ne artikujt e meparshem kemi bere prezantimim e ant, ne kete artikull do te prezantohemi me komandat kryesore me te cilat te krijojme fauilin tone build.xml. Menyra me e mrie ehste q et uleni dhe ti testoni nje nga nje, e nese kemi pyetje apo veshtiresi, shruani ne forum, ose komentoni ketu poshte.<br />
<span id="more-102"></span><br />
Krijimi i nje drnyshoreje (po u kalua nje parameter me ate emer, mbivendoset vlera):</p>
<pre lang='xml'>
<property name="ndryshorja" value="vlera"/>
</pre>
<p>Shkruaj dicka:</p>
<pre lang='xml'>
<echo message="Gjithcka ok!"/>
</pre>
<p>Perdorimi i paremtrave:<br />
Psh duam te shkruajme pershendtje perdorues</p>
<pre lang='xml'>
<property name="perorues" value="adn"/>
<echo message="Pershendetje ${perorues}"/>
</pre>
<p>Te ruash ne ndryshoren &#8220;dataSot&#8221; ,daten e sotme ne nje format te caktuar:</p>
<pre lang='xml'>
<tstamp>
<format property="dataSot" pattern="yyyy-MM-dd" locale="it,IT"/>
</tstamp>
</pre>
<p>Te kopjosh nje direktori ne nje tjeter:</p>
<pre lang='xml'>
<copy todir="${adresa1}/nga">
    <fileset dir="${adresa2}/dikutjeter"/>
</copy>
</pre>
<p>Kopjo nje fail (overwrite opsion per te mbishkruar failin):</p>
<pre lang='xml'>
<copy file="${adresaime}/test.sql" todir="${dikutjeter}/Sql"  overwrite="true"/>
</pre>
<p>Thirr nje metode ant, nga nje tjeter, me parametra te ndryshme: </p>
<pre lang='xml'>
<antcall target="publiko">
<param name="parametri1" value="vlera1"/>
<param name="parametri2" value="vlera2"/>
</antcall>
</pre>
<p>Nje funksion (target) i thjeshte:<br />
name: emri i funskioni, nuk duhen dy njelloj<br />
depends: eksekutohet para se te eksekutoje kete metode<br />
description: pershkrimi, te dokumentosh ehste gjithmone mire..</p>
<pre lang='xml'>
<target name="bejDicka" depends="pregatit" description="Pershrkimi">
<!--nje koment-->
</target>
</pre>
<p>Fshi nje direktori:</p>
<pre lang='xml'>
<delete dir="${adresa}/kot"/>
</pre>
<p>Fshij nje file:</p>
<pre lang='xml'>
<delete file="c:\file.war"/>
</pre>
<p>Krijojme nje jar:</p>
<pre lang='xml'>
<jar jarfile="c:\diku\test.war"  basedir="c:\burimi"/>
</pre>
<p>Kompilojme kodin java:</p>
<pre lang='xml'>
<javac srcdir="c:\burimi"
           destdir="c:\kompilo\classes"
	   classpath="${classpath}:${classpath.extra}"
           debug="false"
      	   deprecation="true"
           optimize="true">
</javac>
</pre>
<p>ku classpath e classpath.extra jande dipendencat tuaja, psh te formes:</p>
<pre lang='xml'>
<path id="compile.classpath">
<pathelement location="${catalina.home}"/>
    	<fileset dir="${catalina.home}/lib/">
      		<include name="*.jar"/>
    	</fileset>
 </path>
<property name="classpath.extra" value="${tomcat.home}/lib/servlet-api.jar:${deploy.home}/WEB-INF/lib/mm.mysql-2.0.4-bin.jar:${deploy.home}/WEB-INF/classes" />
</pre>
<p>imagjinoni vete ca vlerash duhet tu jepni ndryshoreve te padeklaruara ketu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/03/ant-komandat-krysore-per-te-nisur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant &#8211; publikimi i projekteve tuaja java</title>
		<link>http://www.albdevnet.com/2008/07/02/ant-publikimi-i-projekteve-tuaja-java/</link>
		<comments>http://www.albdevnet.com/2008/07/02/ant-publikimi-i-projekteve-tuaja-java/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 08:00:36 +0000</pubDate>
		<dc:creator>eltonkola</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ant]]></category>

		<guid isPermaLink="false">http://www.albdevnet.com/?p=96</guid>
		<description><![CDATA[Ant eshte mjeti qe fondacioni apache, perdor per ndertimin dhe publikimin e projekteve java. Ky strument shume i dobishem eshte i integruar ne tere ide-t java me te famshme si eclipse e netbeans, por gjithsesi fuonksionon si standaolone duke e shkarikuar nga faqja zyrtare, dhe instaluar. Them publikim dhe jo kompilim te nje projekti, pasi [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-97" title="ant-project-logo" src="http://www.albdevnet.com/wp-content/uploads/2008/06/ant-project-logo.gif" alt="" /> Ant eshte mjeti qe fondacioni apache, perdor per ndertimin dhe publikimin e projekteve java. Ky strument shume i dobishem eshte i integruar ne tere ide-t java me te famshme si eclipse e netbeans, por gjithsesi fuonksionon si standaolone duke e shkarikuar nga <a href="http://ant.apache.org/" target="_blank">faqja zyrtare</a>, dhe instaluar. Them publikim dhe jo kompilim te nje projekti, pasi publikimi eshte akoma me kopleks sesa vetem kompilimi. Ne kete artikull do shikojme ndonje shembull te vogel, e per me shume do flasim per mundesite qe na jep ky strument.<span id="more-96"></span></p>
<p>Personalisht kam perdorur me shume se nje here kete strument te fuqishem, per projekte reale e koplekse qe kane nevoje per nje mjet te fuqijshem kompilimi dhe distribuimi.</p>
<p>Imagjionojme te kemi tre servera, nje per testim, nje per prodhim e nje per zhvillim (qe mund te jete dhe makina lokale) dhe po punojme mbi nje apikacion web, cdo sitance ka konfigurim dhe database te vete. Sa pune na duhet per te publikuar nje dnryshim ne projekt? Po ta bejme me dore, do ta duhej nje file war per secilin server, mekofigurimin perkates, gje qe do te na hate shume kohe, ne kete rast ant do beje tere punen per ne, kuptohet nese krijojme nje fail build ashtu si duhet&#8230;</p>
<p>Ne rastin tim (qe per arsye te ndryshme smudn te pasqueroj ne kete artikull), kam krijuar nje direktori buildi, me disa fail context (sa ambiente /servera te kem), nje direktori temporane pune dhe scripti build.xml (fali qe ant eksekuton). Fillimisht kopjoj burimet e kodt, i kompiloj, kopjon dipendencat (failet .jar) ne direktorine e duhur, me pas per secilin ambient krijoj nje file war, bej nje kopje te ketyre faili ne serverin e backupit, hap nje lidhje ssh me cdo server, dhe bej nje autentikim http me managerine tomcat per te bere deploy te failit war qe me scp kaloj tek serveri. Per me shume mund te leshoj teste junit apo java per te pare nese paketa ime eshte fundkionale, e me ne fund fshi tere failet e panevojshem&#8230;</p>
<p>Kuptohet qe thene keshtu, duket e veshtire , por gjate krijimit te failit do shikoni se sa lehte dhe bukur eshte.</p>
<p>Nje fail i thjeshte buildi do ishte:</p>
<pre lang='xml'>
<project name="ADN-test" default="publiko" basedir=".">
    <description>
        Shembull i thjeshte i perodrimit i nje faili build per ant
    </description>
  <!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist"  location="dist"/>

  <target name="init">
    <!-- Koha-->
    <tstamp />
    <!-- Direktori ku do kemmi failet e kopiluara -->
    <mkdir dir="${build}"/>
  </target>

  <target name="compile" depends="init"
        description="compile the source " >
    <!-- Kompilo kodin qe ndodhet ne src ket build -->
    <javac srcdir="${src}" destdir="${build}"/>
  </target>

  <target name="dist" depends="compile" description="nderto prjektin" >
    <!-- krijojme direktorine e distribucionit-->
    <mkdir dir="${dist}/lib"/>

    <!-- Permbajtejne e build e kompresoj ne nje fail jar , me ${DSTAMP} mund te ve edhe kohen e kopilimit -->
    <jar jarfile="${dist}/lib/LibreriaProjektitTim.jar" basedir="${build}"/>
  </target>

  <target name="clean"
        description="clean up" >
    <!-- Fshin direktorite e panevojshme-->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>
</pre>
<p>Ant ben akoma gjera me te avancuara, shpreojme qe ti prezantojme ne artikujt e ardhsheme.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.albdevnet.com/2008/07/02/ant-publikimi-i-projekteve-tuaja-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

