Romain

Cette utilisateur n'a partagé aucune information biographique


Article par Romain

Mise à jour majeure pour TeamCity

L’outil d’Intégration Continue de JetBrains, TeamCity vient de sortir dans sa version 4.5.
J’avais déjà parlé de cet outil au travers de l’un de mes articles sur developpez.com.

Parmi les nouveautés apportées par cette mise-à-jour, nous pouvons y trouver :

  • L’intégration avancée de LDAP. Team City offre maintenant la possibilité de se synchroniser avec l’annuaire LDAP d’une société.
  • Les groupes d’utilisateurs. Il est désormais possible de rassembler les utilisateurs de l’outil au sein de différents groupes. On pourra ainsi spécifier les droits et notifications d’un ensemble d’utilisateurs beaucoup plus rapidement. Comme d’habitude, tout se gère depuis l’interface graphique :

  • Amélioration de l’interface : des efforts ont été également apportés dans le but d’améliorer l’utilisation et l’intuitivité de l’interface graphique de TeamCity.

  • Amélioration de la gestion des IDE et SCM. Lors de mon test de TeamCity, j’avais particulièrement apprécié les interactions poussées entre le serveur TeamCity et les IDE.
    Je regrettais toutefois que le plugin pour Eclipse propose moins de fonctionnalités que celui pour IntelliJ, en particulier concernant les commits pré-testés.
    Cela dit, étant donné que IntelliJ et TeamCity sont tous deux développés par JetBrains, cela peut se comprendre ;)
    Le plugin Eclipse profite donc de cette mise-à-jour pour s’enrichir de cette fonctionnalité très intéressante, mais propose également de réaliser des builds distants, et gère désormais Perforce 2008.2.
  • Rapports XML. En plus de la traditionnelle gestion des résultats des tests, TeamCity peut désormais analyser les rapports XML générés par des tâches Ant, NUnit, Surfire, PMD ou encore FindBugs.

  • Framework Mono. TeamCity détecte automatiquement le framework Mono et peut-être utilisé comme plateforme pour l’intégration continue des projets .Net.
  • Il y a également d’autres améliorations, plus mineures, sur cette release.

On notera enfin que le support du gestionnaire de sources Git est dès à présent proposé sous forme de plugin additionnel (en EAP, soit Early Access Program)…

Les nouvelles fonctionnalités sont détaillées ici.

Start Slide Show with PicLens Lite PicLens

La France est l’amie de l’open-source…

Cocorico ! La France serait en première place des pays engagés dans l’open source. Voici la nouvelle :

D’après une étude publiée par l’éditeur des solutions Linux Red Hat et l’institut Georgia Tech, la France serait en pôle position des pays engagés dans le monde de l’open source. Ce rapport prend en considération plusieurs critères à savoir : l’indice global national d’adoption des solutions open source et la pénétration de ces dernières au sein des instituts publics et du secteur privé. Les chercheurs se sont aussi intéressés au nombre d’oeuvres publiées traitant du sujet, à la proportion d’ingénieurs certifiés par Red Hat, ainsi qu’aux statistiques du Linux Counter, un site au travers duquel l’internaute peut s’enregistrer en tant qu’utilisateur Linux.

La France obtient le meilleur score en ce qui concerne le déploiment du logiciel libre au sein des infrastructures gouvernementales. Ainsi le mois dernier nous apprenions que la Gendarmerie Nationale avait économisé 50 millions d’euros suite à son processus de migration vers les logiciels bureautiques d’OpenOffice.Org initié en 2004. L’on peut aussi mentionner le Ministère de l’Agriculture qui annonçait en 2007 vouloir adopter le système d’exploitation Mandriva. En France, le logiciel libre est principalement représenté par l’association April qui a récemment lancé une campagne promotionnelle afin de sensibiliser le grand public et les entreprises.

Derrière la France, nous retrouvons l’Espagne, l’Allemagne, l’Australie et la Finlande. Etant donnée la nature-même du logiciel libre, cette étude, qui donne une idée de l’activité globale, n’est bien évidemment pas définitive. Certaines statistiques pourraient évoluer, notamment le nombre de traductions fournies pour chaque logiciel open source, l’un des autres critères également pris en considération par les analystes.

Source




Cliquez sur l’image pour accéder à la carte interactive…

Start Slide Show with PicLens Lite PicLens

Une bonne analyse du rachat de Sun par Oracle

Difficile d’être passé à côté de LA nouvelle de la semaine, celle concernant le rachat de Sun par Oracle.

Une question intéressante est de savoir ce que vont devenir les produits Sun (voire ceux d’Oracle) qui font désormais doublon. Je vous renvoie sur une très bonne analyse de Sami Jaber, présentant entre autres un excellent tableau récapitulant le nouveau portefeuille d’Oracle…

Oracle prend à revers tout le marché de l’industrie et annonce finalement le rachat de Sun pour 7 Milliard de dollars. (…) voici mon analyse de la nouvelle donne griffonnée rapidement entre deux coups de fil.

Contrairement à IBM, Oracle dispose d’un portefeuille beaucoup plus concentré. Une offre qui s’articule autour de sa base de données maison et s’est étoffée au fil des acquisitions.

Mais globalement, je pense que ce rachat est un moindre mal. Là où IBM aurait difficilement trouvé de complémentarités avec Sun, Oracle s’enquiert d’un portefeuille riche qu’il devra conserver pour l’essentiel. (…)

IBM aurait racheté Sun pour le faire mourir à petit feu, Oracle achète Sun pour se renforcer, c’est une situation somme toute bien différente

Start Slide Show with PicLens Lite PicLens

Nouvelles versions de Sonar et Hudson

Ces jours-ci, mes outils préférés se mettent à jour…

Sonar 1.8

La dernière version de Sonar est sortie en fin de semaine dernière.
J’avais déjà évoqué les prochains chantiers de l’équipe de SonarSource lors de la sortie de la précédente version de l’outil.
En voici quelques résultats:

  • Tout d’abord, l’apparition des « Hotspots », ces fameux dashboards récapitulant les principales faiblesses d’un projet (voir ici l’exemple des Hotspots pour le projet Tomcat sur le site de démonstration de Sonar Némo).
  • Nous avons désormais la possibilité de visualiser les codes dupliqués directement depuis l’interface web.
  • Maven 2.1 est dès à présent supporté par Sonar.
  • Enfin, un meilleur paramètrage de FindBugs nous est offert.

Au delà des nouveautés fonctionnelles ou techniques, SonarSource souhaite également aider la communauté à développer de nouveaux plugins pour Sonar.
C’est la raison d’être de la Sonar Plugin Library.

A l’occasion, je me lancerais peut-être dans un petit tutoriel pour créer son propre plugin… A condition d’avoir un peu de temps pour cela, bien entendu !

Téléchargez Sonar 1.8

Concernant Sonar 1.9, dont la sortie est prévue courant mai, la principale nouveauté sera l’intégration de Sonar Squid, le remplaçant de JavaNCSS.


Et de 300 !

La 300e version d’Hudson est sortie ! Comme à chaque release, peu de nouveautés, mais toujours ces petits plus qui rendent cet outil si performant et indispensable !

J’ai prévu de me lancer d’ici peu dans la mise à jour de mes articles sur developpez.com traitant de ces deux outils.
J’en profite d’ailleurs pour faire un peu de publicité sur ces articles : celui sur Hudson, et celui sur Sonar.

De beaux graphiques en 30 secondes (voire moins)

Vous cherchez une informations sur Internet ? Google est votre ami !
Vous cherchez à créer un graphique en moins d’une minute ? Alors Google Chart API est votre ami !

Le principe en est fort simple : Google Chart API génère dynamiquement un graphique en fonction de paramètres et de données qui lui sont transmis via une certaine URL.

Prenons un exemple simple, en considérant l’URL suivante :
http://chart.apis.google.com/chart?cht=p3&chd=t:60,40&chs=250×100&chl=Hello|World

Dans les attributs de l’URL, nous retrouvons les paramètres suivants:

  • cht=p3, indiquant quel type de graphique nous utilisons (ici, une « pie 3D »)
  • chs=250×100 pour la dimension de l’image rendue.
  • chd=t:60,40, correspondant aux données (ici 60 et 40).
  • chl=Hello|World, correspondant aux labels des données.

Cette URL va ainsi produire l’image suivante :

Bien évidemment, de nombreux autres graphiques peuvent être créés :

Voilà de quoi s’amuser très rapidement !

Toutes les informations, les paramètres, les types, etc. sont disponibles sur la page officielle de Google Chart API.

Merci Google…

Start Slide Show with PicLens Lite PicLens

Au menu des évolutions de Sonar

La version 1.7 de Sonar à peine sortie du four, regardons de plus près ce qui nous attend dans les prochains mois !

Les hotspots

Les hotspots sont en quelque sorte une vue centralisant l’ensemble des points à corriger au sein de l’application offrant un RoI (« retour sur investissement ») maximal.
En d’autres termes, c’est ici qu’il faudra se rendre afin de savoir quelles corrections apporter afin d’améliorer son application significativement, et ce, en contrepartie de relativement peu d’efforts.

Hotspot
Hotspot
Sur ces maquettes d’écrans, on peut y voir les hotspots, montrant par exemple quelles sont les violations les plus fréquentes, les classes ayant le plus de violations, ou encore un rapport sur les tests unitaires et leur couverture.
Reste à voir si ces hotspots seront paramétrables ou non…

Concernant cette nouvelle fonctionnalité, pas de révolution, puisque toutes ces données existent déjà sur Sonar. Toutefois, le fait de les retrouver centralisées en un point sera sans aucun doute appréciable !

La gestion du PHP

Sonar supporte nativement le langage Java. Il est également possible, via un plugin, de faire analyser le code PL/SQL de son application.
Sonar s’oriente désormais vers l’analyse du code PHP.
Comme pour le Java, Sonar se basera sur des outils du monde PHP pour l’analyse du code. On devrait y trouver des outils tels que :

  • PHPUnit : tests unitaires et couverture de code.
  • PHP_CodeSniffer : détection des violations de règles de standard.
  • PHP Depend : différents types de métriques sur le code (complexité cyclomatique, statistiques, etc.)

(la liste de ces outils ne semble pas encore définitive)

Plus d’informations à venir quant au support du PHP…

Ré-écriture de JavaNCSS

JavaNCSS est un outil plutôt ancien (il date de 1997, ce qui correspond presque aux tous débuts de Java !), mais plutôt intéressant.
Il offre de nombreuses statistiques sur le code source Java, indiquant le nombre de lignes, de commentaires, de méthodes, de classes, etc.
Le principal souci de JavaNCSS est qu’il n’a pas suffisament suivi les évolutions du langage, et de nombreuses limitations sont ainsi apparues, dont celles-ci :

  • les classes internes ne sont pas analysées,
  • il est impossible de faire ignorer à l’analyseur les commentaires de début de fichier (décrivant généralement la licence utilisée par le programme),
  • annotations ou génériques (« nouveautés » intégrées depuis Java 5) mal supportés,
  • etc.

L’équipe de Sonar a donc décidé de corriger ces problèmes en réécrivant le moteur de parsing de l’outil JavaNCSS.
Il est à noter que ces améliorations viendront donner se greffer directement sur le projet JavaNCSS, et seront donc disponibles en dehors de Sonar !

Voir ici pour de plus amples informations à ce sujet.

Start Slide Show with PicLens Lite PicLens

Sonar 1.7 est là !

L’équipe suisse de Sonar continue son excellent travail sur son outil de suivi de qualité, et tient les délais pour la release désormais mensuelle.

C’est donc la version 1.7 qui est sortie hier, le 18 mars 2009.
Qu’apporte cette nouvelle version, à l’exception de quelques bugs fixes ?

  • Possibilité d’ignorer certaines classes ou package du contrôle de qualité. Voilà une fonctionnalité utile quand il on dispose de nombreuses classes générées automatiquement par des librairies tierces.
  • Affichage des détails des erreurs des tests unitaires (ça, ça me manquait dans la version 1.6 !)
  • Visualisation des lignes dupliquées d’une classe.
  • Nuage de couverture disponibles désormais pour les packages et modules (et non plus seulement pour les classes).

Détails des erreurs des tests unitaies
Détails des erreurs des tests unitaies

Duplication de lignes
Visualisation de la duplication des lignes dans le code

Bref, que du bon !

Pour le téléchargement, ça se passe par ici.

Start Slide Show with PicLens Lite PicLens

Premiers pas sur Wicket – Configuration

Préambule

Ca fait un petit moment (quelque chose comme 6 – 8 mois) que j’entends parler de Wicket.
Aujourd’hui, je décide de franchir le pas, et de voir ce que ça vaut vraiment…

Mais alors qu’est-ce que c’est que Wicket ?
Je pourrais faire un copier coller du site web officiel de l’outil, et dire ainsi :
With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.
Mais non, ce serait un peu trop facile !

Wicket est donc un projet de la communauté Apache correspondant ainsi à un framework de présentation, basé uniquement sur du Java et du HTML.

On se prépare

Qui n’est pas bien équipé ne pourra pas bien travailler !
Je jette tout d’abord un oeil sur les IDEs compatibles avec Wicket.
La page du site me propose ainsi des plugins pour les plus populaires des IDEs, à savoir Eclipse, NetBeans et IntelliJ.
Optant pour ce dernier, je regarde donc du côté de WicketForge.
Pour la configuration sur Eclipse, je laisse mon ami Jawher s’occuper des explications
Du côté Java, je reste sur mon Java 5, et un petit Maven 2.0.9.

On jette les bases

La première chose à faire, c’est de créer un nouveau projet sur IntelliJ.
Pour me faciliter la tâche, j’utilise l’archetype dédié à Wicket, qui me permet de créer la structure pour mon projet Wicket.

La commande Maven en ligne correspondante serait celle-ci :

mvn archetype:create -DarchetypeGroupId=org.apache.wicket -DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=1.3.5 -DgroupId=romain -DartifactId=wicket-test

Comme le précise le site de Wicket, ce dernier utilise obligatoirement slf4j qui est un logger (un peu comme log4j).
Pour utiliser log4j au sein de son projet, il suffit d’ajouter la dépendance vers slf4j-log4j12.
Cette dépendance est obligatoire pour toutes les versions Wicket depuis la 1.3.0

Mon pom.xml ressemble donc à ceci :

XML:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 <a href="http://maven.apache.org/maven-v4_0_0.xsd">">http://maven.apache.org/maven-v4_0_0.xsd"></a>
    <modelVersion>4.0.0</modelVersion>
    <groupId>romain</groupId>
    <artifactId>wicket-test</artifactId>
    <packaging>war</packaging>
    <version>1.0</version>
    <dependencies>
        <!– Wicket Dependencies –>
        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket</artifactId>
            <version>${wicket.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket-extensions</artifactId>
            <version>${wicket.version}</version>
        </dependency>
        <!– Logging Dependencies – LOG4J –>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.4.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <!–  JUnit for tests –>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.0</version>
            <scope>test</scope>
        </dependency>
        <!–  Jetty, used for web test –>
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty</artifactId>
            <version>${jetty.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-util</artifactId>
            <version>${jetty.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-management</artifactId>
            <version>${jetty.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <filtering>false</filtering>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <filtering>false</filtering>
                <directory>src/main/java</directory>
                <includes>
                    <include>**</include>
                </includes>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <filtering>false</filtering>
                <directory>src/test/java</directory>
                <includes>
                    <include>**</include>
                </includes>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <properties>
        <wicket.version>1.3.5</wicket.version>
        <jetty.version>6.1.4</jetty.version>
    </properties>
</project>

Le projet créé par l’archetype a la structure suivante :

Le web.xml est constitué essentiellement par la définition du filtre de Wicket :

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee <a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</a>
         version="2.4">
    <display-name>wicket-test</display-name>
    <!–
           There are three means to configure Wickets configuration mode and they are
           tested in the order given.
           1) A system property: -Dwicket.configuration
           2) servlet specific <init-param>
           3) context specific <context-param>
           The value might be either "development" (reloading when templates change)
           or "deployment". If no configuration is found, "development" is the default.
     –>
    <filter>
        <filter-name>wicket.wicket-test</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>romain.WicketApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>wicket.wicket-test</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

Au niveau du code source et des pages, il existe trois fichiers :

  • WicketApplication.java : cette classe est le point d’entrée de l’application, qui étend org.apache.wicket.protocol.http.WebApplication et défini principalement la méthode getHomePage(), qui retourne la classe Java gérant la page d’accueil de mon application.
  • HomePage.java est la classe Java gérant ma page d’acceuil. Elle étend org.apache.wicket.markup.html.WebPage
  • HomePage.html est la page d’acceuil, en version HTML.

Si l’on jette un oeil sur le fichier HomePage.html, on voit ceci :

HTML:

<html>
    <head>
        <title>Wicket Quickstart Archetype Homepage</title>
    </head>
    <body>
        <strong>Wicket Quickstart Archetype Homepage</strong>
        <br/><br/>
        <span wicket:id="message">message will be here</span>
    </body>
</html>

A priori, rien de particulier, à ceci près que le span contient un attribut wicket:id.

Premier test

On va maintenant démarrer le serveur.
L’archetype a eu la gentillesse de nous créer un test JUnit qui se charge en réalité de créer et démarrer un serveur Jetty.
On lance donc le serveur, et voici les logs :



INFO – log – Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
>>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP
INFO – log – jetty-6.1.4
INFO – log – NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
INFO – Application – [WicketApplication] init: Wicket core library initializer
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IFormSubmitListener, method=public abstract void org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IFormSubmitListener, method=public abstract void org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IOnChangeListener, method=public abstract void org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IOnChangeListener, method=public abstract void org.apache.wicket.markup.html.form.IOnChangeListener.onSelectionChanged()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IRedirectListener, method=public abstract void org.apache.wicket.IRedirectListener.onRedirect()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IRedirectListener, method=public abstract void org.apache.wicket.IRedirectListener.onRedirect()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IResourceListener, method=public abstract void org.apache.wicket.IResourceListener.onResourceRequested()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IResourceListener, method=public abstract void org.apache.wicket.IResourceListener.onResourceRequested()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO – RequestListenerInterface – registered listener interface [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
INFO – Application – [WicketApplication] init: Wicket extensions initializer
INFO – WebApplication – [WicketApplication] Started Wicket version 1.3.5 in development mode
********************************************************************
*** WARNING: Wicket is running in DEVELOPMENT mode. ***
*** ^^^^^^^^^^^ ***
*** Do NOT deploy to your live server(s) without changing this. ***
*** See Application#getConfigurationType() for more information. ***
********************************************************************
INFO – log – Started SocketConnector@0.0.0.0:8080

Je me connecte donc à mon serveur, à l’adresse http://localhost:8080, et je vois le résultat suivant :

Je constate qu’effectivement Wicket a utilisé le fichier HomePage.html, mais le span donc le wicket:id était précisé a vu son contenu modifié par la classe Java HomePage.java.
C’est plutôt un bon début, non ?

Voilà un premier pas dans le mode Wicket.
Rendez-vous dans un prochain billet, pour des tests un peu plus poussés !

Start Slide Show with PicLens Lite PicLens

Sortie de Sonar 1.6

Voici deux jours que Sonar est sorti en version 1.6.

En plus des dfférents bugs corrigés sur cette version, nous trouvons trois nouveautés plutôt intéressantes :

  • gestion de seuils d’alertes. Il est ainsi possible d’être alerté dès que la couverture de tests baissent sous les 30%, si la complexité d’une classe excéde 40, etc.
  • amélioration de la gestion des profils de qualité. En plus de la configuration PMD et checkstyle, chaque profil est lié désormais à un ensemble d’alertes.
  • affectation des profils qualité à différents projets. Précédemment, un seul profil qualité était actif pour l’ensemble des projets. Désormais, il est possible de définir, pour chaque profil, quels sont les projets associés.

 Voici deux captures d’écran montrant le principe des alertes :

 

Lors de mon premier test de cette nouvelle version, j’ai obtenu différentes erreurs, en particulier celle-ci :

[INFO] [sonar-core:prepare]
[ERROR] Cannot execute the command org.codehaus.sonar:sonar-core-maven-plugin:1.6:prepare

java.lang.ClassCastException: java.lang.NoClassDefFoundError
        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:115)

        at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
        at org.picocontainer.adapters.InstanceAdapter.start(InstanceAdapter.java:113)
        …

Après renseignement, il s’agirait d’un souci avec certaines dépendances présentes dans le repository Maven local. Le problème est effectivement parti après un nettoyage de ce dernier…

 

Start Slide Show with PicLens Lite PicLens

Java Camp à Paris le 31 Janvier

JavaCamp3

Ce samedi 31 janvier, Sun et Valtech organise un JavaCamp à Paris, dans les très jolis locaux de Sun, tout proches des Champs Elysées (42 avenue d’Iéna dans le 16e) !

Mais cékoidonc ?

Un BarCamp est une rencontre, une non-conférence ouverte qui prend la forme
d’ateliers-événements participatifs où le contenu est fourni par les
participants qui doivent tous, à un titre ou à un autre, apporter
quelque chose au Barcamp. C’est le principe pas de spectateur, tous participants (voir la définition Wikipédia ici).

Le JavaCamp est donc la déclinaison du BarCamp pour la technologie Java. Cet
événement mettra ainsi l’accent sur les toutes dernières innovations autour
des technologie Java.

Bref, un événement à ne pas rater, d’autant qu’il est organisé enre autre par mes collègues Eric et Anthony !

Allez, n’attendez plus, et venez vous inscrire ici !

Start Slide Show with PicLens Lite PicLens