lundi 4 mars 2013

Maven 3.0.5

Logo Maven

Le 23 février 2013, la version 3.0.5 de Maven est sortie. Elle n'apporte que le passage à Wagon 2.4, ce qui semble corriger principalement des problèmes avec SSL, des désactivations par défaut de vérification de sécurité et des problèmes de build avec le JDK 1.7. Voir le site ou la mailing list.

lundi 19 mars 2012

Sortie de Sonar 2.14

Sonar

Sortie de la version 2.14 de Sonar, l'outil qualimétrique multi-langages, dont Java et PHP, appelable via Maven et s'appuyant sur un SGBD dont Postgresql. Au menu, détection des copier/coller entre projets pour tous les langages, ajout de notes aux règles, capacité de récupérer des informations concernant les utilisateurs depuis des systèmes tiers, notification par mail pour les nouvelles violations et amélioration de la carte des projets.

Sonar est sous licence GNU Lesser GPL version 3, lois suisses.

Pour le voir en action sur le site nemo et pour le télécharger.

Lire la suite...

dimanche 26 février 2012

Sortie de Doxygen 1.8.0

Doxygen

La version 1.8.0 de Doxygen est sortie le 25 février 2012. Cet outil libre développé par Dimitri van Heesh permet de générer la documentation technique à partir du code source, et ce pour les langages suivants: C++, C, Java, Objective-C, Python, IDL (pour Corba et Microsoft), Fortran, VHDL, PHP, C# ainsi que D jusqu'à un certain point.

Doxygen permet de générer un navigateur de documentation en ligne (en HTML) et/ou des manuels de référence à consulter hors ligne (en LaTeX, donc avec une qualité remarquable) à partir d'un ensemble de fichiers de code source documenté. Sont également gérés les formats de sortie RTF (MS-Word), PostScript, PDF avec hyperliens, HTML compressé et man pages Unix. La documentation est extraite directement depuis le code source, ce qui facilite de maintenir le code et la documentation synchronisés.

Il est possible de configurer Doxygen pour extraire la structure de code de fichiers sources non documentés. Ceci est très utile pour vous y retrouver rapidement dans un grand volume de code source. Vous pouvez également visualiser les relations entre les différents éléments grâce des graphiques de dépendances d'inclusion, des diagrammes d'héritage et des diagrammes de collaboration qui sont tous générés automatiquement.

Enfin, il est également possible d'utiliser Doxygen pour créer une documentation classique (comme Dimitri van Heesh l'a fait pour la documentation de Doxygen).

Doxygen fonctionne sur la plupart des Unix (dont Linux et Mac OS X sur lesquels il est développé) et des exécutables pour Windows sont également disponibles. Doxygen est sous licence GNU General Public License. En revanche, les documents produit par Doxygen sont considérés comme travail dérivé de celui effectué pour produire les fichiers en entrée. Ils ne sont donc pas affectés par la license GNU GPL.

Enfin, il existe des plugins pour Maven, Jenkins et Sonar:

Sur le site Doxygen, vous pourrez voir le manuel ou télécharger la dernière version.

Lire la suite...

mercredi 22 février 2012

Hamcrest, tutoriel pour Java

Java

Hamcrest est une bibliothèque d'objets de correspondance ('matchers' ou contraintes ou encore prédicats) permettant de définir des règles de 'correspondance' de façon déclarative, utilisables dans d'autres frameworks. Typiquement, on l'utilisera avec des frameworks de test, des bibliothèques d'objets bouchons (mock objects) et des règles de validation d'interface utilisateur.Par exemple, au lieu d'écrire:

   assertEquals("bleu", couleur);

On écrira:

   assertThat(couleur,is("bleu"));

On note ici le gain immédiat de lisibilité (surtout en anglais)...

Hamcrest a été implémenté pour Java, PHP mais aussi C++, Objective-C, Python et Erlang. Naturellement, avec Java, on pourra gérer cette dépendance via Maven.

Une version d'Hamcrest est fournie avec JUnit. Cependant, elle date un peu et les versions plus récentes d'Hamcrest offrent un tas de nouvelles fonctionnalités, en particuliers pour travailler avec les collections. Vous pouvez utiliser la dernière version d'Hamcrest en utilisant la dépendance junit-dep à la place de junit, comme suit:

  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit-dep</artifactId>
      <version>4.10</version>
      <scope>test</scope>
      <exclusions>
         <exclusion>
              <groupId>org.hamcrest</groupId>
              <artifactId>hamcrest-core</artifactId>
          </exclusion>
      </exclusions>
  </dependency>
  <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>1.3.RC2</version>
  </dependency>

junit-dep est exactement la même bibliothèque que junit, exception faite que ses dépendances sont explicitement déclarées et non incluse dans le bundle.....

Notez enfin que Hamcrest n'est pas une bibliothèque de test comme JUnit ou TestNG, mais bien une bibliothèque d'objets de correspondance destinés à rendre les tests implémentés avec les bibliothèques précédentes beaucoup plus lisibles.

Ce qui suit est la traduction du tutoriel Java que l'on peut lire sur le wiki du site de Hamcrest. On pourra également lire ce billet de John Smart.

Lire la suite...

samedi 4 février 2012

Test d'une application Web avec Thucydides

Thucydides

L'objet de cet article, inspiré fortement par le guide utilisateur de Thucydides, et de mettre en place des tests de validation fonctionnelle sur une application Web à l'aide de Thucydides, donc, et de WebDriver/Selenium 2. Thucydides est une bibliothèques OpenSource destinée à faciliter ces tests de recette, en utilisant, soit JUnit, soit EasyB.

Lire la suite...

mardi 31 janvier 2012

Nouvelle version 1.450 de Jenkins

Logo jenkins

Nouvelle version de Jenkins:

Corrections:

  • correction de la commande d'installation des plugins depuis une URL
  • abandon lors de longs traitements post-build
  • le mois ne peut pas être à zéro
  • correction de l'autocomplétion pour la copie sur la page de création d'un nouvel esclave
  • correction d'un bug de remplacement automatique des plugins embarqués

Nouveautés:

  • passage sous Maven 3.0.4
  • lors du lancement d'un build via la ligne de commande, le nom de l'utilisateur qui a lancé le build est enregistré

Voir http://jenkins-ci.org ...

samedi 28 janvier 2012

Utiliser Selenium 2 avec Maven

selenium-logo.png Logo Maven

Traduction de l'article de Michael Tamm sur le blog Selenium.

Il y a plusieurs façon d'utiliser Selenium 2:

Si vous n'avez pas de code datant de Selenium 1.x, utilisez directement les nouvelles implémentations WebDriver telles que ChromeDriver, HtmlUnitDriver, FirefoxDriver ou InternetExplorerDriver qui fournissent une API agréable, légère et facile à apprendre.

Si vous avez ce type de code, vous pouvez continuer à utiliser la désormais célèbre classe DefaultSelenium ou la nouvelle WebDriverBackedSelenium qui hérite de la précédente mais utilise en interne l'une des implémentation WebDriver.

Lire la suite...

Sortie de Selenium WebDriver version 2.18.0

selenium-logo.png selenium-grid-logo.png

Selenium WebDriver et Selenium Server sortent en version 2.18.0, poursuivant le rythme rapide des mises à jour. Concernant les modifications:

  • WebDriver:
    • correction de récupération de la valeur d'un attribut des éléments option
    • gestion des alert dans Firefox et IE: lance une exception UnhandledAlertException si une boîte alert est présente lors de l'opération. Le alert non géré est également acquitté pour éviter les exceptions à répétition
    • meilleure gestion des appels de getText dans les éléments SVG
    • correction des clics qui ne fonctionnaient plus sous Firefox 4
    • le driver Android gère maintenant le Flash et Geolocation
    • correction du support du changement de frame pour le driver iPhone
  • Remote Control:
    • correction du problème de fermeture de IE HTA à la fin des tests
  • WebDriverJS (le binding Javascript):
    • correction de findElements

Le jar: http://selenium.googlecode.com/file...

Pour une utilisation avec Maven, voir http://seleniumhq.wordpress.com/201...

vendredi 27 janvier 2012

Sonar

Sonar

Sonar est une plate-forme ouverte de gestion de la qualité du code. Elle couvre les 7 axes de la qualité du code:

Sonar sait gérer Java mais aussi d'autres langages comme PHP (mais aussi C, C#, Flex, Natural, PHP, PL/SQL, Cobol et Visual Basic 6).

Sonar est extensible à l'aide de plugins très simples à installer. L'un deux permet l'interfaçage avec Jenkins

Parmi les fonctionnalités notables de Sonar, sa capacité à gérer des projets multiples, son authentification possible sous LDAP, ses outils de revue de code augmentés d'information signalant les manquements et des voies d'amélioration possible, sa localisation notamment en français, sa gestion personnalisé des règles à appliquer, etc. Des nuages permettant de repérer du premier coup d'oeil où l'effort doit être porté en priorité pour obtenir des résultats rapidement.

Sonar peut être appelé depuis le poste de travail du développeur, depuis Eclipse, via Maven ...

Il génère une émulation entre les équipes qui essaient d'avoir le projet le plus propre, ce qui apparaît clairement dans les tableaux de bord "radiateurs".

Nous verrons dans un prochain billet comment l'installer.... même si c'est très simple.

Sonar est actuellement en version 2.13.