Added: 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/jacoco.xml
==============================================================================
--- 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/jacoco.xml
 (added)
+++ 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/jacoco.xml
 Tue Sep  3 16:39:49 2024
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC 
"-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="Apache Maven 
Jarsigner Plugin"><sessioninfo id="POLPC-G026X5NXVR-f606340f" 
start="1725381390107" dump="1725381391108"/><package 
name="org/apache/maven/plugins/jarsigner"><class 
name="org/apache/maven/plugins/jarsigner/TsaSelector" 
sourcefilename="TsaSelector.java"><method name="&lt;init&gt;" 
desc="([Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V"
 line="57"><counter type="INSTRUCTION" missed="0" covered="75"/><counter 
type="BRANCH" missed="0" covered="10"/><counter type="LINE" missed="0" 
covered="12"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="getServer" 
desc="()Lorg/apache/maven/plugins/jarsigner/TsaSelector$TsaServer;" 
line="85"><counter type="INSTRUCTION" missed="0" covered="38"/><counter 
type="BRANCH" missed="0" covered="4"/><counter type
 ="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" 
covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="registerFailure" desc="()V" line="102"><counter type="INSTRUCTION" 
missed="0" covered="12"/><counter type="BRANCH" missed="0" 
covered="2"/><counter type="LINE" missed="0" covered="3"/><counter 
type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" 
covered="1"/></method><counter type="INSTRUCTION" missed="0" 
covered="125"/><counter type="BRANCH" missed="0" covered="16"/><counter 
type="LINE" missed="0" covered="21"/><counter type="COMPLEXITY" missed="0" 
covered="11"/><counter type="METHOD" missed="0" covered="3"/><counter 
type="CLASS" missed="0" covered="1"/></class><class 
name="org/apache/maven/plugins/jarsigner/AbstractJarsignerMojo" 
sourcefilename="AbstractJarsignerMojo.java"><method name="&lt;init&gt;" 
desc="()V" line="58"><counter type="INSTRUCTION" missed="0" 
covered="15"/><counter type="LINE" missed="0" cov
 ered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="execute" 
desc="()V" line="270"><counter type="INSTRUCTION" missed="0" 
covered="55"/><counter type="BRANCH" missed="0" covered="4"/><counter 
type="LINE" missed="0" covered="12"/><counter type="COMPLEXITY" missed="0" 
covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="findJarfiles" desc="()Ljava/util/List;" line="295"><counter 
type="INSTRUCTION" missed="17" covered="149"/><counter type="BRANCH" missed="2" 
covered="24"/><counter type="LINE" missed="2" covered="29"/><counter 
type="COMPLEXITY" missed="2" covered="12"/><counter type="METHOD" missed="0" 
covered="1"/></method><method name="getCommandlineInfo" 
desc="(Lorg/apache/maven/shared/utils/cli/Commandline;)Ljava/lang/String;" 
line="370"><counter type="INSTRUCTION" missed="5" covered="13"/><counter 
type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered=
 "4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" 
missed="0" covered="1"/></method><method name="getStoretype" 
desc="()Ljava/lang/String;" line="380"><counter type="INSTRUCTION" missed="3" 
covered="0"/><counter type="LINE" missed="1" covered="0"/><counter 
type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" 
covered="0"/></method><method name="getStorepass" desc="()Ljava/lang/String;" 
line="384"><counter type="INSTRUCTION" missed="3" covered="0"/><counter 
type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" 
covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method 
name="isZipFile" desc="(Lorg/apache/maven/artifact/Artifact;)Z" 
line="394"><counter type="INSTRUCTION" missed="0" covered="13"/><counter 
type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="0" 
covered="1"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter 
type="METHOD" missed="0" covered="1"/></method><method 
 name="getFileFromArtifact" 
desc="(Lorg/apache/maven/artifact/Artifact;)Ljava/util/Optional;" 
line="405"><counter type="INSTRUCTION" missed="5" covered="43"/><counter 
type="BRANCH" missed="1" covered="7"/><counter type="LINE" missed="1" 
covered="8"/><counter type="COMPLEXITY" missed="1" covered="4"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="preProcessArchive" 
desc="(Ljava/io/File;)V" line="429"><counter type="INSTRUCTION" missed="0" 
covered="1"/><counter type="LINE" missed="0" covered="1"/><counter 
type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" 
covered="1"/></method><method name="validateParameters" desc="()V" 
line="438"><counter type="INSTRUCTION" missed="0" covered="1"/><counter 
type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="processArchives" desc="(Ljava/util/List;)V" line="447"><counter 
type="INSTRUCTION" missed="0" 
 covered="15"/><counter type="BRANCH" missed="0" covered="2"/><counter 
type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" 
covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="processArchive" desc="(Ljava/io/File;)V" line="460"><counter 
type="INSTRUCTION" missed="143" covered="178"/><counter type="BRANCH" 
missed="12" covered="14"/><counter type="LINE" missed="22" 
covered="37"/><counter type="COMPLEXITY" missed="8" covered="6"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="decrypt" 
desc="(Ljava/lang/String;)Ljava/lang/String;" line="561"><counter 
type="INSTRUCTION" missed="28" covered="5"/><counter type="LINE" missed="3" 
covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="getMessage" 
desc="(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;" 
line="580"><counter type="INSTRUCTION" missed="5" covered="12"/><counter 
type="BRAN
 CH" missed="1" covered="1"/><counter type="LINE" missed="1" 
covered="2"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="getToolchain" 
desc="()Lorg/apache/maven/toolchain/Toolchain;" line="595"><counter 
type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" 
covered="2"/><counter type="LINE" missed="0" covered="4"/><counter 
type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" 
covered="1"/></method><counter type="INSTRUCTION" missed="209" 
covered="514"/><counter type="BRANCH" missed="19" covered="59"/><counter 
type="LINE" missed="32" covered="107"/><counter type="COMPLEXITY" missed="17" 
covered="37"/><counter type="METHOD" missed="2" covered="13"/><counter 
type="CLASS" missed="0" covered="1"/></class><class 
name="org/apache/maven/plugins/jarsigner/JarsignerSignMojo$WaitStrategy" 
sourcefilename="JarsignerSignMojo.java"/><class 
name="org/apache/maven/plugins/jarsigner/J
 arsignerSignMojo$Sleeper" sourcefilename="JarsignerSignMojo.java"/><class 
name="org/apache/maven/plugins/jarsigner/JarsignerVerifyMojo" 
sourcefilename="JarsignerVerifyMojo.java"><method name="&lt;init&gt;" 
desc="()V" line="42"><counter type="INSTRUCTION" missed="0" 
covered="3"/><counter type="LINE" missed="0" covered="1"/><counter 
type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" 
covered="1"/></method><method name="createRequest" 
desc="(Ljava/io/File;)Lorg/apache/maven/shared/jarsigner/JarSignerRequest;" 
line="66"><counter type="INSTRUCTION" missed="0" covered="10"/><counter 
type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="preProcessArchive" desc="(Ljava/io/File;)V" line="73"><counter 
type="INSTRUCTION" missed="19" covered="26"/><counter type="BRANCH" missed="0" 
covered="4"/><counter type="LINE" missed="3" covered="7"/><counter 
type="COMPLEXITY" misse
 d="0" covered="3"/><counter type="METHOD" missed="0" 
covered="1"/></method><method name="executeJarSigner" 
desc="(Lorg/apache/maven/shared/jarsigner/JarSigner;Lorg/apache/maven/shared/jarsigner/JarSignerRequest;)V"
 line="97"><counter type="INSTRUCTION" missed="0" covered="31"/><counter 
type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" 
covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter 
type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" 
missed="19" covered="70"/><counter type="BRANCH" missed="0" 
covered="6"/><counter type="LINE" missed="3" covered="17"/><counter 
type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" 
covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class 
name="org/apache/maven/plugins/jarsigner/JarsignerSignMojo" 
sourcefilename="JarsignerSignMojo.java"><method name="&lt;init&gt;" desc="()V" 
line="53"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type
 ="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="getCommandlineInfo" 
desc="(Lorg/apache/maven/shared/utils/cli/Commandline;)Ljava/lang/String;" 
line="230"><counter type="INSTRUCTION" missed="1" covered="16"/><counter 
type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" 
covered="4"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="preProcessArchive" 
desc="(Ljava/io/File;)V" line="241"><counter type="INSTRUCTION" missed="19" 
covered="7"/><counter type="BRANCH" missed="0" covered="2"/><counter 
type="LINE" missed="2" covered="4"/><counter type="COMPLEXITY" missed="0" 
covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="validateParameters" desc="()V" line="252"><counter type="INSTRUCTION" 
missed="0" covered="185"/><counter type="BRANCH" missed="1" 
covered="21"/><counte
 r type="LINE" missed="0" covered="20"/><counter type="COMPLEXITY" missed="1" 
covered="11"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="createRequest" 
desc="(Ljava/io/File;)Lorg/apache/maven/shared/jarsigner/JarSignerRequest;" 
line="289"><counter type="INSTRUCTION" missed="0" covered="26"/><counter 
type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="updateJarSignerRequestWithTsa" 
desc="(Lorg/apache/maven/shared/jarsigner/JarSignerSignRequest;Lorg/apache/maven/plugins/jarsigner/TsaSelector$TsaServer;)V"
 line="301"><counter type="INSTRUCTION" missed="0" covered="17"/><counter 
type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="processArchives" desc="(Ljava/util/List;)V" line="312"><counter 
type="INSTRUCTION" missed="15" covered="41"/><counter type="BRANC
 H" missed="1" covered="3"/><counter type="LINE" missed="4" 
covered="12"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="executeJarSigner" 
desc="(Lorg/apache/maven/shared/jarsigner/JarSigner;Lorg/apache/maven/shared/jarsigner/JarSignerRequest;)V"
 line="347"><counter type="INSTRUCTION" missed="1" covered="64"/><counter 
type="BRANCH" missed="1" covered="5"/><counter type="LINE" missed="1" 
covered="11"/><counter type="COMPLEXITY" missed="1" covered="3"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="setWaitStrategy" 
desc="(Lorg/apache/maven/plugins/jarsigner/JarsignerSignMojo$WaitStrategy;)V" 
line="368"><counter type="INSTRUCTION" missed="0" covered="4"/><counter 
type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="defaultWaitStrategy" desc="(ILjava/time/Duration;)V" line="386"><counter 
ty
 pe="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" 
covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="waitAfterFailure" 
desc="(ILjava/time/Duration;Lorg/apache/maven/plugins/jarsigner/JarsignerSignMojo$Sleeper;)V"
 line="398"><counter type="INSTRUCTION" missed="0" covered="53"/><counter 
type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" 
covered="11"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter 
type="METHOD" missed="0" covered="1"/></method><method 
name="lambda$processArchives$1" 
desc="(Ljava/util/concurrent/ExecutorService;Ljava/io/File;)Ljava/util/concurrent/Future;"
 line="314"><counter type="INSTRUCTION" missed="0" covered="6"/><counter 
type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="lambda$processArchives$0" desc="(Ljava/io/File;)Ljava/
 lang/Void;" line="315"><counter type="INSTRUCTION" missed="0" 
covered="5"/><counter type="LINE" missed="0" covered="2"/><counter 
type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" 
covered="1"/></method><counter type="INSTRUCTION" missed="36" 
covered="437"/><counter type="BRANCH" missed="5" covered="35"/><counter 
type="LINE" missed="7" covered="81"/><counter type="COMPLEXITY" missed="5" 
covered="28"/><counter type="METHOD" missed="0" covered="13"/><counter 
type="CLASS" missed="0" covered="1"/></class><class 
name="org/apache/maven/plugins/jarsigner/TsaSelector$TsaServer" 
sourcefilename="TsaSelector.java"><method name="&lt;init&gt;" 
desc="(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"
 line="111"><counter type="INSTRUCTION" missed="0" covered="21"/><counter 
type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="getTsaUrl" desc="()Lj
 ava/lang/String;" line="125"><counter type="INSTRUCTION" missed="0" 
covered="3"/><counter type="LINE" missed="0" covered="1"/><counter 
type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" 
covered="1"/></method><method name="getTsaAlias" desc="()Ljava/lang/String;" 
line="129"><counter type="INSTRUCTION" missed="0" covered="3"/><counter 
type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" 
covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method 
name="getTsaPolicyId" desc="()Ljava/lang/String;" line="133"><counter 
type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" 
covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter 
type="METHOD" missed="0" covered="1"/></method><method name="getTsaDigestAlt" 
desc="()Ljava/lang/String;" line="137"><counter type="INSTRUCTION" missed="0" 
covered="3"/><counter type="LINE" missed="0" covered="1"/><counter 
type="COMPLEXITY" missed="0" covered="1"/><co
 unter type="METHOD" missed="0" covered="1"/></method><method 
name="&lt;clinit&gt;" desc="()V" line="109"><counter type="INSTRUCTION" 
missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter 
type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" 
covered="1"/></method><counter type="INSTRUCTION" missed="0" 
covered="42"/><counter type="LINE" missed="0" covered="12"/><counter 
type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" 
covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile 
name="AbstractJarsignerMojo.java"><line nr="58" mi="0" ci="2" mb="0" 
cb="0"/><line nr="136" mi="0" ci="8" mb="0" cb="0"/><line nr="145" mi="0" 
ci="5" mb="0" cb="0"/><line nr="270" mi="0" ci="3" mb="0" cb="2"/><line 
nr="271" mi="0" ci="8" mb="0" cb="0"/><line nr="272" mi="0" ci="1" mb="0" 
cb="0"/><line nr="275" mi="0" ci="2" mb="0" cb="0"/><line nr="277" mi="0" 
ci="3" mb="0" cb="0"/><line nr="278" mi="0" ci="2" mb="0" cb="
 2"/><line nr="279" mi="0" ci="11" mb="0" cb="0"/><line nr="280" mi="0" ci="4" 
mb="0" cb="0"/><line nr="283" mi="0" ci="3" mb="0" cb="0"/><line nr="284" 
mi="0" ci="3" mb="0" cb="0"/><line nr="285" mi="0" ci="14" mb="0" cb="0"/><line 
nr="286" mi="0" ci="1" mb="0" cb="0"/><line nr="295" mi="0" ci="3" mb="0" 
cb="2"/><line nr="297" mi="0" ci="9" mb="0" cb="0"/><line nr="300" mi="0" 
ci="4" mb="0" cb="0"/><line nr="301" mi="0" ci="3" mb="0" cb="2"/><line 
nr="302" mi="0" ci="11" mb="0" cb="0"/><line nr="305" mi="0" ci="3" mb="0" 
cb="2"/><line nr="306" mi="0" ci="4" mb="0" cb="0"/><line nr="307" mi="0" 
ci="3" mb="0" cb="2"/><line nr="308" mi="0" ci="6" mb="0" cb="0"/><line 
nr="311" mi="0" ci="4" mb="0" cb="0"/><line nr="312" mi="0" ci="3" mb="0" 
cb="2"/><line nr="313" mi="0" ci="6" mb="0" cb="0"/><line nr="316" mi="0" 
ci="12" mb="0" cb="2"/><line nr="317" mi="0" ci="8" mb="0" cb="4"/><line 
nr="318" mi="0" ci="1" mb="0" cb="0"/><line nr="321" mi="0" ci="5" mb="0" 
cb="2"/><line nr="322" mi="0"
  ci="1" mb="0" cb="0"/><line nr="325" mi="0" ci="9" mb="0" cb="0"/><line 
nr="326" mi="0" ci="1" mb="0" cb="0"/><line nr="327" mi="0" ci="1" mb="0" 
cb="0"/><line nr="328" mi="0" ci="3" mb="0" cb="2"/><line nr="329" mi="0" 
ci="9" mb="0" cb="0"/><line nr="331" mi="0" ci="8" mb="0" cb="0"/><line 
nr="335" mi="0" ci="3" mb="0" cb="2"/><line nr="336" mi="1" ci="9" mb="1" 
cb="1"/><line nr="337" mi="1" ci="9" mb="1" cb="1"/><line nr="340" mi="0" 
ci="8" mb="0" cb="0"/><line nr="341" mi="1" ci="0" mb="0" cb="0"/><line 
nr="342" mi="14" ci="0" mb="0" cb="0"/><line nr="343" mi="0" ci="1" mb="0" 
cb="0"/><line nr="346" mi="0" ci="2" mb="0" cb="0"/><line nr="370" mi="0" 
ci="2" mb="1" cb="1"/><line nr="371" mi="5" ci="0" mb="0" cb="0"/><line 
nr="374" mi="0" ci="3" mb="0" cb="0"/><line nr="375" mi="0" ci="6" mb="0" 
cb="0"/><line nr="376" mi="0" ci="2" mb="0" cb="0"/><line nr="380" mi="3" 
ci="0" mb="0" cb="0"/><line nr="384" mi="3" ci="0" mb="0" cb="0"/><line 
nr="394" mi="0" ci="13" mb="2" cb="4"/><lin
 e nr="405" mi="0" ci="2" mb="1" cb="1"/><line nr="406" mi="5" ci="0" mb="0" 
cb="0"/><line nr="409" mi="0" ci="3" mb="0" cb="2"/><line nr="410" mi="0" 
ci="4" mb="0" cb="0"/><line nr="413" mi="0" ci="3" mb="0" cb="2"/><line 
nr="414" mi="0" ci="13" mb="0" cb="0"/><line nr="415" mi="0" ci="4" mb="0" 
cb="2"/><line nr="416" mi="0" ci="12" mb="0" cb="0"/><line nr="418" mi="0" 
ci="2" mb="0" cb="0"/><line nr="429" mi="0" ci="1" mb="0" cb="0"/><line 
nr="438" mi="0" ci="1" mb="0" cb="0"/><line nr="447" mi="0" ci="10" mb="0" 
cb="2"/><line nr="448" mi="0" ci="3" mb="0" cb="0"/><line nr="449" mi="0" 
ci="1" mb="0" cb="0"/><line nr="450" mi="0" ci="1" mb="0" cb="0"/><line 
nr="460" mi="0" ci="2" mb="1" cb="1"/><line nr="461" mi="5" ci="0" mb="0" 
cb="0"/><line nr="464" mi="0" ci="3" mb="0" cb="0"/><line nr="466" mi="0" 
ci="3" mb="0" cb="2"/><line nr="467" mi="0" ci="13" mb="0" cb="0"/><line 
nr="468" mi="0" ci="4" mb="0" cb="2"/><line nr="469" mi="0" ci="12" mb="0" 
cb="0"/><line nr="472" mi="0" ci="4"
  mb="0" cb="0"/><line nr="473" mi="0" ci="4" mb="0" cb="0"/><line nr="474" 
mi="0" ci="4" mb="0" cb="0"/><line nr="475" mi="0" ci="3" mb="0" cb="0"/><line 
nr="476" mi="0" ci="4" mb="0" cb="0"/><line nr="477" mi="0" ci="4" mb="0" 
cb="0"/><line nr="478" mi="0" ci="4" mb="0" cb="0"/><line nr="479" mi="0" 
ci="4" mb="0" cb="0"/><line nr="480" mi="0" ci="4" mb="0" cb="0"/><line 
nr="481" mi="0" ci="4" mb="0" cb="0"/><line nr="482" mi="0" ci="4" mb="0" 
cb="0"/><line nr="483" mi="0" ci="4" mb="0" cb="0"/><line nr="486" mi="0" 
ci="4" mb="0" cb="0"/><line nr="488" mi="0" ci="2" mb="0" cb="0"/><line 
nr="490" mi="0" ci="3" mb="1" cb="1"/><line nr="491" mi="0" ci="17" mb="0" 
cb="2"/><line nr="492" mi="0" ci="5" mb="0" cb="2"/><line nr="493" mi="0" 
ci="2" mb="0" cb="0"/><line nr="496" mi="0" ci="4" mb="0" cb="0"/><line 
nr="500" mi="0" ci="2" mb="0" cb="2"/><line nr="501" mi="0" ci="11" mb="0" 
cb="0"/><line nr="505" mi="2" ci="3" mb="1" cb="1"/><line nr="506" mi="4" 
ci="0" mb="2" cb="0"/><line nr="5
 07" mi="4" ci="0" mb="2" cb="0"/><line nr="508" mi="10" ci="0" mb="0" 
cb="0"/><line nr="509" mi="4" ci="0" mb="0" cb="0"/><line nr="510" mi="10" 
ci="0" mb="0" cb="0"/><line nr="511" mi="4" ci="0" mb="0" cb="0"/><line 
nr="512" mi="10" ci="0" mb="0" cb="0"/><line nr="513" mi="4" ci="0" mb="0" 
cb="0"/><line nr="515" mi="5" ci="0" mb="2" cb="0"/><line nr="516" mi="10" 
ci="0" mb="0" cb="0"/><line nr="517" mi="4" ci="0" mb="0" cb="0"/><line 
nr="518" mi="10" ci="0" mb="0" cb="0"/><line nr="519" mi="4" ci="0" mb="0" 
cb="0"/><line nr="520" mi="10" ci="0" mb="0" cb="0"/><line nr="521" mi="4" 
ci="0" mb="0" cb="0"/><line nr="524" mi="6" ci="0" mb="2" cb="0"/><line 
nr="525" mi="10" ci="0" mb="0" cb="0"/><line nr="526" mi="6" ci="0" mb="0" 
cb="0"/><line nr="528" mi="10" ci="0" mb="0" cb="0"/><line nr="529" mi="6" 
ci="0" mb="0" cb="0"/><line nr="533" mi="0" ci="2" mb="0" cb="0"/><line 
nr="534" mi="0" ci="3" mb="1" cb="1"/><line nr="535" mi="0" ci="7" mb="0" 
cb="0"/><line nr="536" mi="1" ci="0" mb=
 "0" cb="0"/><line nr="539" mi="0" ci="6" mb="0" cb="0"/><line nr="542" mi="0" 
ci="5" mb="0" cb="0"/><line nr="543" mi="0" ci="1" mb="0" cb="0"/><line 
nr="544" mi="0" ci="15" mb="0" cb="0"/><line nr="545" mi="0" ci="1" mb="0" 
cb="0"/><line nr="546" mi="0" ci="1" mb="0" cb="0"/><line nr="561" mi="0" 
ci="5" mb="0" cb="0"/><line nr="562" mi="1" ci="0" mb="0" cb="0"/><line 
nr="563" mi="13" ci="0" mb="0" cb="0"/><line nr="564" mi="14" ci="0" mb="0" 
cb="0"/><line nr="580" mi="0" ci="2" mb="1" cb="1"/><line nr="581" mi="5" 
ci="0" mb="0" cb="0"/><line nr="584" mi="0" ci="10" mb="0" cb="0"/><line 
nr="595" mi="0" ci="2" mb="0" cb="0"/><line nr="596" mi="0" ci="3" mb="0" 
cb="2"/><line nr="597" mi="0" ci="7" mb="0" cb="0"/><line nr="600" mi="0" 
ci="2" mb="0" cb="0"/><counter type="INSTRUCTION" missed="209" 
covered="514"/><counter type="BRANCH" missed="19" covered="59"/><counter 
type="LINE" missed="32" covered="107"/><counter type="COMPLEXITY" missed="17" 
covered="37"/><counter type="METHOD" miss
 ed="2" covered="13"/><counter type="CLASS" missed="0" 
covered="1"/></sourcefile><sourcefile name="JarsignerSignMojo.java"><line 
nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="221" mi="0" ci="5" mb="0" 
cb="0"/><line nr="230" mi="1" ci="6" mb="1" cb="1"/><line nr="232" mi="0" 
ci="2" mb="1" cb="1"/><line nr="233" mi="0" ci="6" mb="0" cb="0"/><line 
nr="236" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="3" mb="0" 
cb="2"/><line nr="243" mi="0" ci="2" mb="0" cb="0"/><line nr="244" mi="1" 
ci="0" mb="0" cb="0"/><line nr="245" mi="18" ci="0" mb="0" cb="0"/><line 
nr="246" mi="0" ci="1" mb="0" cb="0"/><line nr="248" mi="0" ci="1" mb="0" 
cb="0"/><line nr="252" mi="0" ci="2" mb="0" cb="0"/><line nr="254" mi="0" 
ci="4" mb="0" cb="2"/><line nr="255" mi="0" ci="14" mb="0" cb="0"/><line 
nr="256" mi="0" ci="3" mb="0" cb="0"/><line nr="259" mi="0" ci="3" mb="0" 
cb="2"/><line nr="260" mi="0" ci="14" mb="0" cb="0"/><line nr="261" mi="0" 
ci="3" mb="0" cb="0"/><line nr="264" mi="0" ci="4" mb="0" c
 b="2"/><line nr="265" mi="0" ci="14" mb="0" cb="0"/><line nr="266" mi="0" 
ci="3" mb="0" cb="0"/><line nr="269" mi="0" ci="8" mb="0" cb="4"/><line 
nr="270" mi="0" ci="8" mb="0" cb="0"/><line nr="272" mi="0" ci="14" mb="1" 
cb="3"/><line nr="273" mi="0" ci="29" mb="0" cb="0"/><line nr="275" mi="0" 
ci="9" mb="0" cb="4"/><line nr="276" mi="0" ci="15" mb="0" cb="0"/><line 
nr="278" mi="0" ci="9" mb="0" cb="4"/><line nr="279" mi="0" ci="15" mb="0" 
cb="0"/><line nr="281" mi="0" ci="13" mb="0" cb="0"/><line nr="282" mi="0" 
ci="1" mb="0" cb="0"/><line nr="289" mi="0" ci="4" mb="0" cb="0"/><line 
nr="290" mi="0" ci="4" mb="0" cb="0"/><line nr="291" mi="0" ci="6" mb="0" 
cb="0"/><line nr="292" mi="0" ci="4" mb="0" cb="0"/><line nr="295" mi="0" 
ci="6" mb="0" cb="0"/><line nr="296" mi="0" ci="2" mb="0" cb="0"/><line 
nr="301" mi="0" ci="4" mb="0" cb="0"/><line nr="302" mi="0" ci="4" mb="0" 
cb="0"/><line nr="303" mi="0" ci="4" mb="0" cb="0"/><line nr="304" mi="0" 
ci="4" mb="0" cb="0"/><line nr="305" m
 i="0" ci="1" mb="0" cb="0"/><line nr="312" mi="0" ci="4" mb="0" cb="0"/><line 
nr="313" mi="0" ci="5" mb="0" cb="0"/><line nr="314" mi="0" ci="7" mb="0" 
cb="0"/><line nr="315" mi="0" ci="3" mb="0" cb="0"/><line nr="316" mi="0" 
ci="2" mb="0" cb="0"/><line nr="318" mi="0" ci="4" mb="0" cb="0"/><line 
nr="320" mi="0" ci="10" mb="0" cb="2"/><line nr="321" mi="0" ci="3" mb="0" 
cb="0"/><line nr="322" mi="0" ci="1" mb="0" cb="0"/><line nr="323" mi="1" 
ci="0" mb="0" cb="0"/><line nr="324" mi="2" ci="0" mb="0" cb="0"/><line 
nr="325" mi="6" ci="0" mb="0" cb="0"/><line nr="326" mi="0" ci="1" mb="0" 
cb="0"/><line nr="327" mi="0" ci="4" mb="1" cb="1"/><line nr="328" mi="0" 
ci="4" mb="0" cb="0"/><line nr="330" mi="6" ci="0" mb="0" cb="0"/><line 
nr="333" mi="0" ci="3" mb="0" cb="0"/><line nr="335" mi="0" ci="1" mb="0" 
cb="0"/><line nr="347" mi="0" ci="8" mb="1" cb="1"/><line nr="348" mi="0" 
ci="4" mb="0" cb="0"/><line nr="349" mi="0" ci="3" mb="0" cb="0"/><line 
nr="350" mi="0" ci="2" mb="0" cb="2"/>
 <line nr="351" mi="0" ci="1" mb="0" cb="0"/><line nr="353" mi="0" ci="3" 
mb="0" cb="0"/><line nr="355" mi="0" ci="6" mb="0" cb="2"/><line nr="356" 
mi="0" ci="8" mb="0" cb="0"/><line nr="357" mi="0" ci="8" mb="0" cb="0"/><line 
nr="360" mi="0" ci="10" mb="0" cb="0"/><line nr="361" mi="0" ci="11" mb="0" 
cb="0"/><line nr="364" mi="1" ci="0" mb="0" cb="0"/><line nr="368" mi="0" 
ci="3" mb="0" cb="0"/><line nr="369" mi="0" ci="1" mb="0" cb="0"/><line 
nr="386" mi="0" ci="5" mb="0" cb="0"/><line nr="387" mi="0" ci="1" mb="0" 
cb="0"/><line nr="398" mi="0" ci="4" mb="0" cb="0"/><line nr="399" mi="0" 
ci="11" mb="0" cb="0"/><line nr="400" mi="0" ci="5" mb="0" cb="0"/><line 
nr="401" mi="0" ci="4" mb="0" cb="2"/><line nr="402" mi="0" ci="15" mb="0" 
cb="0"/><line nr="404" mi="0" ci="3" mb="0" cb="0"/><line nr="405" mi="0" 
ci="1" mb="0" cb="0"/><line nr="406" mi="0" ci="2" mb="0" cb="0"/><line 
nr="407" mi="0" ci="6" mb="0" cb="0"/><line nr="408" mi="0" ci="1" mb="0" 
cb="0"/><line nr="410" mi="0" ci=
 "1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="36" 
covered="437"/><counter type="BRANCH" missed="5" covered="35"/><counter 
type="LINE" missed="7" covered="81"/><counter type="COMPLEXITY" missed="5" 
covered="28"/><counter type="METHOD" missed="0" covered="13"/><counter 
type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile 
name="TsaSelector.java"><line nr="57" mi="0" ci="5" mb="0" cb="0"/><line 
nr="62" mi="0" ci="2" mb="0" cb="0"/><line nr="63" mi="0" ci="4" mb="0" 
cb="0"/><line nr="65" mi="0" ci="11" mb="0" cb="2"/><line nr="66" mi="0" 
ci="10" mb="0" cb="2"/><line nr="67" mi="0" ci="10" mb="0" cb="2"/><line 
nr="68" mi="0" ci="10" mb="0" cb="2"/><line nr="69" mi="0" ci="11" mb="0" 
cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="2"/><line nr="73" mi="0" ci="4" 
mb="0" cb="0"/><line nr="75" mi="0" ci="4" mb="0" cb="0"/><line nr="76" mi="0" 
ci="1" mb="0" cb="0"/><line nr="85" mi="0" ci="6" mb="0" cb="0"/><line nr="86" 
mi="0" ci="9" mb="0" cb="2"/><line nr="87" mi="0" ci="11
 " mb="0" cb="2"/><line nr="88" mi="0" ci="6" mb="0" cb="0"/><line nr="91" 
mi="0" ci="4" mb="0" cb="0"/><line nr="92" mi="0" ci="2" mb="0" cb="0"/><line 
nr="102" mi="0" ci="4" mb="0" cb="2"/><line nr="103" mi="0" ci="7" mb="0" 
cb="0"/><line nr="105" mi="0" ci="1" mb="0" cb="0"/><line nr="109" mi="0" 
ci="9" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><line 
nr="117" mi="0" ci="2" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" 
cb="0"/><line nr="119" mi="0" ci="3" mb="0" cb="0"/><line nr="120" mi="0" 
ci="3" mb="0" cb="0"/><line nr="121" mi="0" ci="3" mb="0" cb="0"/><line 
nr="122" mi="0" ci="1" mb="0" cb="0"/><line nr="125" mi="0" ci="3" mb="0" 
cb="0"/><line nr="129" mi="0" ci="3" mb="0" cb="0"/><line nr="133" mi="0" 
ci="3" mb="0" cb="0"/><line nr="137" mi="0" ci="3" mb="0" cb="0"/><counter 
type="INSTRUCTION" missed="0" covered="167"/><counter type="BRANCH" missed="0" 
covered="16"/><counter type="LINE" missed="0" covered="33"/><counter 
type="COMPLEXITY" missed="0" cover
 ed="17"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" 
missed="0" covered="2"/></sourcefile><sourcefile 
name="JarsignerVerifyMojo.java"><line nr="42" mi="0" ci="3" mb="0" 
cb="0"/><line nr="66" mi="0" ci="4" mb="0" cb="0"/><line nr="67" mi="0" ci="4" 
mb="0" cb="0"/><line nr="68" mi="0" ci="2" mb="0" cb="0"/><line nr="73" mi="0" 
ci="3" mb="0" cb="0"/><line nr="75" mi="0" ci="3" mb="0" cb="2"/><line nr="80" 
mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="1" ci="0" mb="0" cb="0"/><line 
nr="82" mi="12" ci="0" mb="0" cb="0"/><line nr="83" mi="6" ci="0" mb="0" 
cb="0"/><line nr="84" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="2" 
mb="0" cb="2"/><line nr="89" mi="0" ci="13" mb="0" cb="0"/><line nr="92" mi="0" 
ci="1" mb="0" cb="0"/><line nr="97" mi="0" ci="4" mb="0" cb="0"/><line nr="98" 
mi="0" ci="3" mb="0" cb="0"/><line nr="99" mi="0" ci="2" mb="0" cb="2"/><line 
nr="100" mi="0" ci="10" mb="0" cb="0"/><line nr="101" mi="0" ci="11" mb="0" 
cb="0"/><line nr="103" 
 mi="0" ci="1" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" 
covered="70"/><counter type="BRANCH" missed="0" covered="6"/><counter 
type="LINE" missed="3" covered="17"/><counter type="COMPLEXITY" missed="0" 
covered="7"/><counter type="METHOD" missed="0" covered="4"/><counter 
type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" 
missed="264" covered="1188"/><counter type="BRANCH" missed="24" 
covered="116"/><counter type="LINE" missed="42" covered="238"/><counter 
type="COMPLEXITY" missed="22" covered="89"/><counter type="METHOD" missed="2" 
covered="39"/><counter type="CLASS" missed="0" covered="5"/></package><package 
name="org/apache/maven/plugins/maven_jarsigner_plugin"><class 
name="org/apache/maven/plugins/maven_jarsigner_plugin/HelpMojo" 
sourcefilename="HelpMojo.java"><method name="&lt;init&gt;" desc="()V" 
line="28"><counter type="INSTRUCTION" missed="3" covered="0"/><counter 
type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" co
 vered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method 
name="build" desc="()Lorg/w3c/dom/Document;" line="68"><counter 
type="INSTRUCTION" missed="51" covered="0"/><counter type="BRANCH" missed="2" 
covered="0"/><counter type="LINE" missed="13" covered="0"/><counter 
type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" 
covered="0"/></method><method name="execute" desc="()V" line="100"><counter 
type="INSTRUCTION" missed="178" covered="0"/><counter type="BRANCH" missed="20" 
covered="0"/><counter type="LINE" missed="31" covered="0"/><counter 
type="COMPLEXITY" missed="11" covered="0"/><counter type="METHOD" missed="1" 
covered="0"/></method><method name="isNotEmpty" desc="(Ljava/lang/String;)Z" 
line="165"><counter type="INSTRUCTION" missed="9" covered="0"/><counter 
type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="1" 
covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter 
type="METHOD" missed="1" covered="0"/></met
 hod><method name="getValue" 
desc="(Lorg/w3c/dom/Node;Ljava/lang/String;)Ljava/lang/String;" 
line="171"><counter type="INSTRUCTION" missed="5" covered="0"/><counter 
type="LINE" missed="1" covered="0"/><counter type="COMPLEXITY" missed="1" 
covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method 
name="getSingleChild" 
desc="(Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Node;" 
line="177"><counter type="INSTRUCTION" missed="44" covered="0"/><counter 
type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="6" 
covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter 
type="METHOD" missed="1" covered="0"/></method><method name="findNamedChild" 
desc="(Lorg/w3c/dom/Node;Ljava/lang/String;)Ljava/util/List;" 
line="191"><counter type="INSTRUCTION" missed="30" covered="0"/><counter 
type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="7" 
covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter 
type="METHOD" missed="1" 
 covered="0"/></method><method name="findSingleChild" 
desc="(Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Node;" 
line="207"><counter type="INSTRUCTION" missed="32" covered="0"/><counter 
type="BRANCH" missed="4" covered="0"/><counter type="LINE" missed="6" 
covered="0"/><counter type="COMPLEXITY" missed="3" covered="0"/><counter 
type="METHOD" missed="1" covered="0"/></method><method name="writeGoal" 
desc="(Ljava/lang/StringBuilder;Ljava/lang/String;Lorg/w3c/dom/Element;)V" 
line="222"><counter type="INSTRUCTION" missed="129" covered="0"/><counter 
type="BRANCH" missed="20" covered="0"/><counter type="LINE" missed="23" 
covered="0"/><counter type="COMPLEXITY" missed="11" covered="0"/><counter 
type="METHOD" missed="1" covered="0"/></method><method name="writeParameter" 
desc="(Ljava/lang/StringBuilder;Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V" 
line="262"><counter type="INSTRUCTION" missed="125" covered="0"/><counter 
type="BRANCH" missed="18" covered="0"/><counter type="LINE" missed="22" co
 vered="0"/><counter type="COMPLEXITY" missed="10" covered="0"/><counter 
type="METHOD" missed="1" covered="0"/></method><method name="repeat" 
desc="(Ljava/lang/String;I)Ljava/lang/String;" line="310"><counter 
type="INSTRUCTION" missed="22" covered="0"/><counter type="BRANCH" missed="2" 
covered="0"/><counter type="LINE" missed="4" covered="0"/><counter 
type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" 
covered="0"/></method><method name="append" 
desc="(Ljava/lang/StringBuilder;Ljava/lang/String;I)V" line="330"><counter 
type="INSTRUCTION" missed="24" covered="0"/><counter type="BRANCH" missed="2" 
covered="0"/><counter type="LINE" missed="4" covered="0"/><counter 
type="COMPLEXITY" missed="2" covered="0"/><counter type="METHOD" missed="1" 
covered="0"/></method><method name="toLines" 
desc="(Ljava/lang/String;III)Ljava/util/List;" line="348"><counter 
type="INSTRUCTION" missed="42" covered="0"/><counter type="BRANCH" missed="2" 
covered="0"/><counter type="LINE" miss
 ed="6" covered="0"/><counter type="COMPLEXITY" missed="2" 
covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method 
name="toLines" desc="(Ljava/util/List;Ljava/lang/String;II)V" 
line="372"><counter type="INSTRUCTION" missed="104" covered="0"/><counter 
type="BRANCH" missed="12" covered="0"/><counter type="LINE" missed="19" 
covered="0"/><counter type="COMPLEXITY" missed="7" covered="0"/><counter 
type="METHOD" missed="1" covered="0"/></method><method name="getIndentLevel" 
desc="(Ljava/lang/String;)I" line="421"><counter type="INSTRUCTION" missed="40" 
covered="0"/><counter type="BRANCH" missed="10" covered="0"/><counter 
type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="6" 
covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method 
name="getPropertyFromExpression" desc="(Ljava/lang/String;)Ljava/lang/String;" 
line="439"><counter type="INSTRUCTION" missed="26" covered="0"/><counter 
type="BRANCH" missed="8" covered="0"/><counter type
 ="LINE" missed="4" covered="0"/><counter type="COMPLEXITY" missed="5" 
covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><counter 
type="INSTRUCTION" missed="864" covered="0"/><counter type="BRANCH" 
missed="112" covered="0"/><counter type="LINE" missed="156" 
covered="0"/><counter type="COMPLEXITY" missed="72" covered="0"/><counter 
type="METHOD" missed="16" covered="0"/><counter type="CLASS" missed="1" 
covered="0"/></class><sourcefile name="HelpMojo.java"><line nr="28" mi="3" 
ci="0" mb="0" cb="0"/><line nr="68" mi="4" ci="0" mb="0" cb="0"/><line nr="69" 
mi="5" ci="0" mb="0" cb="0"/><line nr="71" mi="2" ci="0" mb="2" cb="0"/><line 
nr="73" mi="5" ci="0" mb="0" cb="0"/><line nr="75" mi="2" ci="0" mb="0" 
cb="0"/><line nr="76" mi="3" ci="0" mb="0" cb="0"/><line nr="77" mi="6" ci="0" 
mb="0" cb="0"/><line nr="79" mi="1" ci="0" mb="0" cb="0"/><line nr="81" mi="7" 
ci="0" mb="0" cb="0"/><line nr="83" mi="1" ci="0" mb="0" cb="0"/><line nr="85" 
mi="7" ci="0" mb="0" cb="0"/><line
  nr="87" mi="1" ci="0" mb="0" cb="0"/><line nr="89" mi="7" ci="0" mb="0" 
cb="0"/><line nr="100" mi="3" ci="0" mb="2" cb="0"/><line nr="102" mi="4" 
ci="0" mb="0" cb="0"/><line nr="103" mi="3" ci="0" mb="0" cb="0"/><line 
nr="105" mi="3" ci="0" mb="2" cb="0"/><line nr="107" mi="4" ci="0" mb="0" 
cb="0"/><line nr="108" mi="3" ci="0" mb="0" cb="0"/><line nr="111" mi="3" 
ci="0" mb="0" cb="0"/><line nr="113" mi="4" ci="0" mb="0" cb="0"/><line 
nr="114" mi="4" ci="0" mb="0" cb="0"/><line nr="117" mi="4" ci="0" mb="0" 
cb="0"/><line nr="118" mi="4" ci="0" mb="0" cb="0"/><line nr="119" mi="19" 
ci="0" mb="0" cb="0"/><line nr="120" mi="7" ci="0" mb="4" cb="0"/><line 
nr="122" mi="15" ci="0" mb="0" cb="0"/><line nr="126" mi="3" ci="0" mb="2" 
cb="0"/><line nr="128" mi="6" ci="0" mb="0" cb="0"/><line nr="132" mi="5" 
ci="0" mb="0" cb="0"/><line nr="135" mi="7" ci="0" mb="0" cb="0"/><line 
nr="136" mi="5" ci="0" mb="0" cb="0"/><line nr="139" mi="4" ci="0" mb="0" 
cb="0"/><line nr="141" mi="4" ci="0" mb="0
 " cb="0"/><line nr="143" mi="4" ci="0" mb="0" cb="0"/><line nr="145" mi="7" 
ci="0" mb="4" cb="0"/><line nr="147" mi="21" ci="0" mb="2" cb="0"/><line 
nr="148" mi="5" ci="0" mb="0" cb="0"/><line nr="151" mi="10" ci="0" mb="2" 
cb="0"/><line nr="153" mi="6" ci="0" mb="0" cb="0"/><line nr="154" mi="1" 
ci="0" mb="0" cb="0"/><line nr="156" mi="4" ci="0" mb="2" cb="0"/><line 
nr="158" mi="5" ci="0" mb="0" cb="0"/><line nr="160" mi="1" ci="0" mb="0" 
cb="0"/><line nr="165" mi="9" ci="0" mb="4" cb="0"/><line nr="171" mi="5" 
ci="0" mb="0" cb="0"/><line nr="177" mi="4" ci="0" mb="0" cb="0"/><line 
nr="178" mi="3" ci="0" mb="2" cb="0"/><line nr="180" mi="14" ci="0" mb="0" 
cb="0"/><line nr="182" mi="4" ci="0" mb="2" cb="0"/><line nr="184" mi="14" 
ci="0" mb="0" cb="0"/><line nr="186" mi="5" ci="0" mb="0" cb="0"/><line 
nr="191" mi="4" ci="0" mb="0" cb="0"/><line nr="192" mi="3" ci="0" mb="0" 
cb="0"/><line nr="193" mi="8" ci="0" mb="2" cb="0"/><line nr="195" mi="4" 
ci="0" mb="0" cb="0"/><line nr="196" 
 mi="5" ci="0" mb="2" cb="0"/><line nr="198" mi="4" ci="0" mb="0" cb="0"/><line 
nr="201" mi="2" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" 
cb="0"/><line nr="208" mi="3" ci="0" mb="2" cb="0"/><line nr="210" mi="2" 
ci="0" mb="0" cb="0"/><line nr="212" mi="4" ci="0" mb="2" cb="0"/><line 
nr="214" mi="14" ci="0" mb="0" cb="0"/><line nr="216" mi="5" ci="0" mb="0" 
cb="0"/><line nr="222" mi="4" ci="0" mb="0" cb="0"/><line nr="223" mi="4" 
ci="0" mb="0" cb="0"/><line nr="224" mi="4" ci="0" mb="0" cb="0"/><line 
nr="225" mi="12" ci="0" mb="6" cb="0"/><line nr="227" mi="14" ci="0" mb="0" 
cb="0"/><line nr="228" mi="4" ci="0" mb="0" cb="0"/><line nr="229" mi="6" 
ci="0" mb="4" cb="0"/><line nr="231" mi="13" ci="0" mb="0" cb="0"/><line 
nr="232" mi="5" ci="0" mb="4" cb="0"/><line nr="234" mi="5" ci="0" mb="0" 
cb="0"/><line nr="235" mi="7" ci="0" mb="0" cb="0"/><line nr="238" mi="2" 
ci="0" mb="2" cb="0"/><line nr="240" mi="6" ci="0" mb="0" cb="0"/><line 
nr="242" mi="5" ci="0" mb="0" cb="
 0"/><line nr="244" mi="3" ci="0" mb="2" cb="0"/><line nr="246" mi="4" ci="0" 
mb="0" cb="0"/><line nr="247" mi="4" ci="0" mb="0" cb="0"/><line nr="248" 
mi="5" ci="0" mb="0" cb="0"/><line nr="249" mi="5" ci="0" mb="0" cb="0"/><line 
nr="251" mi="10" ci="0" mb="2" cb="0"/><line nr="253" mi="5" ci="0" mb="0" 
cb="0"/><line nr="254" mi="1" ci="0" mb="0" cb="0"/><line nr="257" mi="1" 
ci="0" mb="0" cb="0"/><line nr="262" mi="4" ci="0" mb="0" cb="0"/><line 
nr="263" mi="4" ci="0" mb="0" cb="0"/><line nr="265" mi="2" ci="0" mb="0" 
cb="0"/><line nr="266" mi="2" ci="0" mb="2" cb="0"/><line nr="268" mi="5" 
ci="0" mb="0" cb="0"/><line nr="271" mi="2" ci="0" mb="0" cb="0"/><line 
nr="272" mi="6" ci="0" mb="4" cb="0"/><line nr="274" mi="13" ci="0" mb="0" 
cb="0"/><line nr="276" mi="12" ci="0" mb="0" cb="0"/><line nr="277" mi="4" 
ci="0" mb="0" cb="0"/><line nr="278" mi="6" ci="0" mb="4" cb="0"/><line 
nr="280" mi="13" ci="0" mb="0" cb="0"/><line nr="281" mi="5" ci="0" mb="0" 
cb="0"/><line nr="283" mi="3"
  ci="0" mb="2" cb="0"/><line nr="284" mi="5" ci="0" mb="0" cb="0"/><line 
nr="286" mi="6" ci="0" mb="2" cb="0"/><line nr="288" mi="5" ci="0" mb="0" 
cb="0"/><line nr="290" mi="6" ci="0" mb="4" cb="0"/><line nr="292" mi="4" 
ci="0" mb="0" cb="0"/><line nr="293" mi="12" ci="0" mb="0" cb="0"/><line 
nr="296" mi="5" ci="0" mb="0" cb="0"/><line nr="297" mi="1" ci="0" mb="0" 
cb="0"/><line nr="310" mi="8" ci="0" mb="0" cb="0"/><line nr="312" mi="7" 
ci="0" mb="2" cb="0"/><line nr="314" mi="4" ci="0" mb="0" cb="0"/><line 
nr="317" mi="3" ci="0" mb="0" cb="0"/><line nr="330" mi="16" ci="0" mb="2" 
cb="0"/><line nr="332" mi="6" ci="0" mb="0" cb="0"/><line nr="333" mi="1" 
ci="0" mb="0" cb="0"/><line nr="334" mi="1" ci="0" mb="0" cb="0"/><line 
nr="348" mi="4" ci="0" mb="0" cb="0"/><line nr="350" mi="4" ci="0" mb="0" 
cb="0"/><line nr="352" mi="4" ci="0" mb="0" cb="0"/><line nr="354" mi="16" 
ci="0" mb="2" cb="0"/><line nr="356" mi="12" ci="0" mb="0" cb="0"/><line 
nr="359" mi="2" ci="0" mb="0" cb="0"/><l
 ine nr="372" mi="3" ci="0" mb="0" cb="0"/><line nr="373" mi="5" ci="0" mb="0" 
cb="0"/><line nr="375" mi="4" ci="0" mb="0" cb="0"/><line nr="377" mi="16" 
ci="0" mb="2" cb="0"/><line nr="379" mi="3" ci="0" mb="2" cb="0"/><line 
nr="381" mi="7" ci="0" mb="2" cb="0"/><line nr="383" mi="5" ci="0" mb="0" 
cb="0"/><line nr="384" mi="3" ci="0" mb="0" cb="0"/><line nr="385" mi="9" 
ci="0" mb="0" cb="0"/><line nr="389" mi="4" ci="0" mb="0" cb="0"/><line 
nr="393" mi="8" ci="0" mb="2" cb="0"/><line nr="395" mi="4" ci="0" mb="0" 
cb="0"/><line nr="396" mi="3" ci="0" mb="2" cb="0"/><line nr="398" mi="12" 
ci="0" mb="0" cb="0"/><line nr="400" mi="3" ci="0" mb="2" cb="0"/><line 
nr="402" mi="5" ci="0" mb="0" cb="0"/><line nr="406" mi="4" ci="0" mb="0" 
cb="0"/><line nr="410" mi="5" ci="0" mb="0" cb="0"/><line nr="411" mi="1" 
ci="0" mb="0" cb="0"/><line nr="421" mi="2" ci="0" mb="0" cb="0"/><line 
nr="422" mi="13" ci="0" mb="4" cb="0"/><line nr="424" mi="1" ci="0" mb="0" 
cb="0"/><line nr="426" mi="15" ci="0
 " mb="4" cb="0"/><line nr="428" mi="5" ci="0" mb="2" cb="0"/><line nr="430" 
mi="1" ci="0" mb="0" cb="0"/><line nr="431" mi="1" ci="0" mb="0" cb="0"/><line 
nr="434" mi="2" ci="0" mb="0" cb="0"/><line nr="439" mi="12" ci="0" mb="6" 
cb="0"/><line nr="440" mi="4" ci="0" mb="2" cb="0"/><line nr="443" mi="8" 
ci="0" mb="0" cb="0"/><line nr="446" mi="2" ci="0" mb="0" cb="0"/><counter 
type="INSTRUCTION" missed="864" covered="0"/><counter type="BRANCH" 
missed="112" covered="0"/><counter type="LINE" missed="156" 
covered="0"/><counter type="COMPLEXITY" missed="72" covered="0"/><counter 
type="METHOD" missed="16" covered="0"/><counter type="CLASS" missed="1" 
covered="0"/></sourcefile><counter type="INSTRUCTION" missed="864" 
covered="0"/><counter type="BRANCH" missed="112" covered="0"/><counter 
type="LINE" missed="156" covered="0"/><counter type="COMPLEXITY" missed="72" 
covered="0"/><counter type="METHOD" missed="16" covered="0"/><counter 
type="CLASS" missed="1" covered="0"/></package><counter typ
 e="INSTRUCTION" missed="1128" covered="1188"/><counter type="BRANCH" 
missed="136" covered="116"/><counter type="LINE" missed="198" 
covered="238"/><counter type="COMPLEXITY" missed="94" covered="89"/><counter 
type="METHOD" missed="18" covered="39"/><counter type="CLASS" missed="1" 
covered="5"/></report>
\ No newline at end of file

Propchange: 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/jacoco.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.html
==============================================================================
--- 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.html
 (added)
+++ 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.html
 Tue Sep  3 16:39:49 2024
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml"; lang="en"><head><meta 
http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link 
rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link 
rel="shortcut icon" href="../jacoco-resources/report.gif" 
type="image/gif"/><title>AbstractJarsignerMojo</title><script 
type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body 
onload="initialSort(['breadcrumb'])"><div class="breadcrumb" 
id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" 
class="el_session">Sessions</a></span><a href="../index.html" 
class="el_report">Apache Maven Jarsigner Plugin</a> &gt; <a href="index.html" 
class="el_package">org.apache.maven.plugins.jarsigner</a> &gt; <span 
class="el_class">AbstractJarsignerMojo</span></div><h1>AbstractJarsignerMojo</h1><table
 class="coverag
 e" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" 
onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" 
onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" 
id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" 
onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" 
onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" 
onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" 
onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" 
onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td
 class="bar">209 of 723</td><td class="ctr2">71%</td><td class="bar">19 of 
78</td><td class="ctr2">75%</td><td 
 class="ctr1">17</td><td class="ctr2">54</td><td class="ctr1">32</td><td 
class="ctr2">139</td><td class="ctr1">2</td><td 
class="ctr2">15</td></tr></tfoot><tbody><tr><td id="a12"><a 
href="AbstractJarsignerMojo.java.html#L460" 
class="el_method">processArchive(File)</a></td><td class="bar" id="b0"><img 
src="../jacoco-resources/redbar.gif" width="53" height="10" title="143" 
alt="143"/><img src="../jacoco-resources/greenbar.gif" width="66" height="10" 
title="178" alt="178"/></td><td class="ctr2" id="c11">55%</td><td class="bar" 
id="d0"><img src="../jacoco-resources/redbar.gif" width="55" height="10" 
title="12" alt="12"/><img src="../jacoco-resources/greenbar.gif" width="64" 
height="10" title="14" alt="14"/></td><td class="ctr2" id="e6">53%</td><td 
class="ctr1" id="f0">8</td><td class="ctr2" id="g0">14</td><td class="ctr1" 
id="h0">22</td><td class="ctr2" id="i0">59</td><td class="ctr1" 
id="j2">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a 
href="AbstractJarsignerMojo.java.htm
 l#L561" class="el_method">decrypt(String)</a></td><td class="bar" id="b1"><img 
src="../jacoco-resources/redbar.gif" width="10" height="10" title="28" 
alt="28"/><img src="../jacoco-resources/greenbar.gif" width="1" height="10" 
title="5" alt="5"/></td><td class="ctr2" id="c12">15%</td><td class="bar" 
id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">0</td><td 
class="ctr2" id="g9">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" 
id="i5">4</td><td class="ctr1" id="j3">0</td><td class="ctr2" 
id="k1">1</td></tr><tr><td id="a3"><a 
href="AbstractJarsignerMojo.java.html#L295" 
class="el_method">findJarfiles()</a></td><td class="bar" id="b2"><img 
src="../jacoco-resources/redbar.gif" width="6" height="10" title="17" 
alt="17"/><img src="../jacoco-resources/greenbar.gif" width="55" height="10" 
title="149" alt="149"/></td><td class="ctr2" id="c7">89%</td><td class="bar" 
id="d1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" 
title="2" alt="2"/><img src="../jac
 oco-resources/greenbar.gif" width="110" height="10" title="24" 
alt="24"/></td><td class="ctr2" id="e3">92%</td><td class="ctr1" 
id="f1">2</td><td class="ctr2" id="g1">14</td><td class="ctr1" 
id="h2">2</td><td class="ctr2" id="i1">31</td><td class="ctr1" 
id="j4">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a 
href="AbstractJarsignerMojo.java.html#L405" 
class="el_method">getFileFromArtifact(Artifact)</a></td><td class="bar" 
id="b3"><img src="../jacoco-resources/redbar.gif" width="1" height="10" 
title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="16" 
height="10" title="43" alt="43"/></td><td class="ctr2" id="c8">89%</td><td 
class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="4" 
height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" 
width="32" height="10" title="7" alt="7"/></td><td class="ctr2" 
id="e4">87%</td><td class="ctr1" id="f3">1</td><td class="ctr2" 
id="g2">5</td><td class="ctr1" id="h3">1</td><td class="ctr2" 
 id="i3">9</td><td class="ctr1" id="j5">0</td><td class="ctr2" 
id="k3">1</td></tr><tr><td id="a4"><a 
href="AbstractJarsignerMojo.java.html#L370" 
class="el_method">getCommandlineInfo(Commandline)</a></td><td class="bar" 
id="b4"><img src="../jacoco-resources/redbar.gif" width="1" height="10" 
title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="4" 
height="10" title="13" alt="13"/></td><td class="ctr2" id="c9">72%</td><td 
class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="4" 
height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" 
width="4" height="10" title="1" alt="1"/></td><td class="ctr2" 
id="e7">50%</td><td class="ctr1" id="f4">1</td><td class="ctr2" 
id="g5">2</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">5</td><td 
class="ctr1" id="j6">0</td><td class="ctr2" id="k4">1</td></tr><tr><td 
id="a6"><a href="AbstractJarsignerMojo.java.html#L580" 
class="el_method">getMessage(String, Object[])</a></td><td class="bar" id="b5">
 <img src="../jacoco-resources/redbar.gif" width="1" height="10" title="5" 
alt="5"/><img src="../jacoco-resources/greenbar.gif" width="4" height="10" 
title="12" alt="12"/></td><td class="ctr2" id="c10">70%</td><td class="bar" 
id="d5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" 
title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="4" 
height="10" title="1" alt="1"/></td><td class="ctr2" id="e8">50%</td><td 
class="ctr1" id="f5">1</td><td class="ctr2" id="g6">2</td><td class="ctr1" 
id="h5">1</td><td class="ctr2" id="i8">3</td><td class="ctr1" id="j7">0</td><td 
class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a 
href="AbstractJarsignerMojo.java.html#L380" 
class="el_method">getStoretype()</a></td><td class="bar" id="b6"><img 
src="../jacoco-resources/redbar.gif" width="1" height="10" title="3" 
alt="3"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d10"/><td 
class="ctr2" id="e10">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" 
id="g10">1
 </td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i10">1</td><td 
class="ctr1" id="j0">1</td><td class="ctr2" id="k6">1</td></tr><tr><td 
id="a7"><a href="AbstractJarsignerMojo.java.html#L384" 
class="el_method">getStorepass()</a></td><td class="bar" id="b7"><img 
src="../jacoco-resources/redbar.gif" width="1" height="10" title="3" 
alt="3"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d11"/><td 
class="ctr2" id="e11">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" 
id="g11">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" 
id="i11">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" 
id="k7">1</td></tr><tr><td id="a2"><a 
href="AbstractJarsignerMojo.java.html#L270" 
class="el_method">execute()</a></td><td class="bar" id="b8"><img 
src="../jacoco-resources/greenbar.gif" width="20" height="10" title="55" 
alt="55"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d6"><img 
src="../jacoco-resources/greenbar.gif" width="18" height="10" title="4" 
alt="4"/>
 </td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f9">0</td><td 
class="ctr2" id="g4">3</td><td class="ctr1" id="h8">0</td><td class="ctr2" 
id="i2">12</td><td class="ctr1" id="j8">0</td><td class="ctr2" 
id="k8">1</td></tr><tr><td id="a0"><a 
href="AbstractJarsignerMojo.java.html#L58" 
class="el_method">AbstractJarsignerMojo()</a></td><td class="bar" id="b9"><img 
src="../jacoco-resources/greenbar.gif" width="5" height="10" title="15" 
alt="15"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d12"/><td 
class="ctr2" id="e12">n/a</td><td class="ctr1" id="f10">0</td><td class="ctr2" 
id="g12">1</td><td class="ctr1" id="h9">0</td><td class="ctr2" 
id="i9">3</td><td class="ctr1" id="j9">0</td><td class="ctr2" 
id="k9">1</td></tr><tr><td id="a13"><a 
href="AbstractJarsignerMojo.java.html#L447" 
class="el_method">processArchives(List)</a></td><td class="bar" id="b10"><img 
src="../jacoco-resources/greenbar.gif" width="5" height="10" title="15" 
alt="15"/></td><td class="ctr2" id="c
 2">100%</td><td class="bar" id="d7"><img 
src="../jacoco-resources/greenbar.gif" width="9" height="10" title="2" 
alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" 
id="f11">0</td><td class="ctr2" id="g7">2</td><td class="ctr1" 
id="h10">0</td><td class="ctr2" id="i6">4</td><td class="ctr1" 
id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a9"><a 
href="AbstractJarsignerMojo.java.html#L595" 
class="el_method">getToolchain()</a></td><td class="bar" id="b11"><img 
src="../jacoco-resources/greenbar.gif" width="5" height="10" title="14" 
alt="14"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d8"><img 
src="../jacoco-resources/greenbar.gif" width="9" height="10" title="2" 
alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" 
id="f12">0</td><td class="ctr2" id="g8">2</td><td class="ctr1" 
id="h11">0</td><td class="ctr2" id="i7">4</td><td class="ctr1" 
id="j11">0</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a10"><a 
href="AbstractJarsignerM
 ojo.java.html#L394" class="el_method">isZipFile(Artifact)</a></td><td 
class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width="4" 
height="10" title="13" alt="13"/></td><td class="ctr2" id="c4">100%</td><td 
class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="9" 
height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" 
width="18" height="10" title="4" alt="4"/></td><td class="ctr2" 
id="e5">66%</td><td class="ctr1" id="f2">2</td><td class="ctr2" 
id="g3">4</td><td class="ctr1" id="h12">0</td><td class="ctr2" 
id="i12">1</td><td class="ctr1" id="j12">0</td><td class="ctr2" 
id="k12">1</td></tr><tr><td id="a11"><a 
href="AbstractJarsignerMojo.java.html#L429" 
class="el_method">preProcessArchive(File)</a></td><td class="bar" id="b13"/><td 
class="ctr2" id="c5">100%</td><td class="bar" id="d13"/><td class="ctr2" 
id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" 
id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i13
 ">1</td><td class="ctr1" id="j13">0</td><td class="ctr2" 
id="k13">1</td></tr><tr><td id="a14"><a 
href="AbstractJarsignerMojo.java.html#L438" 
class="el_method">validateParameters()</a></td><td class="bar" id="b14"/><td 
class="ctr2" id="c6">100%</td><td class="bar" id="d14"/><td class="ctr2" 
id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" 
id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" 
id="i14">1</td><td class="ctr1" id="j14">0</td><td class="ctr2" 
id="k14">1</td></tr></tbody></table><div class="footer"><span 
class="right">Created with <a href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.12.202403310830</span></div></body></html>
\ No newline at end of file

Propchange: 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.java.html
==============================================================================
--- 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.java.html
 (added)
+++ 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.java.html
 Tue Sep  3 16:39:49 2024
@@ -0,0 +1,603 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml"; lang="en"><head><meta 
http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link 
rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link 
rel="shortcut icon" href="../jacoco-resources/report.gif" 
type="image/gif"/><title>AbstractJarsignerMojo.java</title><link 
rel="stylesheet" href="../jacoco-resources/prettify.css" 
type="text/css"/><script type="text/javascript" 
src="../jacoco-resources/prettify.js"></script></head><body 
onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" 
id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" 
class="el_session">Sessions</a></span><a href="../index.html" 
class="el_report">Apache Maven Jarsigner Plugin</a> &gt; <a 
href="index.source.html" 
class="el_package">org.apache.maven.plugins.jarsigner</a> &gt; <
 span 
class="el_source">AbstractJarsignerMojo.java</span></div><h1>AbstractJarsignerMojo.java</h1><pre
 class="source lang-java linenums">/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * &quot;License&quot;); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.maven.plugins.jarsigner;
+
+import java.io.File;
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Optional;
+import java.util.ResourceBundle;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.shared.jarsigner.JarSigner;
+import org.apache.maven.shared.jarsigner.JarSignerRequest;
+import org.apache.maven.shared.jarsigner.JarSignerUtil;
+import org.apache.maven.shared.utils.ReaderFactory;
+import org.apache.maven.shared.utils.StringUtils;
+import org.apache.maven.shared.utils.cli.Commandline;
+import org.apache.maven.shared.utils.cli.javatool.JavaToolException;
+import org.apache.maven.shared.utils.io.FileUtils;
+import org.apache.maven.toolchain.Toolchain;
+import org.apache.maven.toolchain.ToolchainManager;
+import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
+import org.sonatype.plexus.components.sec.dispatcher.SecDispatcherException;
+
+/**
+ * Maven Jarsigner Plugin base class.
+ *
+ * @author &lt;a href=&quot;[email protected]&quot;&gt;Christian 
Schulte&lt;/a&gt;
+ */
+<span class="fc" id="L58">public abstract class AbstractJarsignerMojo extends 
AbstractMojo {</span>
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.verbose&quot;, defaultValue = 
&quot;false&quot;)
+    private boolean verbose;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.keystore&quot;)
+    private String keystore;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.storetype&quot;)
+    private String storetype;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.storepass&quot;)
+    private String storepass;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.providerName&quot;)
+    private String providerName;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.providerClass&quot;)
+    private String providerClass;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.providerArg&quot;)
+    private String providerArg;
+
+    /**
+     * See &lt;a 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/jarsigner.html#Options&quot;&gt;options&lt;/a&gt;.
+     */
+    @Parameter(property = &quot;jarsigner.alias&quot;)
+    private String alias;
+
+    /**
+     * The maximum memory available to the JAR signer, e.g. 
&lt;code&gt;256M&lt;/code&gt;. See &lt;a
+     * 
href=&quot;https://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html#Xms&quot;&gt;-Xmx&lt;/a&gt;
 for more details.
+     */
+    @Parameter(property = &quot;jarsigner.maxMemory&quot;)
+    private String maxMemory;
+
+    /**
+     * Archive to process. If set, neither the project artifact nor any 
attachments or archive sets are processed.
+     */
+    @Parameter(property = &quot;jarsigner.archive&quot;)
+    private File archive;
+
+    /**
+     * The base directory to scan for JAR files using Ant-like 
inclusion/exclusion patterns.
+     *
+     * @since 1.1
+     */
+    @Parameter(property = &quot;jarsigner.archiveDirectory&quot;)
+    private File archiveDirectory;
+
+    /**
+     * The Ant-like inclusion patterns used to select JAR files to process. 
The patterns must be relative to the
+     * directory given by the parameter {@link #archiveDirectory}. By default, 
the pattern
+     * &lt;code&gt;&amp;#42;&amp;#42;/&amp;#42;.?ar&lt;/code&gt; is used.
+     *
+     * @since 1.1
+     */
+<span class="fc" id="L136">    @Parameter</span>
+    private String[] includes = {&quot;**/*.?ar&quot;};
+
+    /**
+     * The Ant-like exclusion patterns used to exclude JAR files from 
processing. The patterns must be relative to the
+     * directory given by the parameter {@link #archiveDirectory}.
+     *
+     * @since 1.1
+     */
+<span class="fc" id="L145">    @Parameter</span>
+    private String[] excludes = {};
+
+    /**
+     * List of additional arguments to append to the jarsigner command line. 
Each argument should be specified as a
+     * separate element. For example, to specify the name of the signed jar, 
two elements are needed:
+     * &lt;ul&gt;
+     *     &lt;li&gt;Alternative using the command line: {@code 
-Djarsigner.arguments=&quot;-signedjar,my-project_signed.jar&quot;}&lt;/li&gt;
+     *     &lt;li&gt;Alternative using the Maven POM configuration:&lt;/li&gt;
+     * &lt;/ul&gt;
+     * &lt;pre&gt;
+     * {@code
+     * &lt;configuration&gt;
+     *   &lt;arguments&gt;
+     *     &lt;argument&gt;-signedjar&lt;/argument&gt;
+     *     &lt;argument&gt;my-project_signed.jar&lt;/argument&gt;
+     *   &lt;/arguments&gt;
+     * &lt;/configuration&gt;
+     * }&lt;/pre&gt;
+     */
+    @Parameter(property = &quot;jarsigner.arguments&quot;)
+    private String[] arguments;
+
+    /**
+     * Set to {@code true} to disable the plugin.
+     */
+    @Parameter(property = &quot;jarsigner.skip&quot;, defaultValue = 
&quot;false&quot;)
+    private boolean skip;
+
+    /**
+     * Controls processing of the main artifact produced by the project.
+     *
+     * @since 1.1
+     */
+    @Parameter(property = &quot;jarsigner.processMainArtifact&quot;, 
defaultValue = &quot;true&quot;)
+    private boolean processMainArtifact;
+
+    /**
+     * Controls processing of project attachments. If enabled, attached 
artifacts that are no JAR/ZIP files will be
+     * automatically excluded from processing.
+     *
+     * @since 1.1
+     */
+    @Parameter(property = &quot;jarsigner.processAttachedArtifacts&quot;, 
defaultValue = &quot;true&quot;)
+    private boolean processAttachedArtifacts;
+
+    /**
+     * Must be set to true if the password must be given via a protected
+     * authentication path such as a dedicated PIN reader.
+     *
+     * @since 1.3
+     */
+    @Parameter(property = &quot;jarsigner.protectedAuthenticationPath&quot;, 
defaultValue = &quot;false&quot;)
+    private boolean protectedAuthenticationPath;
+
+    /**
+     * A set of artifact classifiers describing the project attachments that 
should be processed. This parameter is only
+     * relevant if {@link #processAttachedArtifacts} is 
&lt;code&gt;true&lt;/code&gt;. If empty, all attachments are included.
+     *
+     * @since 1.2
+     */
+    @Parameter
+    private String[] includeClassifiers;
+
+    /**
+     * A set of artifact classifiers describing the project attachments that 
should not be processed. This parameter is
+     * only relevant if {@link #processAttachedArtifacts} is 
&lt;code&gt;true&lt;/code&gt;. If empty, no attachments are excluded.
+     *
+     * @since 1.2
+     */
+    @Parameter
+    private String[] excludeClassifiers;
+
+    /**
+     * The Maven project.
+     */
+    @Parameter(defaultValue = &quot;${project}&quot;, readonly = true, 
required = true)
+    private MavenProject project;
+
+    /**
+     * The Maven settings.
+     *
+     * @since 1.5
+     */
+    @Parameter(defaultValue = &quot;${settings}&quot;, readonly = true, 
required = true)
+    private Settings settings;
+
+    /**
+     * Location of the working directory.
+     *
+     * @since 1.3
+     */
+    @Parameter(defaultValue = &quot;${project.basedir}&quot;)
+    private File workingDirectory;
+
+    /**
+     */
+    @Component
+    private JarSigner jarSigner;
+
+    /**
+     * The current build session instance. This is used for
+     * toolchain manager API calls.
+     *
+     * @since 1.3
+     */
+    @Parameter(defaultValue = &quot;${session}&quot;, readonly = true, 
required = true)
+    private MavenSession session;
+
+    /**
+     * To obtain a toolchain if possible.
+     *
+     * @since 1.3
+     */
+    @Component
+    private ToolchainManager toolchainManager;
+
+    /**
+     * @since 1.3.2
+     */
+    @Component(hint = &quot;mng-4384&quot;)
+    private SecDispatcher securityDispatcher;
+
+    @Override
+    public final void execute() throws MojoExecutionException {
+<span class="fc bfc" id="L270" title="All 2 branches covered.">        if 
(this.skip) {</span>
+<span class="fc" id="L271">            
getLog().info(getMessage(&quot;disabled&quot;));</span>
+<span class="fc" id="L272">            return;</span>
+        }
+
+<span class="fc" id="L275">        validateParameters();</span>
+
+<span class="fc" id="L277">        Toolchain toolchain = getToolchain();</span>
+<span class="fc bfc" id="L278" title="All 2 branches covered.">        if 
(toolchain != null) {</span>
+<span class="fc" id="L279">            getLog().info(&quot;Toolchain in 
maven-jarsigner-plugin: &quot; + toolchain);</span>
+<span class="fc" id="L280">            
jarSigner.setToolchain(toolchain);</span>
+        }
+
+<span class="fc" id="L283">        List&lt;File&gt; archives = 
findJarfiles();</span>
+<span class="fc" id="L284">        processArchives(archives);</span>
+<span class="fc" id="L285">        
getLog().info(getMessage(&quot;processed&quot;, archives.size()));</span>
+<span class="fc" id="L286">    }</span>
+
+    /**
+     * Finds all jar files, by looking at the Maven project and user 
configuration.
+     *
+     * @return a List of File objects
+     * @throws MojoExecutionException if it was not possible to build a list 
of jar files
+     */
+    private List&lt;File&gt; findJarfiles() throws MojoExecutionException {
+<span class="fc bfc" id="L295" title="All 2 branches covered.">        if 
(this.archive != null) {</span>
+            // Only process this, but nothing more
+<span class="fc" id="L297">            return 
Arrays.asList(this.archive);</span>
+        }
+
+<span class="fc" id="L300">        List&lt;File&gt; archives = new 
ArrayList&lt;&gt;();</span>
+<span class="fc bfc" id="L301" title="All 2 branches covered.">        if 
(processMainArtifact) {</span>
+<span class="fc" id="L302">            
getFileFromArtifact(this.project.getArtifact()).ifPresent(archives::add);</span>
+        }
+
+<span class="fc bfc" id="L305" title="All 2 branches covered.">        if 
(processAttachedArtifacts) {</span>
+<span class="fc" id="L306">            Collection&lt;String&gt; includes = new 
HashSet&lt;&gt;();</span>
+<span class="fc bfc" id="L307" title="All 2 branches covered.">            if 
(includeClassifiers != null) {</span>
+<span class="fc" id="L308">                
includes.addAll(Arrays.asList(includeClassifiers));</span>
+            }
+
+<span class="fc" id="L311">            Collection&lt;String&gt; excludes = new 
HashSet&lt;&gt;();</span>
+<span class="fc bfc" id="L312" title="All 2 branches covered.">            if 
(excludeClassifiers != null) {</span>
+<span class="fc" id="L313">                
excludes.addAll(Arrays.asList(excludeClassifiers));</span>
+            }
+
+<span class="fc bfc" id="L316" title="All 2 branches covered.">            for 
(Artifact artifact : this.project.getAttachedArtifacts()) {</span>
+<span class="fc bfc" id="L317" title="All 4 branches covered.">                
if (!includes.isEmpty() &amp;&amp; 
!includes.contains(artifact.getClassifier())) {</span>
+<span class="fc" id="L318">                    continue;</span>
+                }
+
+<span class="fc bfc" id="L321" title="All 2 branches covered.">                
if (excludes.contains(artifact.getClassifier())) {</span>
+<span class="fc" id="L322">                    continue;</span>
+                }
+
+<span class="fc" id="L325">                
getFileFromArtifact(artifact).ifPresent(archives::add);</span>
+<span class="fc" id="L326">            }</span>
+<span class="fc" id="L327">        } else {</span>
+<span class="fc bfc" id="L328" title="All 2 branches covered.">            if 
(verbose) {</span>
+<span class="fc" id="L329">                
getLog().info(getMessage(&quot;ignoringAttachments&quot;));</span>
+            } else {
+<span class="fc" id="L331">                
getLog().debug(getMessage(&quot;ignoringAttachments&quot;));</span>
+            }
+        }
+
+<span class="fc bfc" id="L335" title="All 2 branches covered.">        if 
(archiveDirectory != null) {</span>
+<span class="pc bpc" id="L336" title="1 of 2 branches missed.">            
String includeList = (includes != null) ? StringUtils.join(includes, 
&quot;,&quot;) : null;</span>
+<span class="pc bpc" id="L337" title="1 of 2 branches missed.">            
String excludeList = (excludes != null) ? StringUtils.join(excludes, 
&quot;,&quot;) : null;</span>
+
+            try {
+<span class="fc" id="L340">                
archives.addAll(FileUtils.getFiles(archiveDirectory, includeList, 
excludeList));</span>
+<span class="nc" id="L341">            } catch (IOException e) {</span>
+<span class="nc" id="L342">                throw new 
MojoExecutionException(&quot;Failed to scan archive directory for JARs: &quot; 
+ e.getMessage(), e);</span>
+<span class="fc" id="L343">            }</span>
+        }
+
+<span class="fc" id="L346">        return archives;</span>
+    }
+
+    /**
+     * Creates the jar signer request to be executed.
+     *
+     * @param archive the archive file to treat by jarsigner
+     * @return the request
+     * @throws MojoExecutionException if an exception occurs
+     * @since 1.3
+     */
+    protected abstract JarSignerRequest createRequest(File archive) throws 
MojoExecutionException;
+
+    /**
+     * Gets a string representation of a {@code Commandline}.
+     * &lt;p&gt;
+     * This method creates the string representation by calling {@code 
commandLine.toString()} by default.
+     * &lt;/p&gt;
+     *
+     * @param commandLine The {@code Commandline} to get a string 
representation of.
+     * @return The string representation of {@code commandLine}.
+     * @throws NullPointerException if {@code commandLine} is {@code null}
+     */
+    protected String getCommandlineInfo(final Commandline commandLine) {
+<span class="pc bpc" id="L370" title="1 of 2 branches missed.">        if 
(commandLine == null) {</span>
+<span class="nc" id="L371">            throw new 
NullPointerException(&quot;commandLine&quot;);</span>
+        }
+
+<span class="fc" id="L374">        String commandLineInfo = 
commandLine.toString();</span>
+<span class="fc" id="L375">        commandLineInfo = 
StringUtils.replace(commandLineInfo, this.storepass, 
&quot;'*****'&quot;);</span>
+<span class="fc" id="L376">        return commandLineInfo;</span>
+    }
+
+    public String getStoretype() {
+<span class="nc" id="L380">        return storetype;</span>
+    }
+
+    public String getStorepass() {
+<span class="nc" id="L384">        return storepass;</span>
+    }
+
+    /**
+     * Checks whether the specified artifact is a ZIP file.
+     *
+     * @param artifact The artifact to check, may be 
&lt;code&gt;null&lt;/code&gt;.
+     * @return &lt;code&gt;true&lt;/code&gt; if the artifact looks like a ZIP 
file, &lt;code&gt;false&lt;/code&gt; otherwise.
+     */
+    private static boolean isZipFile(final Artifact artifact) {
+<span class="pc bpc" id="L394" title="2 of 6 branches missed.">        return 
artifact != null &amp;&amp; artifact.getFile() != null &amp;&amp; 
JarSignerUtil.isZipFile(artifact.getFile());</span>
+    }
+
+    /**
+     * Examines an Artifact and extract the File object pointing to the 
Artifact jar file.
+     *
+     * @param artifact the artifact to examine
+     * @return An Optional containing the File, or Optional.empty() if the 
File is not a jar file.
+     * @throws NullPointerException if {@code artifact} is {@code null}
+     */
+    private Optional&lt;File&gt; getFileFromArtifact(final Artifact artifact) {
+<span class="pc bpc" id="L405" title="1 of 2 branches missed.">        if 
(artifact == null) {</span>
+<span class="nc" id="L406">            throw new 
NullPointerException(&quot;artifact&quot;);</span>
+        }
+
+<span class="fc bfc" id="L409" title="All 2 branches covered.">        if 
(isZipFile(artifact)) {</span>
+<span class="fc" id="L410">            return 
Optional.of(artifact.getFile());</span>
+        }
+
+<span class="fc bfc" id="L413" title="All 2 branches covered.">        if 
(this.verbose) {</span>
+<span class="fc" id="L414">            
getLog().info(getMessage(&quot;unsupported&quot;, artifact));</span>
+<span class="fc bfc" id="L415" title="All 2 branches covered.">        } else 
if (getLog().isDebugEnabled()) {</span>
+<span class="fc" id="L416">            
getLog().debug(getMessage(&quot;unsupported&quot;, artifact));</span>
+        }
+<span class="fc" id="L418">        return Optional.empty();</span>
+    }
+
+    /**
+     * Pre-processes a given archive.
+     *
+     * @param archive The archive to process, must not be 
&lt;code&gt;null&lt;/code&gt;.
+     * @throws MojoExecutionException if pre-processing failed
+     */
+    protected void preProcessArchive(final File archive) throws 
MojoExecutionException {
+        // Default implementation does nothing
+<span class="fc" id="L429">    }</span>
+
+    /**
+     * Validate the user supplied configuration/parameters.
+     *
+     * @throws MojoExecutionException if the user supplied configuration make 
further execution impossible
+     */
+    protected void validateParameters() throws MojoExecutionException {
+        // Default implementation does nothing
+<span class="fc" id="L438">    }</span>
+
+    /**
+     * Process (sign/verify) a list of archives.
+     *
+     * @param archives list of jar files to process
+     * @throws MojoExecutionException if an error occurs during the processing 
of archives
+     */
+    protected void processArchives(List&lt;File&gt; archives) throws 
MojoExecutionException {
+<span class="fc bfc" id="L447" title="All 2 branches covered.">        for 
(File file : archives) {</span>
+<span class="fc" id="L448">            processArchive(file);</span>
+<span class="fc" id="L449">        }</span>
+<span class="fc" id="L450">    }</span>
+
+    /**
+     * Processes a given archive.
+     *
+     * @param archive The archive to process.
+     * @throws NullPointerException if {@code archive} is {@code null}
+     * @throws MojoExecutionException if processing {@code archive} fails
+     */
+    protected final void processArchive(final File archive) throws 
MojoExecutionException {
+<span class="pc bpc" id="L460" title="1 of 2 branches missed.">        if 
(archive == null) {</span>
+<span class="nc" id="L461">            throw new 
NullPointerException(&quot;archive&quot;);</span>
+        }
+
+<span class="fc" id="L464">        preProcessArchive(archive);</span>
+
+<span class="fc bfc" id="L466" title="All 2 branches covered.">        if 
(this.verbose) {</span>
+<span class="fc" id="L467">            
getLog().info(getMessage(&quot;processing&quot;, archive));</span>
+<span class="fc bfc" id="L468" title="All 2 branches covered.">        } else 
if (getLog().isDebugEnabled()) {</span>
+<span class="fc" id="L469">            
getLog().debug(getMessage(&quot;processing&quot;, archive));</span>
+        }
+
+<span class="fc" id="L472">        JarSignerRequest request = 
createRequest(archive);</span>
+<span class="fc" id="L473">        request.setVerbose(verbose);</span>
+<span class="fc" id="L474">        request.setAlias(alias);</span>
+<span class="fc" id="L475">        request.setArchive(archive);</span>
+<span class="fc" id="L476">        request.setKeystore(keystore);</span>
+<span class="fc" id="L477">        request.setStoretype(storetype);</span>
+<span class="fc" id="L478">        request.setProviderArg(providerArg);</span>
+<span class="fc" id="L479">        
request.setProviderClass(providerClass);</span>
+<span class="fc" id="L480">        
request.setProviderName(providerName);</span>
+<span class="fc" id="L481">        
request.setWorkingDirectory(workingDirectory);</span>
+<span class="fc" id="L482">        request.setMaxMemory(maxMemory);</span>
+<span class="fc" id="L483">        
request.setProtectedAuthenticationPath(protectedAuthenticationPath);</span>
+
+        // Preserves 'file.encoding' the plugin is executed with.
+<span class="fc" id="L486">        final List&lt;String&gt; 
additionalArguments = new ArrayList&lt;&gt;();</span>
+
+<span class="fc" id="L488">        boolean fileEncodingSeen = false;</span>
+
+<span class="pc bpc" id="L490" title="1 of 2 branches missed.">        if 
(this.arguments != null) {</span>
+<span class="fc bfc" id="L491" title="All 2 branches covered.">            for 
(final String argument : this.arguments) {</span>
+<span class="fc bfc" id="L492" title="All 2 branches covered.">                
if (argument.trim().startsWith(&quot;-J-Dfile.encoding=&quot;)) {</span>
+<span class="fc" id="L493">                    fileEncodingSeen = true;</span>
+                }
+
+<span class="fc" id="L496">                
additionalArguments.add(argument);</span>
+            }
+        }
+
+<span class="fc bfc" id="L500" title="All 2 branches covered.">        if 
(!fileEncodingSeen) {</span>
+<span class="fc" id="L501">            
additionalArguments.add(&quot;-J-Dfile.encoding=&quot; + 
ReaderFactory.FILE_ENCODING);</span>
+        }
+
+        // Adds proxy information.
+<span class="pc bpc" id="L505" title="1 of 2 branches missed.">        if 
(this.settings != null</span>
+<span class="nc bnc" id="L506" title="All 2 branches missed.">                
&amp;&amp; this.settings.getActiveProxy() != null</span>
+<span class="nc bnc" id="L507" title="All 2 branches missed.">                
&amp;&amp; StringUtils.isNotEmpty(this.settings.getActiveProxy().getHost())) 
{</span>
+<span class="nc" id="L508">            additionalArguments.add(</span>
+<span class="nc" id="L509">                    &quot;-J-Dhttp.proxyHost=&quot; 
+ this.settings.getActiveProxy().getHost());</span>
+<span class="nc" id="L510">            additionalArguments.add(</span>
+<span class="nc" id="L511">                    
&quot;-J-Dhttps.proxyHost=&quot; + 
this.settings.getActiveProxy().getHost());</span>
+<span class="nc" id="L512">            additionalArguments.add(</span>
+<span class="nc" id="L513">                    &quot;-J-Dftp.proxyHost=&quot; 
+ this.settings.getActiveProxy().getHost());</span>
+
+<span class="nc bnc" id="L515" title="All 2 branches missed.">            if 
(this.settings.getActiveProxy().getPort() &gt; 0) {</span>
+<span class="nc" id="L516">                additionalArguments.add(</span>
+<span class="nc" id="L517">                        
&quot;-J-Dhttp.proxyPort=&quot; + 
this.settings.getActiveProxy().getPort());</span>
+<span class="nc" id="L518">                additionalArguments.add(</span>
+<span class="nc" id="L519">                        
&quot;-J-Dhttps.proxyPort=&quot; + 
this.settings.getActiveProxy().getPort());</span>
+<span class="nc" id="L520">                additionalArguments.add(</span>
+<span class="nc" id="L521">                        
&quot;-J-Dftp.proxyPort=&quot; + 
this.settings.getActiveProxy().getPort());</span>
+            }
+
+<span class="nc bnc" id="L524" title="All 2 branches missed.">            if 
(StringUtils.isNotEmpty(this.settings.getActiveProxy().getNonProxyHosts())) 
{</span>
+<span class="nc" id="L525">                
additionalArguments.add(&quot;-J-Dhttp.nonProxyHosts=\&quot;&quot;</span>
+<span class="nc" id="L526">                        + 
this.settings.getActiveProxy().getNonProxyHosts() + &quot;\&quot;&quot;);</span>
+
+<span class="nc" id="L528">                
additionalArguments.add(&quot;-J-Dftp.nonProxyHosts=\&quot;&quot;</span>
+<span class="nc" id="L529">                        + 
this.settings.getActiveProxy().getNonProxyHosts() + &quot;\&quot;&quot;);</span>
+            }
+        }
+
+<span class="fc" id="L533">        request.setArguments(</span>
+<span class="pc bpc" id="L534" title="1 of 2 branches missed.">                
!additionalArguments.isEmpty()</span>
+<span class="fc" id="L535">                        ? 
additionalArguments.toArray(new String[additionalArguments.size()])</span>
+<span class="nc" id="L536">                        : null);</span>
+
+        // Special handling for passwords through the Maven Security Dispatcher
+<span class="fc" id="L539">        
request.setStorepass(decrypt(storepass));</span>
+
+        try {
+<span class="fc" id="L542">            executeJarSigner(jarSigner, 
request);</span>
+<span class="fc" id="L543">        } catch (JavaToolException e) {</span>
+<span class="fc" id="L544">            throw new 
MojoExecutionException(getMessage(&quot;commandLineException&quot;, 
e.getMessage()), e);</span>
+<span class="fc" id="L545">        }</span>
+<span class="fc" id="L546">    }</span>
+
+    /**
+     * Executes jarsigner (execute signing or verification for a jar file).
+     *
+     * @param jarSigner the JarSigner execution interface
+     * @param request the JarSignerRequest with parameters JarSigner should use
+     * @throws JavaToolException if jarsigner could not be invoked
+     * @throws MojoExecutionException if the invocation of jarsigner 
succeeded, but returned a non-zero exit code
+     */
+    protected abstract void executeJarSigner(JarSigner jarSigner, 
JarSignerRequest request)
+            throws JavaToolException, MojoExecutionException;
+
+    protected String decrypt(String encoded) throws MojoExecutionException {
+        try {
+<span class="fc" id="L561">            return 
securityDispatcher.decrypt(encoded);</span>
+<span class="nc" id="L562">        } catch (SecDispatcherException e) {</span>
+<span class="nc" id="L563">            getLog().error(&quot;error using 
security dispatcher: &quot; + e.getMessage(), e);</span>
+<span class="nc" id="L564">            throw new 
MojoExecutionException(&quot;error using security dispatcher: &quot; + 
e.getMessage(), e);</span>
+        }
+    }
+
+    /**
+     * Gets a message for a given key from the resource bundle backing the 
implementation.
+     *
+     * @param key the key of the message to return
+     * @param args arguments to format the message with
+     * @return the message with key {@code key} from the resource bundle 
backing the implementation
+     * @throws NullPointerException if {@code key} is {@code null}
+     * @throws java.util.MissingResourceException
+     *             if there is no message available matching {@code key} or 
accessing
+     *             the resource bundle fails
+     */
+    String getMessage(final String key, final Object... args) {
+<span class="pc bpc" id="L580" title="1 of 2 branches missed.">        if (key 
== null) {</span>
+<span class="nc" id="L581">            throw new 
NullPointerException(&quot;key&quot;);</span>
+        }
+
+<span class="fc" id="L584">        return new 
MessageFormat(ResourceBundle.getBundle(&quot;jarsigner&quot;).getString(key)).format(args);</span>
+    }
+
+    /**
+     * the part with ToolchainManager lookup once we depend on
+     * 2.0.9 (have it as prerequisite). Define as regular component field then.
+     * hint: check maven-compiler-plugin code
+     *
+     * @return Toolchain instance
+     */
+    private Toolchain getToolchain() {
+<span class="fc" id="L595">        Toolchain tc = null;</span>
+<span class="fc bfc" id="L596" title="All 2 branches covered.">        if 
(toolchainManager != null) {</span>
+<span class="fc" id="L597">            tc = 
toolchainManager.getToolchainFromBuildContext(&quot;jdk&quot;, session);</span>
+        }
+
+<span class="fc" id="L600">        return tc;</span>
+    }
+}
+</pre><div class="footer"><span class="right">Created with <a 
href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.12.202403310830</span></div></body></html>
\ No newline at end of file

Propchange: 
maven/website/components/plugins-archives/maven-jarsigner-plugin-LATEST/jacoco/org.apache.maven.plugins.jarsigner/AbstractJarsignerMojo.java.html
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to