<?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>Privates Blog von Karsten Gresch &#187; ant</title>
	<atom:link href="http://blog.gresch.de/tag/ant/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gresch.de</link>
	<description>Varia, Miscellania</description>
	<lastBuildDate>Wed, 06 Jul 2011 18:23:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ant: Umgebungsvariablen an der Kommandozeile (mit &#8220;-D&#8221;) überschreiben</title>
		<link>http://blog.gresch.de/2008/01/16/ant-umgebungsvariablen-an-der-kommandozeile-mit-d-ueberschreiben/</link>
		<comments>http://blog.gresch.de/2008/01/16/ant-umgebungsvariablen-an-der-kommandozeile-mit-d-ueberschreiben/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 23:16:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Programmiernotizen]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=230</guid>
		<description><![CDATA[Wird immer mal wieder angefragt: Gesetzt den Fall, man m&#246;chte in einem Ant-Script auf eine Umgebungsvariable zugreifen, was man normalerweise so macht: &#60;property environment=&#34;env&#34; /&#62; &#60;property name=&#34;dist-conf&#34; location=&#34;${env.DIST_PATH}/conf&#34; /&#62; Dann kann man diese Variable an der Kommandozeile wie folgt &#252;berschreiben: ant -Denv.DIST_PATH=/path/to/the/dir Um einmal gesetzte Variablen zu &#252;berschreiben, ist der Ant-Contrib-Variable-Task (siehe http://ant-contrib.sourceforge.net/) die L&#246;sung [...]]]></description>
			<content:encoded><![CDATA[<p>Wird immer mal wieder angefragt: Gesetzt den Fall, man m&ouml;chte in einem Ant-Script auf eine Umgebungsvariable zugreifen, was man normalerweise so macht:</p>
<pre>&lt;property environment=&quot;env&quot; /&gt; &lt;property name=&quot;dist-conf&quot; location=&quot;${env.DIST_PATH}/conf&quot; /&gt;</pre>
<p>Dann kann man diese Variable an der Kommandozeile wie folgt &uuml;berschreiben:</p>
<pre>ant -Denv.DIST_PATH=/path/to/the/dir</pre>
<p>Um einmal gesetzte Variablen zu &uuml;berschreiben, ist der Ant-Contrib-Variable-Task (siehe <a href="http://ant-contrib.sourceforge.net/">http://ant-contrib.sourceforge.net/</a>) die L&ouml;sung der Wahl.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2008/01/16/ant-umgebungsvariablen-an-der-kommandozeile-mit-d-ueberschreiben/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Maven 2 &#8211; Umstellung eines Projekts von Ant zu Maven 2 (Oliver Stauss, eXXcellent solutions)</title>
		<link>http://blog.gresch.de/2007/04/26/jax-2007-maven-2-ae-umstellung-eines-projekts-von-ant-zu-maven-2-oliver-stauss-exxcellent-solutions/</link>
		<comments>http://blog.gresch.de/2007/04/26/jax-2007-maven-2-ae-umstellung-eines-projekts-von-ant-zu-maven-2-oliver-stauss-exxcellent-solutions/#comments</comments>
		<pubDate>Thu, 26 Apr 2007 08:46:36 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=179</guid>
		<description><![CDATA[Historie &#8211; von make Ã¼ber Ant, Maven 1 zu Maven 2. Einfluss der Rails-Community. Komplett neue Implementierung von 1. Paradigmenwechsel: Nicht Build-Skripte erstellen, sondern Projekte konfigurieren. Nicht das wie des zu erzeugenden, sondern das was. Mehr managen als erzeugen. OO-Mechanismen zur Konfiguration (also Projekt). mvn2 hilft bei einem GroÃŸteil des Entwicklungsprozesses. UnterstÃ¼tzung fÃ¼r Kompilation Releaserstellung [...]]]></description>
			<content:encoded><![CDATA[<p>Historie &#8211; von make Ã¼ber Ant, Maven 1 zu Maven 2. Einfluss der Rails-Community. Komplett neue Implementierung von 1.</p>
<p />
<p>Paradigmenwechsel: Nicht Build-Skripte erstellen, sondern Projekte konfigurieren.</p>
<p>Nicht das <i>wie</i> des zu erzeugenden, sondern das <i>was</i>. Mehr managen als erzeugen. OO-Mechanismen zur Konfiguration (also Projekt).</p>
<p>mvn2 hilft bei einem GroÃŸteil des Entwicklungsprozesses. UnterstÃ¼tzung fÃ¼r</p>
<ul>
<li>Kompilation</li>
<li>Releaserstellung</li>
<li>BibliotheksabhÃ¤ngigkeiten</li>
<li>Dokumentation</li>
<li>Unit- und Integrationstests</li>
<li>nn</li>
<li>nn</li>
</ul>
<p>Weniger ein Tool wie Ant &#8211; vielmehr eine standardisierte Best-Practices-Enforcment-Box. </p>
<p><b></b></p>
<p />
<p><b></b></p>
<p />
<p><b>Konzepte </b></p>
<p><b>P</b>roject <b>O</b>bject <b>M</b>odel, beschrieben in <i>pom.xml</i>. Name + Version + Typ, Vererbung, Unterprojekte (Module), AbhÃ¤ngigkeiten und Repos, Lifecycle- Plugin Konfigurationen, Profile, Properties, sonstiges (Issue Tracker, Version Control etc). </p>
<p><b></b></p>
<p />
<p />
<p><b>Artifact</b>: </p>
<p>Ergebnis (Produkt) eines mvn2-Projekts. Typen: jar, war, ear, sar; plugin, archetype, pom.</p>
<p>Werden in Rep abgelegt. Jedes mvn2-Projekt erzeugt lediglich <b>ein</b> Ergebnis (dadurch Modularisierung erzwungen).</p>
<p />
<p><b></b></p>
<p />
<p><b>Goal</b></p>
<p>Wie Ant-Target.</p>
<p />
<p><b></b></p>
<p />
<p><b></b></p>
<p><b>Plugin</b></p>
<p>Logische Gruppierung von Goals. In Reps verwaltet.</p>
<p>Syntax: <i>plugin:goal</i></p>
<p><i>archetype:create</i> &#8211; Skeleton fÃ¼r weitere Projekte.</p>
<p><i>cargo:start</i> &#8211; FÃ¼r Java EE interessant.</p>
<p><i>compiler:compile</i>: Quellcode kompilieren.</p>
<p />
<p><b></b></p>
<p />
<p />
<p><b>Repositories</b></p>
<p>Zentrale Stelle, in der alle Artifacts abgelegt werden. Zwei Type: Lokal (file://[user-home].m2/repository), Remote (z.B. <a href="http://repo1.maven.org">http://repo1.maven.org</a>)<b></b></p>
<p><b></b></p>
<p />
<p><b></b></p>
<p />
<p />
<p><b>Dependency-Management</b></p>
<p>Alle abhÃ¤ngigen Artefakte Ã¼ber Repositories verwaltet, werden nicht physische in das Projekt kopiert. Kein &quot;Jarmaggedon&quot;.</p>
<p><b>Build-Lifecycle</b></p>
<p>Definiert in Phasen: validate-generate-resource-compile-test_compile-test-package-integration_test-install-deploy. Phasen mit plugin-goals verbunden.</p>
<p><b>Reports</b></p>
<p>QA-Reports, generelle Projektinformationen. <b></b></p>
<p><b>Frage: Wie funktioniert das innerhalb Eclipse?</b></p>
<p>Antwort: Plugins, libraries in rep</p>
<p><b>Ãœbergang von Ant zu Maven 2</b></p>
<p>Refactoring des Ant-Projekts. Projektstrukturen vereinfachen! Bei mehreren Artifacts in Unterprojekte aufteilen.</p>
<p>AuflÃ¶sen der AbhÃ¤ngigkeiten. Verwendete Bibliotheken identifzieren (mit Version!) &#8211; das ist normalerweise der aufwendigste Punkt.</p>
<p> Einspielen von 3rd-Party- und Inhouse-Bibliotheken in internes Repository.</p>
<p>POM definieren. Spezielle Ant-Targets in mvn2 umsetzen. Weitere features nutzen, um QualitÃ¤t zu steigern. </p>
<p> <b>Beispiel: antAuthProject</b></p>
<p />
<p />
<p>/src und /test/src-Folders. /lib, /etc; client, common und server-Packages. </p>
<p>=&gt; mvn: drei Verzeichnisse /server, /common, /client und eine <i>pom.xml</i> auf root-Ebene und jeweils in den drei Verzeichnissen. Sourcen darunter in /src/main (Mvn2-Konzept) und /src/test. Alles andere in /resources.</p>
<p>AuflÃ¶sen der AbhÃ¤ngigkeiten: Gut, wenn Versionsnummer in jar-Namen enthalten sind.</p>
<p>mvn install:install-file, um Libs in Rep zu bekommen (fÃ¼r internes Rep).</p>
<p>Mvn-plugin fÃ¼r spezielle Ant-targets. &lt;parent&gt;-Tag fÃ¼r Submodule. Submodule erben Konfig des Hauptprojekts (z.B. Unit-Tests, CodeCoverage).</p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/26/jax-2007-maven-2-ae-umstellung-eines-projekts-von-ant-zu-maven-2-oliver-stauss-exxcellent-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 2007: Apache Trinidad &#8211; JavaServer Faces Erster Klasse! (Matthias Weßendorf, Oracle Corp.)</title>
		<link>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/</link>
		<comments>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 10:18:04 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[JAX]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=174</guid>
		<description><![CDATA[Geschichte Oracle-Schenkung (vormals Oracle ADF Faces). Incubator-Projekt beendet am 22.04.2007; jetzt Unterprojekt von MyFaces. Craig Mc Clannaghan Incubator Mentor. Wiki Komponenten Ca. 105 Komponenten. HTML AJAX Renderkit. Dialogframework. Testframework. Facelet-UnterstÃ¼tzung &#34;out-of-the-box&#34;. Dazu sind die Maven-Facelet-Plugins erforderlich. Tomahawk-UnterstÃ¼tzung. AJAX4JSF-, Seam-UnterstÃ¼tzung. Tobago schwierig. tr:charts &#8211; SVG-Graphiken, ziemlich beeindruckend. tr:breadCrumbs &#8211; &#34;HÃ¤nsel u. Gretel-Navigation&#34; tr:document &#8211; individuelle Load-Manipulation. [...]]]></description>
			<content:encoded><![CDATA[<p><b>Geschichte</b></p>
<p>Oracle-Schenkung (vormals Oracle ADF Faces). Incubator-Projekt beendet am 22.04.2007; jetzt Unterprojekt von MyFaces. Craig Mc Clannaghan Incubator Mentor.</p>
<p><a href="http://wiki.apache.org/myfaces/Trinidad">Wiki</a></p>
<p><a href="http://myfaces.apache.org/wiki/Trinidad"></a></p>
<p><b></b></p>
<p><b></b></p>
<p><b>Komponenten</b></p>
<p>Ca. 105 Komponenten. HTML AJAX Renderkit.</p>
<p>Dialogframework. Testframework. Facelet-UnterstÃ¼tzung &quot;out-of-the-box&quot;. Dazu sind die Maven-Facelet-Plugins erforderlich.</p>
<p>Tomahawk-UnterstÃ¼tzung. AJAX4JSF-, Seam-UnterstÃ¼tzung. Tobago schwierig.</p>
<p><i>tr:charts</i> &#8211; SVG-Graphiken, ziemlich beeindruckend.</p>
<p><i>tr:breadCrumbs</i> &#8211; &quot;HÃ¤nsel u. Gretel-Navigation&quot;</p>
<p><i>tr:document</i> &#8211; individuelle Load-Manipulation.</p>
<p><i>tr:form</i> &#8211; Anders als normal</p>
<p><i>tr:icon</i> &#8211; Skin-Icon</p>
<p><i>tr:inputListOfValue</i> action kann sich auf bestimmte Datei beziehen.</p>
<p><i>tr:inputSpinBox</i> Zahlenwert in Mini-List, mit Tastatur Ã¤nderbar</p>
<p><i>tr:legend</i> &#8211; fÃ¼r Skin Icons</p>
<p><i>tr:navigationPane</i> z.B. als Tab gerendert. Abstrakte Klasse aus dem Model Ã¼berschreiben (&quot;Swingy&quot;).</p>
<p />
<p><i>tr:navigationTree</i></p>
<p><i>tr:page</i> &#8211; f. Grundstruktur d. Layouts</p>
<p><i>tr:panel</i> &#8211; diverse Layout-Komponenten, Border-, Group-, Form-Layout (wie Layout-Mgr). (###?Tomahawk document?###) </p>
<p><i>tr:poll</i> Fortschrittsbalken &#8211; ziemlich cool &#8211; partialTriggers=&quot;poll&quot; setzen. So lange wie Transaktion nicht abgeschlossen, wird die Seite angezeigt. action=&quot;[Seite/Zustand nach Beendigung]&quot;; Beispiel: Auch fÃ¼r regelmÃ¤ÃŸiges Pollen auf Daten mÃ¶glich (z.B. Aktienticker). Auch z.B. zum ÃœberprÃ¼fen aktiver Session.</p>
<p><i>tr:selectOne[...]</i> &#8211; Zum AuswÃ¤hlen nur eines Elements (v.a. choice)</p>
<p><i>tr:selectManyShuttle</i> &#8211; zwei ListBoxes mit MÃ¶glichkeit, Werte von einer in die andere zu Ã¼bertragen.</p>
<p><i>tr:singleStepButton</i> </p>
<p><i>tr:subform</i> &#8211; Vorversenden von Formteilen</p>
<p><i>tr:treeTable</i> </p>
<p>Table-Sortierung sehr einfach, ebenso Selektion. </p>
<p><i>tr:setActionListener</i> (auch in JSF 1.2 default &#8211; fÃ¼r den Service Manager sehr interessant).</p>
<p />
<p />
<p />
<p><b>Projektstruktur</b></p>
<ul>
<li><i>trinidad-api</i> <br />Basisklassen, abstrakte Klassen, Code nur fÃ¼r Trinidad-Entwickler interessant&#8230;</li>
<li><i>trinidad-impl</i></li>
<li><i>trinidad-build</i></li>
</ul>
<p>JSF-Komponentenerstellung beschrÃ¤nkt sich auf das Schreiben lediglich der Rendererklasse (!). Facelets u.U. problematisch. </p>
<p> </p>
<p><b>Framework</b></p>
<p>API. Vereinfachung der Komponentenerstellung. Dialogframework. Optimierte Komponentenspeicherung: UIXComponentBase benutzt direkt Map und delegiert Bean-Methoden. </p>
<p> Maven2-Plugins. TagDoc Personalisierung. Skinning-Dateien.</p>
<p>Dialogframework z.B: fÃ¼r Wizards. processScope zw. Request und Session. Events: launch und return. </p>
<p><b>HTML AJAX RenderKit</b></p>
<p>Partial Page Rendering. iframe anstelle von XmlHttpRequest-Objekt. Clientseitige Validierung, kein form.submit(). WÃ¤re u.U. auch sehr interessant f. Service Manager.</p>
<p><i>autoSubmit</i> &#8211; input Components f. action, <i>partialSubmit</i> &#8211; command, partialTriggers &#8211; fÃ¼r listener, bezieht sich auf partial/autoSubmit Komponente</p>
<p>PPR via Java API auch mÃ¶glich (in action-Methode; RequestContext-Objekt von Trinidad nicht mit Faces-OBjekt verwechseln.).</p>
<p><i>RenderKit Extension</i> &#8211; JS an Client senden (programmatisch).</p>
<p>RenderKit Skinning Architecture. CSS anlegen, registrieren in <i>trinidad-config.xml</i> und <i>trinidad-skins.xml</i></p>
<p>Referenzieren auf Komponenten Ã¼ber Pseudoelemente, <i>af|Komponente::Attribut { &#8230; }</i> </p>
<p>Skinning-Verhalten Ã¼ber EL dynamisch Ã¤nderbar! </p>
<p>Accessibility: default, inaccessible, screenreader (f. Blinde), right-to-left, debug-output</p>
<p>Demo-Anwendung <a href="http://code.google.com/p/facesgoodies">http://code.google.com/p/facesgoodies</a>.</p>
<p><b></b></p>
<p><b></b></p>
<p />
<p><b>Arbeiten mit Trinidad</b></p>
<p>Vergleich JSF-Standard ./. Trinidad. Sehr angenehm: tr-Tags mit anderen (f) einsetzbar.</p>
<p>JSF 1.2 nur im branch, wartet auf MyFaces update. Aber stable, mit &quot;magic script&quot; permanentes Merge, derzeit keine nightly builds, das Continuum derzeit down.</p>
<p><b>Gesamteindruck</b></p>
<p>Sehr mÃ¤chtig, sehr traurig, dass das HTML AJAX RenderKit auf iframe basiert</p>
<p><b></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2007/04/25/jax-2007-apache-trinidad-javaserver-faces-erster-klasse-matthias-weaendorf-oracle-corp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant XML-Parsing Problem / java.lang.ClassCastException / org.apache.xerces.parsers.SAXParser.</title>
		<link>http://blog.gresch.de/2006/11/22/ant-xml-parsing-problem-java-lang-classcastexception-org-apache-xerces-parsers-saxparser/</link>
		<comments>http://blog.gresch.de/2006/11/22/ant-xml-parsing-problem-java-lang-classcastexception-org-apache-xerces-parsers-saxparser/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 20:42:00 +0000</pubDate>
		<dc:creator>KG</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Programmiernotizen]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://web636.webbox122.server-home.org/wpkg/?p=64</guid>
		<description><![CDATA[See the Eclipse Bugzilla entry. One workaround is to remove the XML jars.]]></description>
			<content:encoded><![CDATA[<p>See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=143008" >the Eclipse Bugzilla entry</a>.</p>
<p>One workaround is to remove the XML jars.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gresch.de/2006/11/22/ant-xml-parsing-problem-java-lang-classcastexception-org-apache-xerces-parsers-saxparser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

