Posts made in février, 2020

Release d’une librairie au file de l’eau pour jenkins et maven

En ce moment je suis sur des problèmatiques de release avec mon projet maven. Je voudrais que mon job jenkins soit capable de releaser automatiquement une version et mettre à jour les projets qui l’utilise comme dépendance. Pour cela il y a deux petites commandes cli très utile. Mais d’abord, étudions comment structurer sont pom.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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion> <groupId>com.wps.invoicing</groupId><artifactId>mp-invoicing</artifactId><version>6.1.1-SNAPSHOT</version><packaging>jar</packaging> <name>Marketplace Invoicing</name><url>http://maven.apache.org</url> <properties><majeur.version>6.1</artemis.version><patch.version>1</patch.version> </properties> </project> Ici, la version majeur est variabilité et ne seras changé que sur les branches de releases. Par contre, la version patch va être incrémenter programmatiquement via le JenkinsFile.   Première commande, mettre le projet en version définitive : Shell mvn versions:set -DnewVersion='${majeur.version}.${patch.version}' 1 mvn versions:set -DnewVersion='${majeur.version}.${patch.version}' puis commiter les changements Shell mvn versions:commit 12 mvn versions:commit  Ensuite, il faut deploy la version sur nexus. Maintenant que notre version N a été publier, il ne reste plus qu’a incrémenter la version patch. Shell def pom = readMavenPom file: 'pom.xml' def incrementMinor = pom.properties['patch.version'].toInteger() +1 123 def pom = readMavenPom file: 'pom.xml'def incrementMinor = pom.properties['patch.version'].toInteger() +1  Ensuite, il faut updater la propriété (toujours dans le jenkinsFile) Shell bat "mvn versions:set-property -Dproperty=patch.version -DnewVersion=${incrementMinor}" bat "mvn versions:commit" 12 bat "mvn versions:set-property -Dproperty=patch.version -DnewVersion=${incrementMinor}"bat "mvn versions:commit" Puis créer la nouvelle version snapshot, commit et deploy pour que tous les nouveaux projet l’ai Shell mvn versions:set -DnewVersion='${majeur.version}.${patch.version}-SNAPSHOT' </code><br /><code>mvn versions:commit </code><br /><code>mvn deploy 123 mvn versions:set -DnewVersion='${majeur.version}.${patch.version}-SNAPSHOT'</code><br /><code>mvn versions:commit</code><br /><code>mvn...

Read More

Jasper Report – Ajouter une interligne dans un tableau

Le but est de pouvoir ajouter une interligne dans un tableau. Cela peut-ête très utile, par exemple lors d’une facture et que l’on voudrais pouvoir préciser la taxe.   Pour ce faire, il faut faire des groupes dans le tableau. Don un group footer (qu’on va appeler « Group1 » car on a beaucoup d’imagination). A l’intérieur de ce groupe, on va ajouter un texteField (qui s’appel ici compléments). A ce stade, lorsque vous allez générer le pdf, la ligne sera afficher uniquement tout en bas du tableau, comme un footer.   Et c’est ici que réside l’astuce, il faut définir le group1 comme étant la concaténation de tous les champs de la colonne. Ainsi, chaque nouvelle ligne sera considéré comme un nouveau group et l’interligne sera répété. En bonus, je vous met la définition du groupe de donnée (subDataSet) . Shell &lt;subDataset name="FACTURE_LIGNE_DETAIL" uuid="d6f6b8e3-dd07-442d-a637-1f0536066d26"&gt;<br />&lt;parameter name="PIECE" class="com.fdilogbox.artemis.jreport.bean.marketplace.StandardReportParam"/&gt;<br />&lt;field name="reference" class="java.lang.String"/&gt;<br />&lt;field name="description" class="java.lang.String"/&gt;<br />&lt;field name="quantite" class="java.lang.String"/&gt;<br />&lt;field name="unitOfMeasure" class="java.lang.String"/&gt;<br />&lt;field name="prixUnitaireHT" class="java.lang.String"/&gt;<br />&lt;field name="montantTotalHT" class="java.lang.String"/&gt;<br />&lt;field name="tauxTaxe" class="java.lang.String"/&gt;<br />&lt;field name="complements" class="java.lang.String"/&gt;<br />&lt;group name="Group1"&gt;<br />&lt;groupExpression&gt;&lt;![CDATA[$F{reference}+$F{description}+$F{quantite}+$F{unitOfMeasure}+$F{prixUnitaireHT}+$F{montantTotalHT}+$F{tauxTaxe}+$F{complements}]]&gt;&lt;/groupExpression&gt;<br />&lt;/group&gt;<br />&lt;/subDataset&gt; 1 &lt;subDataset name="FACTURE_LIGNE_DETAIL" uuid="d6f6b8e3-dd07-442d-a637-1f0536066d26"&gt;<br />&lt;parameter name="PIECE" class="com.fdilogbox.artemis.jreport.bean.marketplace.StandardReportParam"/&gt;<br />&lt;field name="reference" class="java.lang.String"/&gt;<br />&lt;field name="description" class="java.lang.String"/&gt;<br />&lt;field name="quantite" class="java.lang.String"/&gt;<br />&lt;field name="unitOfMeasure" class="java.lang.String"/&gt;<br />&lt;field name="prixUnitaireHT" class="java.lang.String"/&gt;<br />&lt;field name="montantTotalHT" class="java.lang.String"/&gt;<br />&lt;field name="tauxTaxe" class="java.lang.String"/&gt;<br />&lt;field name="complements" class="java.lang.String"/&gt;<br />&lt;group name="Group1"&gt;<br />&lt;groupExpression&gt;&lt;![CDATA[$F{reference}+$F{description}+$F{quantite}+$F{unitOfMeasure}+$F{prixUnitaireHT}+$F{montantTotalHT}+$F{tauxTaxe}+$F{complements}]]&gt;&lt;/groupExpression&gt;<br />&lt;/group&gt;<br />&lt;/subDataset&gt;...

Read More