vendredi 28 mai 2010

Intégration Eclipse Mylyn - Redmine

Installation du plugin

Mylyn est un plugin Eclipse de gestion de tâches. Nous allons expliquer ici comment connecter Mylyn à Redmine en utilisant les connecteurs aux repository web.

Les connecteurs ne font pas partis de l'installation par défaut de Mylyn. Vous devez donc installer ces extensions en enregistrant le site suivant dans Eclipse: http://download.eclipse.org/tools/mylyn/update/incubator.

Création d'un Task Repository

  1. Ouvrir la vue Task Repository
  2. Click droit sur la liste des task repositories list et clicker sur Add task repository
  3. Choisir Web Template (Advanced) et clicker sur Next
  4. Configuration du repository:
Server:                 http://www.redmine.org/ -- Remplacer cette URL par celle de votre installation Redmine
Task URL: ${serverUrl}/issues/show/
New task URL: ${serverUrl}/projects/project/issues/new -- Remplacer project par le nom du projet
Query request URL: ${serverUrl}/issues
Query pattern: <td class="subject">.*?<a href="/issues/show/(\d+)">(.+?)</a></td>
Login request URL: ${serverUrl}/login?username=${userId}&password=${password} [POST]

Vous pouvez remplacer le champ Query request URL par la requête suivante si vous ne voulez que les tâches qui vous sont assignées:

${serverUrl}/issues?set_filter=1&assigned_to_id=me

La requête suivante lit le Status, le Owner et le Tracker (Mylyn 3.2.1) :

<td class="tracker">({Type}.+?)</td><td class="status">({Status}.+?)</td>.+?<td class="subject"><a href=".*?/issues/show/({Id}\d+)">({Description}.+?)</a></td><td class="assigned_to"><a>({Owner}.+?)</a></td>

Le status sera affiché comme "complete" ou "uncomplete" par Eclipse.

Création d'une requête

  • Dans la liste des tâches, click droit, puis choisir New -> Query...
  • Ensuite sélectionner le repository

samedi 8 mai 2010

Flexmojos et les charts

Une configuration standard du plugin Flexmojos ne permet pas de compiler des charts. La compilation renvoie l'erreur suivante:

[ERROR] Could not resolve <mx:linechart> to a component implementation.

Les dépendances nécessaires ne sont pas disponibles sur un repo Maven. Il faut les ajouter dans le repo local à partir d'une installation du SDK Flex.

Pour commencer, il faut ajouter les dépendances dans le fichier Maven:

<dependency>
<groupid>com.adobe.flex.sdk</groupid>
<artifactid>datavisualization</artifactid>
<type>swc</type>
<scope>merged</scope>
<version>3.2.0.3958</version>
</dependency>
<dependency>
<groupid>com.adobe.flex.sdk</groupid>
<artifactid>datavisualization</artifactid>
<version>3.2.0.3958</version>
<type>rb.swc</type>
<classifier>en_US</classifier>
</dependency>

La seconde dépendances permet d'éviter l'erreur de compilation:

Unable to resolve resource bundle "charts" for locale "en_US".

Ensuite, il faut rajouter les dépendances dans le repo Maven local:

mvn install:install-file -DgroupId=com.adobe.flex.sdk
-DartifactId=datavisualization
-Dversion=3.2.0.3958
-Dpackaging=swc
-Dfile="/Applications/Adobe Flex Builder 3/sdks/3.2.0/frameworks/libs/datavisualization.swc"

Ensuite, il faut rajouter le ressource bundle:

mvn install:install-file -DgroupId=com.adobe.flex.sdk
-DartifactId=datavisualization
-Dversion=3.2.0.3958
-Dclassifier=en_US
-Dpackaging=rb.swc
-Dfile="/Applications/Adobe Flex Builder 3/sdks/3.2.0/frameworks/local/locale/en_US/datavisualization_rb.swc"

Si le scope de l'artifact datavisualization n'est pas mis à merge, l'application compilera, mais l'erreur suivante arrivera à l'exécution:

VerifyError: Error #1014: Class mx.charts::LineChart could not be found.

Il reste encore un problème à résoudre: la licence. Avec la configuration actuelle, les charts vont être affichés avec le message: Trial Visualization.

Il faut configurer le pom pour qu'il utilise la licence à la compilation:

<build>
<sourcedirectory>src/main/flex</sourcedirectory>
<plugins>
<plugin>
<groupid>org.sonatype.flexmojos</groupid>
<artifactid>flexmojos-maven-plugin</artifactid>
<version>3.5.0</version>
<extensions>true</extensions>
<configuration>
<contextroot>/appcontext</contextroot>
<debug>true</debug>
<licenses>
<flexbuilder3>nnnn-nnnn-nnnn-nnnn-nnnn-nnnn</flexbuilder3>
</licenses>
<sourcefile>App.mxml</sourcefile>
<targetplayer>9.0.124</targetplayer>
</configuration>
<dependencies>
<dependency>
<groupid>com.adobe.flex</groupid>
<artifactid>license</artifactid>
<type>jar</type>
<version>3.2.0.3958</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

La dépendance ne doit être rajouté qu'au plugin, pas au projet.

Le jar nécessaire à la licence n'est pas disponible non plus sur un repo maven, il faut donc l'installer à partir d'une installation Flex avec la commande suivante:

mvn install:install-file
-DgroupId=com.adobe.flex
-DartifactId=license
-Dversion=3.2.0.3958
-Dpackaging=jar
-Dfile="C:\Program Files\Adobe\Flex Builder 3 Plug-in\sdks\3.2.0\lib\license.jar"

Aprés une compilation, les charts s'afficheront sans le message de trial.