<?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>Benjamin Cabé &#187; equinox</title>
	<atom:link href="http://blog.benjamin-cabe.com/tag/equinox/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.benjamin-cabe.com</link>
	<description>Eclipse, the birds and yo momma</description>
	<lastBuildDate>Wed, 17 Mar 2010 09:21:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Given a class, how to retrieve its bundle?</title>
		<link>http://blog.benjamin-cabe.com/2009/07/16/given-a-class-how-to-retrieve-its-bundle</link>
		<comments>http://blog.benjamin-cabe.com/2009/07/16/given-a-class-how-to-retrieve-its-bundle#comments</comments>
		<pubDate>Thu, 16 Jul 2009 15:34:13 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[3.5]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/2009/05/13/osgi-retrouver-le-bundle-auquel-appartient-une-classe</guid>
		<description><![CDATA[OSGI R4.2 (thus Equinox 3.5) comes (well, will come, since the spec. is not final yet) with a new simple and handy utility: the org.osgi.framework.FrameworkUtil.getBundle(Class) static method, which allows to retrieve the bundle a given class belongs to. More specifically, this method will give you the bundle who loaded the given class, or null if the class has [...]]]></description>
			<content:encoded><![CDATA[<p><strong>OSGI R4.2</strong> (thus <strong>Equinox 3.5</strong>) comes (well, will come, since the spec. is not final yet) with a new simple and handy utility: the <span style="font-family: courier new,courier;">org.osgi.framework.FrameworkUtil.getBundle(Class)</span> static method, which allows <strong>to retrieve the bundle a given class belongs to</strong>.</p>
<p>More specifically, this method will give you the bundle who loaded the given class, or <span style="font-family: courier new,courier;">null</span> if the class has not been loaded by the OSGi framework (e.g. if it is a class belonging to the boot classpath&#8230;).</p>
<p>Thus, whenever you want to access information such as the version of a bundle, its headers,  etc. without having to query its <span style="font-family: courier new,courier;">Activator </span>(perhaps you don&#8217;t even have an Activator for this bundle&#8230;), you know what you&#8217;ve got to use! Of course, whoever says <span style="font-family: courier new,courier;">Bundle</span>, means <span style="font-family: courier new,courier;">BundleContext</span>, and this handy helper is also very convenient to easily publish/consume OSGi services on behalf of the bundle&#8230;  <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/07/16/given-a-class-how-to-retrieve-its-bundle/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Equinox p2: Large Scale Deployment</title>
		<link>http://blog.benjamin-cabe.com/2009/02/03/equinox-p2-large-scale-deployment</link>
		<comments>http://blog.benjamin-cabe.com/2009/02/03/equinox-p2-large-scale-deployment#comments</comments>
		<pubDate>Tue, 03 Feb 2009 09:19:04 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[ganymede]]></category>
		<category><![CDATA[p2]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=453</guid>
		<description><![CDATA[Last year&#8217;s Eclipse release (Ganymede) came with a new provisioning platform called p2. For years, Eclipse has been shipped along with a component called the &#8220;Update Manager&#8221;, which allowed users to easily update their Eclipse installations. Nevertheless, year after year, and especially when Eclipse 3.0 came out, it has become much more than just an [...]]]></description>
			<content:encoded><![CDATA[<p>Last year&#8217;s Eclipse release (Ganymede) came with a new provisioning platform called p2. For years, Eclipse has been shipped along with a component called the &#8220;Update Manager&#8221;, which allowed users to easily update their Eclipse installations. Nevertheless, year after year, and especially when Eclipse 3.0 came out, it has become much more than just an IDE: it is now a software platform, built on top of Equinox (the reference implementation of the OSGi specification).</p>
<p>Thus, deployment needs are not limited to installing and updating only plug-ins anymore. People building software on top of Eclipse need to be able to deliver an installer for their product, which may come with a license manager which needs provisioning too, they need to have their own UI for the updating process, &#8230; and p2 answers to virtually all these needs.</p>
<h2>p2: a provisioning platform&#8230;</h2>
<p>To be able to provision virtually everything, the main strength of p2 is to have no a priori knowledge of the way Eclipse plug-ins or even Java applications must be handled. It&#8217;s indeed a very light framework to describe the parts that are to be installed (the Installable Units), and how they depend on each other. p2 comes with some basic instructions about how an OSGi bundle or an Eclipse product should be installed, but nothing else.</p>
<p>It&#8217;s up to the software vendor who wants to deliver, let&#8217;s say, a Windows executable program (which may require adding keys to the registry, or icons on the desktop, for instance) together with its Eclipse RCP application, to write the code (in fact, a p2 plug-in!) to explain p2 how this particular Installable Unit should be handled when provisioned in a given system.</p>
<h2>&#8230; and, the next deployment standard?</h2>
<p>Of course, although p2 is still a very young project, and may not seem mature enough for industrial usage. It is still not 100% reliable yet and lacks tooling, but the quality of this very first release is still pretty high. Since it was released, p2 has started gathering a community which is leveraging p2 in other domains than just the Eclipse project itself. Software companies like Cloudsmith, EclipseSource and Anyware Technologies are already developing tools on top of p2 ; and IBM, among others, is working hard to improve the p2 core and design a clear API.</p>
<p>The massive adoption of OSGi in many different areas (Eclipse runtime technologies like Equinox itself or RAP, applications servers like Websphere or Glassfish, etc.) will definitely make p2 the smartest way to deploy not only Eclipse-based applications, but any sort of scalable application as well. Indeed, when high availability is an important requirement (in other words &#8212; almost always), then you need to be able to dynamically install new modules into the running system, update existing ones, sometimes even do this remotely.</p>
<p>Since there is currently no real sustainable alternative for industrial deployments – did you ever try to use Java Web Start for more than just a very simple Swing or RCP application? – p2 will probably come up as a de facto provisioning technology standard.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/02/03/equinox-p2-large-scale-deployment/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fiche de référence OSGi</title>
		<link>http://blog.benjamin-cabe.com/2009/01/13/fiche-de-reference-osgi</link>
		<comments>http://blog.benjamin-cabe.com/2009/01/13/fiche-de-reference-osgi#comments</comments>
		<pubDate>Tue, 13 Jan 2009 10:10:08 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[jeff mcaffer]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=405</guid>
		<description><![CDATA[En guise d&#8217;avant-goût au livre &#8221;Equinox and OSGi: The Power Behind Eclipse&#8220;, une fiche de référence sur OSGi et son implémentation de référence Equinox a été concoctée par Jeff McAffer et mise à disposition sur le site DZone. Attention, il faut un compte pour pouvoir télécharger le PDF —et je n&#8217;ai pas le droit de le [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:right; margin-left:1em;" title="Equinox &amp; OSGi" src="http://blog.benjamin-cabe.com/wp-content/uploads/2009/01/equi-150x150.jpg" alt="Equinox &amp; OSGi" width="150" height="150" />En guise d&#8217;avant-goût au livre &#8221;<a title="Equinox &amp; OSGi, le livre" href="http://www.amazon.com/Equinox-OSGi-Power-Behind-Eclipse/dp/0321585712" target="_blank">Equinox and OSGi: The Power Behind Eclipse</a>&#8220;, une fiche de référence sur OSGi et son implémentation de référence Equinox a été concoctée par <a title="Blog de Jeff McAffer" href="http://eclipsesource.com/blogs/author/jeff/" target="_blank">Jeff McAffer</a> et mise à disposition sur le site <a title="DZone" href="http://www.dzone.com/" target="_blank">DZone</a>.</p>
<p><strong><em>Attention</em></strong><em>, il faut un compte pour pouvoir télécharger le PDF —et je n&#8217;ai pas le droit de le mettre à disposition ici <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .</em></p>
<p>En 6 pages, Jeff fait le tour de tous les concepts de base d&#8217;OSGi/Equinox, et répond à des questions que tout développeur de bundles OSGi (et plus généralement de plug-ins Eclipse) s&#8217;est un jour posé :</p>
<ul>
<li>Faut-il préférer l&#8217;en-tête <span style="font-family: 'courier new', courier;">Import-Package</span> à <span style="font-family: 'courier new', courier;">Require-Bundle</span> pour la gestion des dépendances?</li>
<li>Quelle sont les différences entre les <em>services </em>OSGi, les <em>declarative services</em> et les <em>extensions</em> Eclipse? </li>
<li>Comment manipuler ses bundles depuis la console OSGi?</li>
<li>etc. <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p><strong><span style="text-decoration: underline;">A lire absolument!</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2009/01/13/fiche-de-reference-osgi/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse 3.4 M7 est là !</title>
		<link>http://blog.benjamin-cabe.com/2008/05/03/eclipse-34-m7-est-la</link>
		<comments>http://blog.benjamin-cabe.com/2008/05/03/eclipse-34-m7-est-la#comments</comments>
		<pubDate>Sat, 03 May 2008 13:14:57 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[3.4]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[jdt]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[noteworthy]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=166</guid>
		<description><![CDATA[Ça y est, Eclipse 3.4 est à nos portes puisque le milestone qui sort aujourd&#8217;hui est le 7ème du nom ; ce qui, dans le cycle de développement Eclipse, veut dire que toutes les nouvelles fonctionnalités ont été implémentées (feature complete) ! Les prochaines versions livrées seront des releases candidates, au nombre de quatre d&#8217;ici [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/ganymede.png"><img style="float:right;margin-left:15px;margin-bottom:10px" title="ganymede" src="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/ganymede-300x194.png" alt="" width="249" height="162" /></a>Ça y est, <strong>Eclipse 3.4</strong> est à nos portes puisque le milestone qui sort aujourd&#8217;hui est le 7ème du nom ; ce qui, dans le cycle de développement Eclipse, veut dire que toutes les nouvelles fonctionnalités ont été implémentées (<strong><em>feature complete</em></strong>) !</p>
<p>Les prochaines versions livrées seront des <strong><em>releases candidates</em></strong>, au nombre de quatre d&#8217;ici fin juin, et n&#8217;apporteront donc que des corrections de bugs.</p>
<p>Voici comme à chaque fois les <strong>nouveautés</strong> à noter, sachant que, pour une M7, on est plutôt gâtés !</p>
<h2><strong>Equinox</strong></h2>
<ul>
<li>Les <strong>certificats</strong> des paquets installés via p2 pourront maintenant être <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/certificate-dialog.png">visualisés</a>, un peu de la même manière que vous pouvez vérifier le certificat d&#8217;un site auquel vous vous connectez via votre navigateur Internet,</li>
<li>L&#8217;IHM de la boîte de dialogue <strong><em>Software Updates</em></strong> amenée par <strong>p2</strong> est désormais définitive (hé oui, on a dit <em>feature complete</em>, faut suivre un peu&#8230;) et devrait même vous permettre d&#8217;aller encore plus vite qu&#8217;auparavant dans la gestion des mises à jour, notamment grâce au <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/p2ui2.png">mécanisme de filtre</a> implémenté dans l&#8217;arbre listant les <em>Installable Units</em>.</li>
</ul>
<h2><strong>PDE</strong></h2>
<ul>
<li> Vous pouvez désormais <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/pde_internalextpoints.png">marquer</a> un <strong>point d&#8217;extension</strong> comme étant <strong><em>internal</em></strong>. Cela n&#8217;interdit pas à d&#8217;autres plug-ins d&#8217;étendre ledit point d&#8217;extension, mais ils seront prévenus qu&#8217;ils font quelque chose de pas catholique avec un warning ou une erreur (voir sur la capture d&#8217;écran),</li>
<li>Le tooling autour d&#8217;<strong>OSGi</strong> commence à prendre de plus en plus d&#8217;importance, avec notamment l&#8217;<a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/pde_osgiservices.png">affichage des services</a> déclarés et consommés par chaque plug-in dans la vue <strong>Plug-in Registry</strong>.</li>
</ul>
<h2>Platform / SWT</h2>
<ul>
<li>Possibilité de <strong>sélectionner une ligne</strong> en appuyant sur SHIFT et en cliquant sur la règle qui affiche les numéros de lignes dans tout éditeur textuel,</li>
<li><strong>Rechercher/Remplacer</strong>. <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/regex-text-search.png">Nouveau pattern</a> d&#8217;expression régulière <span style="font-family: courier new,courier;">\R</span> qui, lors de la recherche, trouve n&#8217;importe quel délimiteur Windows, Unix ou Mac (respectivement <span style="font-family: courier new,courier;">\r\n</span>, <span style="font-family: courier new,courier;">\n</span> et <span style="font-family: courier new,courier;">\r</span>), et, lors du remplacement, insère le délimiteur adéquat (i.e. celui configuré par défaut pour le fichier en question, et qui est utilisé quand vous tapez ENTREE dans un éditeur).</li>
</ul>
<h2>JDT</h2>
<ul>
<li>Le <strong>compilateur Java</strong> d&#8217;Eclipse (ecj) tire maintenant pleinement parti des machines <strong>multi-processeurs</strong> et multi-cores. De plus, les builders autres que le builder Java peuvent également bénificier de cette accélération !</li>
<li>La JDT supporte désormais les fichiers RAR ajoutés au build path ou au source path,</li>
<li>Le <strong>formatage de plusieurs fichiers Java</strong> à la fois est désormais <strong>annulable</strong> avec CTRL+Z. Rappelez-vous, auparavant, on avait droit à une jolie boîte de dialogue &#8220;<em>Undo is not supported by this operation. Do you want to continue?</em>&#8221; !</li>
<li>En mode debug, le survol d&#8217;une variable <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/05/debug-hover.png">affiche les structures</a> (maps, tableaux, &#8230;) de la même manière que le fait la vue Variables.</li>
</ul>
<p>Le <strong>New &amp; Noteworthy</strong> complet est <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M7-200805020100/eclipse-news-M7.html">ici</a> !<br />
Et pour le téléchargement, c&#8217;est par <a title="Télécharger Eclipse 3.4 M7" href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M7-200805020100/index.php" target="_blank">là</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/05/03/eclipse-34-m7-est-la/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Livre &#8220;OSGi in Practice&#8221;</title>
		<link>http://blog.benjamin-cabe.com/2008/04/20/livre-osgi-in-practice</link>
		<comments>http://blog.benjamin-cabe.com/2008/04/20/livre-osgi-in-practice#comments</comments>
		<pubDate>Sun, 20 Apr 2008 21:53:33 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Creative Commons]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Neil Bartlett]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=152</guid>
		<description><![CDATA[Neil Bartlett, expert et évangéliste de la technologie OSGi (voir notamment ses excellents articles &#8220;Getting started with OSGi&#8221; sur EclipseZone), vient d&#8217;entamer l&#8217;écriture d&#8217;un livre intitulé &#8220;OSGi in practice&#8220;. Ce dernier sera disponible sous licence Creative Commons, et le premier chapitre est d&#8217;ores et déjà téléchargeable ici. Si tout va bien, trois chapitres supplémentaires devraient [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.osgi.org"><img style="float: left; margin-right: 15px;" title="Logo OSGi alliance" src="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/logo1-300x145.jpg" alt="" width="149" height="72" /></a><a title="Neil Bartlett / Blog" href="http://neilbartlett.name/blog" target="_blank">Neil Bartlett</a>, expert et évangéliste de la technologie <a class="zem_slink" title="OSGi" rel="homepage" href="http://www.osgi.org" target="_blank">OSGi</a> (voir notamment ses excellents articles &#8220;<a title="Neil Bartlett /Getting started with OSGi" href="http://neilbartlett.name/blog/osgi-articles/" target="_blank">Getting started with OSGi</a>&#8221; sur <a title="EclipseZone" href="http://www.eclipsezone.com/" target="_blank">EclipseZone</a>), vient d&#8217;entamer l&#8217;écriture d&#8217;un <strong>livre</strong> intitulé &#8220;<strong>OSGi in practice</strong>&#8220;.</p>
<p>Ce dernier sera disponible sous licence <strong><a title="Creative Commons" href="http://creativecommons.org/" target="_blank">Creative Commons</a></strong>, et le premier chapitre est d&#8217;ores et déjà téléchargeable <strong><a href="http://neilbartlett.name/blog/osgibook/">ici</a></strong>.<br />
Si tout va bien, trois chapitres supplémentaires devraient être disponibles dans le courant de cette semaine ; Neil Bartlett encourageant ses lecteurs à contribuer activement à l&#8217;ouvrage, en le relisant ou bien en proposant du contenu.</p>
<p>Même si ce ne sont que 25 pages pour l&#8217;instant, le style de l&#8217;auteur est très agréable, les exemples clairs, et il y a même quelques <strong>exercices de mise en pratique</strong> à la fin du chapitre !</p>
<p>Ce <a title="RSS feed " href="http://neilbartlett.name/blog/categories/osgi/feed/atom" target="_self">flux RSS</a> vous permettra d&#8217;être tenus au courant dès qu&#8217;un nouveau chapitre sera disponible.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/04/20/livre-osgi-in-practice/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse 3.4 M6 &#8211; API Freeze !</title>
		<link>http://blog.benjamin-cabe.com/2008/04/05/eclipse-34m6-api-freeze</link>
		<comments>http://blog.benjamin-cabe.com/2008/04/05/eclipse-34m6-api-freeze#comments</comments>
		<pubDate>Sat, 05 Apr 2008 17:48:38 +0000</pubDate>
		<dc:creator>Benjamin Cabé</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[3.4]]></category>
		<category><![CDATA[equinox]]></category>
		<category><![CDATA[jdt]]></category>
		<category><![CDATA[m6]]></category>
		<category><![CDATA[p2]]></category>
		<category><![CDATA[pde]]></category>

		<guid isPermaLink="false">http://blog.benjamin-cabe.com/?p=64</guid>
		<description><![CDATA[Avec quelques jours de retard (il semblerait que l&#8217;intégration de p2 ait été assez laborieuse…) voici la cuvée M6 d&#8217;Eclipse 3.4 ! Comme pour chaque milestone, voici les nouveautés qui ont particulièrement retenu mon attention : Equinox Beaucoup de sous-projets qui étaient jusqu&#8217;alors en incubation ont été gradés et font donc maintenant partie du projet [...]]]></description>
			<content:encoded><![CDATA[<p><img style="float:right; margin-left:10px;" src="http://farm1.static.flickr.com/35/63823366_09a98f465e_m.jpg" alt="Noteworthy" />Avec quelques jours de retard (il semblerait que l&#8217;intégration de p2 ait été assez laborieuse…) voici la cuvée M6 d&#8217;Eclipse 3.4 !</p>
<p>Comme pour chaque milestone, voici les <strong>nouveautés</strong> qui ont particulièrement retenu mon attention :</p>
<h2><strong>Equinox</strong></h2>
<p>Beaucoup de sous-projets qui étaient jusqu&#8217;alors en incubation ont été gradés et font donc maintenant partie du projet Equinox &#8220;officiel&#8221;, et sont ainsi accessibles aux utilisateurs du SDK Eclipse. Parmi ces projets :</p>
<ul>
<li><strong>p2</strong> (prononcer <em>pitou</em> !). Pour faire (très) court : le mécanisme antédiluvien d&#8217;installation et de mises à jours de &#8220;features&#8221; a été totalement refondu. C&#8217;est <strong>la</strong> nouveauté de cette milestone, et je serai amené à en parler plus en détail très prochainement !</li>
<li><strong><a title="Equinox Security (wiki Eclipse)" href="http://www.eclipse.org/equinox/incubator/security/" target="_self">Equinox Security</a></strong>. L&#8217;idée est de faciliter l&#8217;intégration de mécanismes de gestion de la sécurité (authentification, autorisation, …) dans Eclipse. Le <a title="Equinox Security (DRAFT 3.4 Plan)" href="http://www.eclipse.org/equinox/incubator/security/plan.php" target="_blank">plan pour la 3.4</a> comprend les items suivants :
<ul>
<li>intégration de fournisseurs de sécurité Java</li>
<li>framework d&#8217;authentification utilisateur</li>
<li>gestion des certificats utilisateur (gestion de mots de passe, clés, …)</li>
<li>support de l&#8217;autorisation de code des bundles (à l&#8217;installation, au chargement, à l&#8217;exécution…)</li>
</ul>
</li>
</ul>
<h2><strong>PDE</strong></h2>
<ul>
<li>Le projet incubatoire <strong>API Tooling</strong> a lui aussi été promu, et est maintenant intégré à Eclipse.<br />
Le principe de ce projet est de mettre à la portée du développeur un certain nombres d&#8217;annotations Java et de processeurs associés afin de faciliter la documentation et la maintenance d&#8217;une API. On peut <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/pde-api-problems.png">par exemple</a> utiliser une annotation <code>@noreference</code> lorsque l&#8217;on veut indiquer qu&#8217;une méthode (définie dans une classe abstraite, par exemple) ne doit pas être appelée par les &#8220;clients&#8221;. A l&#8217;heure actuelle, ce genre de contrainte était tant bien que mal explicité dans la javadoc de la méthode (&#8220;Clients must not call this method&#8221; &#8230;), et le moins qu&#8217;on puisse dire c&#8217;est que ce n&#8217;était pas très formel, et encore moins exploitable de manière automatique.<br />
En outre, API Tooling peut détecter tout un tas d&#8217;erreurs auxquelles tout le monde à un jour où l&#8217;autre été confronté, comme par exemple la définition d&#8217;une méthode dans une interface exportée, qui retourne un type qui lui n&#8217;est pas exporté par le bundle ; ou, mieux, détecter la rupture possible de compatibilité lors de l&#8217;évolution d&#8217;une API (ajouter une méthode à une interface rend caduques toutes les classes concrètes qui n&#8217;implémentant pas encore cette méthode&#8230;)</li>
<li><a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/pde-schemaid2.png">Nouvel attribut de type &#8220;id&#8221;</a> dans les schémas de points d&#8217;extension. J&#8217;en ai déjà parlé <a href="http://blog.benjamin-cabe.com/2008/02/18/pde-ui-guys-rock">ici</a>, et suis toujours aussi enthousiaste vis-à-vis de cette nouvelle feature <img src='http://blog.benjamin-cabe.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</li>
</ul>
<h2>Platform / SWT</h2>
<ul>
<li>API pour avoir des <strong><a rel="lightbox" href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M6-200803301350/images/colored-labels.png">labels &#8220;multicolores&#8221;</a> dans les arbres et les tables</strong>. Depuis l&#8217;avénèment de la 3.4, vous aviez tous remarqué que <a rel="lightbox" href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M6-200803301350/images/colored-labels.png">la vue qui affiche les résultats d&#8217;une recherche</a>, par exemple, était désormais beaucoup plus sexy, grâce à l&#8217;utilisation de différentes couleurs. Ceux qui avaient essayé d&#8217;intégrer cela dans leur propre plug-ins avaient alors pu se rendre compte qu&#8217;il n&#8217;y avait pour l&#8217;instant pas de quoi manipuler simplement ces couleurs depuis la couche JFace. C&#8217;est désormais possible ! <code>StyledCellLabelProvider</code> est la classe abstraite à étendre pour avoir le support de cette nouvelle fonctionnalité ; <code>IStyledLabelProvider</code> permettant de venir enrichir un LabelProvider qui auraient déjà une super-classe. A noter que cela ne se résume pas qu&#8217;aux couleurs d&#8217;avant et d&#8217;arrière-plan puisque l&#8217;on peut également souligner, encadrer, mettre en gras, &#8230; certains tronçons de son label !</li>
<li><strong>Partage de projet CVS</strong>. Une <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/new-option-when-sharing1.png">nouveauté</a> toute bête mais trèèès pratique : on peut maintenant, lors du partage d&#8217;un projet CVS, venir simplement choisir le module dans lequel on veut que notre projet vienne se rajouter, et un sous-module du nom de notre projet Eclipse sera automatiquement créé !</li>
</ul>
<h2>JDT</h2>
<ul>
<li>Possibilité d&#8217;<a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/junit-time.png">afficher le temps d&#8217;exécution des tests unitaires JUnit</a> (une nouveauté rendue possible grâce à la nouvelle API <code>IStyledLabelProvider</code>).</li>
<li>Un nouveau &#8220;Quick Assist&#8221; permet de <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/message-format-quick-assist.png">convertir une succession de concaténations</a> de chaînes faite avec des &#8220;+&#8221; en une utilisation, plus intelligente, de la classe <code>MessageFormat</code>.</li>
<li>La fonctionnalité &#8220;Export As Runnable Jar&#8221; peut désormais <a rel="lightbox" href="http://blog.benjamin-cabe.com/wp-content/uploads/2008/04/runnable-jar.png">créer le script de build Ant</a> qui permet d&#8217;obtenir le Jar exécutable en question.</li>
</ul>
<p>Pour les curieux, le <strong>New &amp; Noteworthy</strong> complet est <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.4M6-200803301350/eclipse-news-M6.html">ici</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.benjamin-cabe.com/2008/04/05/eclipse-34m6-api-freeze/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
