Custom Editor – Build’s argument


Dans un but de personalisation de build, on fait souvent appel à l’injection de paramètres globaux qu sein du processus de construction, ces paramètres sont injecté concretement au sein du processus, lui est implémenté par un flux de travail, ce flux de travail content des sections classiques de sasise de paramètres tels, arguments ou variables, dans le cadre du post nous allons utiliser la section d’arguments.

Cette section possède une interface graphique au sein de Team explorer, il s’agit bien comme vous vous en doutez de l’onglet Process du Build Definition.
Un paramètre peut être de type simple ou personnalisé, nous allons voir comment définir un type personalisé et une interface spécifique pour la saisie d’une valeur pour ce type.

Un paramètre peut figurer dans la sous section Mix.
arguments

browsetype

 

Commencer par créer une classe particulière Test, représentant ce type particulier.

public class Test
    {
        public string SampleProperty { get; set; }

        public override string ToString()
        {
            return SampleProperty;
        }
    }

Ensuite créer la CredentialDialog, sera la boite de dialogue dédiée à la saisie du type

La CredentialDialog est la boite de dialogue qui sera affichée pour saisir une valeur de notre type personnalisé, pour celà
créer un formulaire WinForms pour la saisie de valeurs

public partial class CredentialDialog : Form
    {
        public CredentialDialog() { InitializeComponent(); }
        public string SampleField
        {
            get
            {
                return SampleField.Text;
            }
            set
            {
                SampleField.Text = value;
            }
        }
}

Crééer la CredentialEditor

La classe contient les métadonnées affichées lorsque un développeur clique sur le bouton argument.
La classe doit implémenter l`interface UITypeEditor

using System.Drawing.Design; 
using System.Windows.Forms.Design; 
using System.ComponentModel; 
using System; 
using System.Windows.Forms; 

namespace BuildTasks.CustomType 
{ 
    class CredentialEditor : UITypeEditor 
    { 
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) 
        { 
            if (provider != null) 
            { 
                IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); 

                if (editorService != null) 
                { 
                    Credential credential = value as Credential; 

                    using (CredentialDialog dialog = new CredentialDialog()) 
                    { 
                        dialog.UserName = credential.UserName; 
                        dialog.Password = credential.Password; 

                        if (editorService.ShowDialog(dialog) == DialogResult.OK) 
                        { 
                            credential.UserName = dialog.UserName; 
                            credential.Password = dialog.Password; 
                        } 
                    } 
                } 

            } 
            return value; 
            
        } 

        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) 
        { 
            return UITypeEditorEditStyle.Modal; 
        } 
    } 
}

Ci-dessous des imprimes écran décrivant les étapes citées ci-dessus, en premier l’ajustement des métadonnées d’un argument.

cusqtomparam

select
 
GC.Collect()

Leave a comment

Filed under Uncategorized

Custom Build TFS 2013 with TFSBuildExtension


Vous pouvez utiliser un ensemble d’activités disponible sous CodePlex, il s’agit des Build Extension, elles permettent de personnaliser certaines comportements comme par exemple exécuter des scripts dédiés à mettre à jour ou peupler des bases de données.

Ci-desosus un lien d’accès : http://tfsbuildextensions.codeplex.com/

Vous avez aussi un lien documentant les activités : http://tfsbuildextensions.codeplex.com/documentation

Ce post a pour but d’aorder certaines subtilités de formattage liés à l’activité SqlExecute, activité utilisée pour exécuter des scripts SQL paramètrés. cette activité manque cruellement de documentation, cependant un coup de reflector s’impose.

PrepareSql

Le plus important est de renseigner les expressions VB comme il se doit, sans oublier aucun simple quote :
> Pour Parameters : pensez à les préfixer de @, les valeurs à mettre entre simple quotes.
> Pour la chaine de connection : pensez à juste mettre une chaine de caractère sans traitement particulier, comme vous faites sous une console d’aministration Web.
> Pour file : définir une liste de fichier.

Remarque : ne pas oublier de changer la valeur par défaut du timeout

Ci-dessous un imprime écran définissant les saisies

Parameters

Ci-dessous un exemple de script SQl :

Script

Le post stackoverflow correspondant : http://stackoverflow.com/questions/21388746/tfs-sqlexecute-custom-activity

Merci jesse

GC.Collect

Leave a comment

Filed under Uncategorized

Quality Tools


Ce post a pour objectif d’établir un listing d’un ensemble d’outils permettant le tunning d’une solution, ces outils font partie intégrante du cycle de vie d’un projet, ils sont souvent  intégrés pendant le processus de Build et s’appliquent sur le code source, ils peuvent être classifiés dans plsueiurs catégories, détection des violations de code, générations de métriques de qualité, vérification du style, etc.

  • Violation du code source :

¤Fx Cop : un outil de la plateforme Microsoft, il permet de valider la compliance C#, il est inclus dans ls SDK, disponible sur le lien suivant : http://www.microsoft.com/en-us/download/details.aspx?id=8279

¤CAT.Net : il représente un module complémentaire à Visual Studio, il permet de détecter les failles de sécurité, il est disponible à l’adersse suivante : http://www.microsoft.com/en-us/download/details.aspx?id=19968

¤Mono Gendarme : l’outil utilise la librarie Cecil pour detecter les violations, Cecil est disponible à l’adresse suivante : http://www.mono-project.com/Cecil, vous pouvez le télécharger gratuitement à l’adresse suivante http://www.mono-project.com/Gendarme

¤Clocksharp : Le TICS Basique pour C# vérifie plus de 100 règles de programmation, il représente un sous ensemble des règles Code Analysis, il est gratuit pour une période d’évaluation d’un mois, la license coûte 985€, disponible sur le lien suivant : http://www.tiobe.com/index.php/content/products/clocksharp/ClockSharp.html

¤Smokey : il est similaire à Fx Cop ou Gendarme, lui aussi est basé sur Mono.Cecil, il est téléchargable gratuitement à l’adresse suivante : http://code.google.com/p/smokey/ 

  • Vérification du style

¤Style Cop : un outil Microsoft gratuit disponible àl’adrsesse suivante : http://archive.msdn.microsoft.com/sourceanalysis

¤Agent Smith : représente le bloc de règles intégrées à Resharper, il est disponible à l’adresse suivante : http://agent-smith-resharper-plugin.software.informer.com/

Remarque : Les outils tels  CodeItRight et Reshaper interviennent sur les deux sujets cités précédement.

  • Générateurs de métriques qualitatives

¤Code metric : représente un module complémentaire à Visual Studio, est disponible gratuitement l’adresse suivante : http://reflectoraddins.codeplex.com/wikipage?title=CodeMetrics&referringTitle=Home

¤Reflector : Connu par tout le monde

¤NDepend : un outil permettant de générer des métriques telles index de maintenance, complexité cyclomatique etc. il apporte une vue macroscopique d’une solution, disponible à l’adresse suivante : http://www.ndepend.com/, vous disposez d’une version d’évaluation de 14 jours, les infos tarifaires sont disponibles à l’adresse suivante : http://www.ndepend.com/Purchase.aspx

¤Nitriq : un outil gratuit disponible à l’adresse suivante : http://www.nitriq.com/, il dispose d’un aspect visuel assez sympa (Treemap Results, Interact with Results etc.).

¤RSM Squared : représente un sous ensemble de Code Source Analysis, il est gratuit et dispoinible à l’adresse suivante : http://msquaredtechnologies.com/Installation.html

¤Source Editor : il est gratuit et disponible à l’adresse suivante : http://www.campwoodsw.com/sourcemonitor.html 

  • Détection de duplication

¤Simian : L’analyseur détecte de la duplication de code sur un ensemble important de langages, il est diponible gratuitement à l’adresse suivante :  http://www.harukizaemon.com/simian/index.html

¤CloneDR :  paramétré pour identifier les correspondances exactes ou évités de justesse à portée déterminable de différence, vous disposer de 60 jours d’évaluation gratuite, il est disponible à l’adresse suivante : http://www.semanticdesigns.com/Products/CloneDR/

¤Clone Detective : il est intégré comme complément à Visual Studio,  disponible gratuitement à l’adresse suivante : http://clonedetectivevs.codeplex.com/

¤Atomiq : il est disponible gratuitement à l’adresse suivante : http://www.getatomiq.com/

3 Comments

Filed under Application Lifcycle Management

Contribute ALM on forums – First contributor last 30 days on TFS Tag


Ci-dessous quelques contributions ALM – TFS sur lesquelles je suis intervenu, si elles peuvent vous apporter des réponses à quelques unes de vos questions, le Forum stackoverflow, en particulier le Tag TFS est assez réactif !!!!

First Contributor for last 30 days on TFS Tag (Novembre 2013)

Untitled

GC.Collect

2 Comments

Filed under Stackoverflow

2014 Direction les Techs Ed Microsoft


Du 12 au 15 mai 2014 direction les Techs Ed Microsoft, des conférences pendant lesquelles on peut intéragir avec les membres de la communeauté sur les pratiques et les produits utilisés dans le monde de l’entreprise etc.

TechEd2014

2 Comments

Filed under Tech Ed

Work Item Charting TFS 2013


Un nouveau type arrive dans la famille des éléments de travail, il s’agit un élément graphique, ayant comme objectif de faciliter la consultation de résultats dédiés à l’exécution d’une requête WIQL, noter qu’un Work Item Charting peut avoir différents rendus spécifiques tels :

> Pie : Représente un rendu sous forme d’un camembert
> Bar : Représente un rendu sous forme de barre de progression
> Column : Représente un rendu sous forme d’histogramme
> Stacked Bar : Représente un rendu sous forme de barre de progression personnalisée selon les faits soulignés
> Pivot Table : Représente un rendu sous forme de table croisée.

Ci-dessous les étapes vous permettant de créer un Work Item Charting.

1. Commencer par créer une requête WIQL.

2. Sélectionner la section Charts correspondante à la requête exécutée.

Capture

3. Cliquer su le lien New chart

4. Vous pouvez configurer le rendu de votre chart

Configure

5. Ci-dessous les différents rendus

Rendu

 

GC.Collect

 

Leave a comment

Filed under Uncategorized, Work Item Charting

Power Tools 2013 TFS


Autours de la plateforme Team Foundation Server gravite des briques techniques d’extensibilité, celles-ci sont développée en utilisation les APIs Microsoft.TeamFoundation, les plus utilisées  sont regroupées au sein de la gamme Power Tool, a chaque évolution apportée à la plateforme ALM, cette gamme est mise à jour.

Elles permettent de faciliter les développements et de réaliser des gains de productivité considérables pendant le déroulement d’un projet. par exemple suite au déploiement de votre serveur vous pouvez vous assurer de la mise en place des bonnes pratique en utilisant la brique « Best Practices Analyzer », pour la gestion du code source au sein du Source Control TFS «Check-in policies » valide les différents archivages du code en respectant certaine normes éditées, dans le cadre de la communication et l’édition des éléments de travail « Process Template Editor » vous permet de personnaliser par exemple un template de WorkItem en ajoutant des champs dédiés à une gestion spécifique, « Team Foundation Power Tool Command Line » vous permet d’exécuter des opérations sur le serveur sans se servir de l’interface graphique,  pour éviter des lenteurs dues principalement à un volume de données stockées qui augmente de manière exponentielle «Test Attachment Cleaner » vous sert à supprimer les données non utilisées sur un serveur, souvent il s’agit des données de diagnostic relatives à des plans de  test, qui n’ont plus intérêt a exister a la fin de l’exécution du plan, etc.

Power Tool 2013 est disponible à cette adresse : http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f

 GC.Collect

Leave a comment

Filed under Power Tools 2013, TFS Tools