1+ <!DOCTYPE html>
2+
3+
4+ <!--
5+ | Generated by Apache Maven Doxia Site Renderer 1.11.1 from org.apache.maven.plugins:maven-pmd-plugin:3.19.0:aggregate-cpd at 2022-12-17
6+ | Rendered using Apache Maven Fluido Skin 1.11.0
7+ -->
8+ < html xmlns ="http://www.w3.org/1999/xhtml " lang ="en ">
9+ < head >
10+ < meta charset ="UTF-8 " />
11+ < meta name ="viewport " content ="width=device-width, initial-scale=1 " />
12+ < meta name ="generator " content ="Apache Maven Doxia Site Renderer 1.11.1 " />
13+ < title > Plexus Compiler – CPD Results</ title >
14+ < link rel ="stylesheet " href ="./css/apache-maven-fluido-1.11.0.min.css " />
15+ < link rel ="stylesheet " href ="./css/site.css " />
16+ < link rel ="stylesheet " href ="./css/print.css " media ="print " />
17+ < script src ="./js/apache-maven-fluido-1.11.0.min.js "> </ script >
18+
19+ <!-- Matomo -->
20+ < script >
21+ var _paq = window . _paq = window . _paq || [ ] ;
22+ _paq . push ( [ 'disableCookies' ] ) ;
23+ _paq . push ( [ 'trackPageView' ] ) ;
24+ _paq . push ( [ 'enableLinkTracking' ] ) ;
25+
26+ ( function ( ) {
27+ var u = "https://analytics.apache.org/" ;
28+ _paq . push ( [ 'setTrackerUrl' , u + '/matomo.php' ] ) ;
29+ _paq . push ( [ 'setSiteId' , '18' ] ) ;
30+ var d = document , g = d . createElement ( 'script' ) , s = d . getElementsByTagName ( 'script' ) [ 0 ] ;
31+ g . async = true ; g . src = u + '/matomo.js' ; s . parentNode . insertBefore ( g , s ) ;
32+ } ) ( ) ;
33+ </ script >
34+ <!-- End Matomo Code -->
35+ </ head >
36+ < body class ="topBarDisabled ">
37+ < div class ="container-fluid ">
38+ < header >
39+ < div id ="banner ">
40+ < div class ="pull-left "> < a href ="http://codehaus-plexus.github.io/ " id ="bannerLeft "> < img src ="../images/plexus-logo-trans.png " alt ="Plexus " style ="" /> </ a > </ div >
41+ < div class ="pull-right "> </ div >
42+ < div class ="clear "> < hr /> </ div >
43+ </ div >
44+
45+ < div id ="breadcrumbs ">
46+ < ul class ="breadcrumb ">
47+ < li class =""> < a href ="../ " title ="Plexus "> Plexus</ a > < span class ="divider "> /</ span > </ li >
48+ < li class =""> < a href ="../index.html " title ="Plexus Components "> Plexus Components</ a > < span class ="divider "> /</ span > </ li >
49+ < li class =""> < a href ="index.html " title ="Plexus Compiler "> Plexus Compiler</ a > < span class ="divider "> /</ span > </ li >
50+ < li class ="active "> CPD Results</ li >
51+ < li id ="publishDate " class ="pull-right "> < span class ="divider "> |</ span > Last Published: 2022-12-17</ li >
52+ < li id ="projectVersion " class ="pull-right "> Version: 2.13.0</ li >
53+ </ ul >
54+ </ div >
55+ </ header >
56+ < div class ="row-fluid ">
57+ < header id ="leftColumn " class ="span2 ">
58+ < nav class ="well sidebar-nav ">
59+ < ul class ="nav nav-list ">
60+ < li class ="nav-header "> Modules</ li >
61+ < li > < a href ="plexus-compiler-api/index.html " title ="Plexus Compiler Api "> < span class ="none "> </ span > Plexus Compiler Api</ a > </ li >
62+ < li > < a href ="plexus-compiler-manager/index.html " title ="Plexus Compiler Manager "> < span class ="none "> </ span > Plexus Compiler Manager</ a > </ li >
63+ < li > < a href ="plexus-compilers/index.html " title ="Plexus Compilers "> < span class ="none "> </ span > Plexus Compilers</ a > </ li >
64+ < li > < a href ="plexus-compiler-test/index.html " title ="Plexus Compiler Test Harness "> < span class ="none "> </ span > Plexus Compiler Test Harness</ a > </ li >
65+ < li > < a href ="plexus-compiler-its/index.html " title ="Plexus Compiler It Tests "> < span class ="none "> </ span > Plexus Compiler It Tests</ a > </ li >
66+ < li class ="nav-header "> Project Documentation</ li >
67+ < li > < a href ="project-info.html " title ="Project Information "> < span class ="icon-chevron-right "> </ span > Project Information</ a > </ li >
68+ < li > < a href ="project-reports.html " title ="Project Reports "> < span class ="icon-chevron-down "> </ span > Project Reports</ a >
69+ < ul class ="nav nav-list ">
70+ < li > < a href ="surefire-report.html " title ="Surefire Report "> < span class ="none "> </ span > Surefire Report</ a > </ li >
71+ < li class ="active "> < a > < span class ="none "> </ span > CPD</ a > </ li >
72+ < li > < a href ="pmd.html " title ="PMD "> < span class ="none "> </ span > PMD</ a > </ li >
73+ </ ul > </ li >
74+ < li class ="nav-header "> Plexus Projects</ li >
75+ < li > < a href ="../modello/ " title ="Modello "> < span class ="none "> </ span > Modello</ a > </ li >
76+ < li > < a href ="../plexus-classworlds/ " title ="Plexus Classworlds "> < span class ="none "> </ span > Plexus Classworlds</ a > </ li >
77+ < li > < a href ="" title ="Plexus Components "> < span class ="icon-chevron-down "> </ span > Plexus Components</ a >
78+ < ul class ="nav nav-list ">
79+ < li > < a href ="../plexus-archiver/ " title ="Plexus Archiver "> < span class ="none "> </ span > Plexus Archiver</ a > </ li >
80+ < li > < a href ="../plexus-cli/ " title ="Plexus CLI "> < span class ="none "> </ span > Plexus CLI</ a > </ li >
81+ < li > < a href ="../plexus-compiler/ " title ="Plexus Compiler "> < span class ="none "> </ span > Plexus Compiler</ a > </ li >
82+ < li > < a href ="../plexus-digest/ " title ="Plexus Digest "> < span class ="none "> </ span > Plexus Digest</ a > </ li >
83+ < li > < a href ="../plexus-i18n/ " title ="Plexus i18n "> < span class ="none "> </ span > Plexus i18n</ a > </ li >
84+ < li > < a href ="../plexus-interactivity/ " title ="Plexus Interactivity "> < span class ="none "> </ span > Plexus Interactivity</ a > </ li >
85+ < li > < a href ="../plexus-interpolation/ " title ="Plexus Interpolation "> < span class ="none "> </ span > Plexus Interpolation</ a > </ li >
86+ < li > < a href ="../plexus-io/ " title ="Plexus IO "> < span class ="none "> </ span > Plexus IO</ a > </ li >
87+ < li > < a href ="../plexus-languages/ " title ="Plexus Languages "> < span class ="none "> </ span > Plexus Languages</ a > </ li >
88+ < li > < a href ="../plexus-resources/ " title ="Plexus Resources "> < span class ="none "> </ span > Plexus Resources</ a > </ li >
89+ < li > < a href ="../plexus-swizzle/ " title ="Plexus Swizzle "> < span class ="none "> </ span > Plexus Swizzle</ a > </ li >
90+ < li > < a href ="../plexus-velocity/ " title ="Plexus Velocity "> < span class ="none "> </ span > Plexus Velocity</ a > </ li >
91+ </ ul > </ li >
92+ < li > < a href ="" title ="Plexus Parent POMs "> < span class ="icon-chevron-down "> </ span > Plexus Parent POMs</ a >
93+ < ul class ="nav nav-list ">
94+ < li > < a href ="../plexus-pom/ " title ="Plexus "> < span class ="none "> </ span > Plexus</ a > </ li >
95+ < li > < a href ="../plexus-components/ " title ="Plexus Components "> < span class ="none "> </ span > Plexus Components</ a > </ li >
96+ </ ul > </ li >
97+ < li > < a href ="../plexus-utils/ " title ="Plexus Utils "> < span class ="none "> </ span > Plexus Utils</ a > </ li >
98+ </ ul >
99+ </ nav >
100+ < div class ="well sidebar-nav ">
101+ < form id ="search-form " action ="https://www.google.com/search " method ="get " >
102+ < input value ="http://codehaus-plexus.github.io/ " name ="sitesearch " type ="hidden "/>
103+ < input class ="search-query " name ="q " id ="query " type ="text " />
104+ </ form >
105+ < script > asyncJs ( 'https://cse.google.com/brand?form=search-form' ) </ script >
106+ < div id ="poweredBy ">
107+ < div class ="clear "> </ div >
108+ < div class ="clear "> </ div >
109+ < div class ="clear "> </ div >
110+ < a href ="http://maven.apache.org/ " title ="Built by Maven " class ="poweredBy "> < img class ="builtBy " alt ="Built by Maven " src ="./images/logos/maven-feather.png " /> </ a >
111+ </ div >
112+ </ div >
113+ </ header >
114+ < main id ="bodyColumn " class ="span10 " >
115+ < section >
116+ < h2 > < a name ="CPD_Results "> </ a > CPD Results</ h2 >
117+ < p > The following document contains the results of PMD's < a class ="externalLink " href ="https://pmd.github.io/latest/pmd_userdocs_cpd.html "> CPD</ a > 6.49.0.</ p > </ section > < section >
118+ < h2 > < a name ="Duplications "> </ a > Duplications</ h2 >
119+ < table border ="0 " class ="table table-striped ">
120+ < tr class ="a ">
121+ < th > File</ th >
122+ < th > Project</ th >
123+ < th > Line</ th > </ tr >
124+ < tr class ="b ">
125+ < td > org/codehaus/plexus/compiler/ajc/AspectJCompiler.java</ td >
126+ < td > Plexus AspectJ Compiler</ td >
127+ < td > < a href ="./xref/org/codehaus/plexus/compiler/ajc/AspectJCompiler.html#L663 "> 663</ a > </ td > </ tr >
128+ < tr class ="a ">
129+ < td > org/codehaus/plexus/compiler/csharp/CSharpCompiler.java</ td >
130+ < td > Plexus C# Compiler</ td >
131+ < td > < a href ="./xref/org/codehaus/plexus/compiler/csharp/CSharpCompiler.html#L630 "> 630</ a > </ td > </ tr >
132+ < tr class ="b "> < td colspan ='3 '>
133+ < div >
134+ < pre > sources.addAll( getSourceFilesForSourceRoot( config, sourceLocation ) );
135+ }
136+ }
137+
138+ String[] result;
139+
140+ if ( sources.isEmpty() )
141+ {
142+ result = new String[0];
143+ }
144+ else
145+ {
146+ result = sources.toArray( new String[sources.size()] );
147+ }
148+
149+ return result;
150+ }
151+
152+ protected static Set<String> getSourceFilesForSourceRoot( CompilerConfiguration config, String sourceLocation )
153+ {
154+ DirectoryScanner scanner = new DirectoryScanner();
155+
156+ scanner.setBasedir( sourceLocation );
157+
158+ Set<String> includes = config.getIncludes();
159+
160+ if ( includes != null && !includes.isEmpty() )
161+ {
162+ String[] inclStrs = includes.toArray( new String[includes.size()] );
163+ scanner.setIncludes( inclStrs );
164+ }
165+ else
166+ {
167+ scanner.setIncludes( new String[] {"**/*.java", "**/*.aj"} );</ pre > </ div > </ td > </ tr > </ table >
168+ < table border ="0 " class ="table table-striped ">
169+ < tr class ="a ">
170+ < th > File</ th >
171+ < th > Project</ th >
172+ < th > Line</ th > </ tr >
173+ < tr class ="b ">
174+ < td > org/codehaus/plexus/compiler/csharp/CSharpCompiler.java</ td >
175+ < td > Plexus C# Compiler</ td >
176+ < td > < a href ="./xref/org/codehaus/plexus/compiler/csharp/CSharpCompiler.html#L117 "> 117</ a > </ td > </ tr >
177+ < tr class ="a ">
178+ < td > org/codehaus/plexus/compiler/j2objc/J2ObjCCompiler.java</ td >
179+ < td > Plexus J2ObjC Compiler</ td >
180+ < td > < a href ="./xref/org/codehaus/plexus/compiler/j2objc/J2ObjCCompiler.html#L124 "> 124</ a > </ td > </ tr >
181+ < tr class ="b "> < td colspan ='3 '>
182+ < div >
183+ < pre > String[] sourceFiles = CSharpCompiler.getSourceFiles( config );
184+
185+ if ( sourceFiles.length == 0 )
186+ {
187+ return new CompilerResult().success( true );
188+ }
189+
190+ logCompiling( sourceFiles, config );
191+
192+ String[] args = buildCompilerArguments( config, sourceFiles );
193+
194+ List<CompilerMessage> messages;
195+
196+ if ( config.isFork() )
197+ {
198+ messages =
199+ compileOutOfProcess( config.getWorkingDirectory(), config.getBuildDirectory(), findExecutable( config ),
200+ args );
201+ }
202+ else
203+ {
204+ throw new CompilerException( "This compiler doesn't support in-process compilation." );
205+ }
206+
207+ return new CompilerResult().compilerMessages( messages );
208+ }
209+
210+ public String[] createCommandLine( CompilerConfiguration config )
211+ throws CompilerException
212+ {
213+ return buildCompilerArguments( config, CSharpCompiler.getSourceFiles( config ) );</ pre > </ div > </ td > </ tr > </ table >
214+ < table border ="0 " class ="table table-striped ">
215+ < tr class ="a ">
216+ < th > File</ th >
217+ < th > Project</ th >
218+ < th > Line</ th > </ tr >
219+ < tr class ="b ">
220+ < td > org/codehaus/plexus/compiler/csharp/DefaultCSharpCompilerParser.java</ td >
221+ < td > Plexus C# Compiler</ td >
222+ < td > < a href ="./xref/org/codehaus/plexus/compiler/csharp/DefaultCSharpCompilerParser.html#L68 "> 68</ a > </ td > </ tr >
223+ < tr class ="a ">
224+ < td > org/codehaus/plexus/compiler/csharp/DefaultCSharpCompilerParser.java</ td >
225+ < td > Plexus C# Compiler</ td >
226+ < td > < a href ="./xref/org/codehaus/plexus/compiler/csharp/DefaultCSharpCompilerParser.html#L118 "> 118</ a > </ td > </ tr >
227+ < tr class ="b "> < td colspan ='3 '>
228+ < div >
229+ < pre > private static CompilerMessage parseLineWithNoColumnNumber( String line )
230+ {
231+
232+ String file = null;
233+ boolean error = true;
234+ int startline = -1;
235+ int startcolumn = -1;
236+ int endline = -1;
237+ int endcolumn = -1;
238+ String message;
239+
240+ if ( line.startsWith( ERROR_PREFIX ) )
241+ {
242+ message = line.substring( ERROR_PREFIX.length() );
243+ }
244+ else if ( line.startsWith( COMPILATION_PREFIX ) )
245+ {
246+ // ignore
247+
248+ return null;
249+ }
250+ else if ( line.contains( MAGIC_LINE_MARKER ) )
251+ {
252+ int i = line.indexOf( MAGIC_LINE_MARKER );
253+
254+ int j = line.indexOf( ' ', i );
255+
256+ file = line.substring( 0, i + 3 );
257+
258+ String num = line.substring( i + MAGIC_LINE_MARKER.length(), j - 1 );</ pre > </ div > </ td > </ tr > </ table >
259+ < table border ="0 " class ="table table-striped ">
260+ < tr class ="a ">
261+ < th > File</ th >
262+ < th > Project</ th >
263+ < th > Line</ th > </ tr >
264+ < tr class ="b ">
265+ < td > org/codehaus/plexus/compiler/csharp/CSharpCompiler.java</ td >
266+ < td > Plexus C# Compiler</ td >
267+ < td > < a href ="./xref/org/codehaus/plexus/compiler/csharp/CSharpCompiler.html#L516 "> 516</ a > </ td > </ tr >
268+ < tr class ="a ">
269+ < td > org/codehaus/plexus/compiler/j2objc/J2ObjCCompiler.java</ td >
270+ < td > Plexus J2ObjC Compiler</ td >
271+ < td > < a href ="./xref/org/codehaus/plexus/compiler/j2objc/J2ObjCCompiler.html#L285 "> 285</ a > </ td > </ tr >
272+ < tr class ="b "> < td colspan ='3 '>
273+ < div >
274+ < pre > cli.createArgument().setValue( "@" + file.getAbsolutePath() );
275+
276+ Writer stringWriter = new StringWriter();
277+
278+ StreamConsumer out = new WriterStreamConsumer( stringWriter );
279+
280+ StreamConsumer err = new WriterStreamConsumer( stringWriter );
281+
282+ int returnCode;
283+
284+ List<CompilerMessage> messages;
285+
286+ try
287+ {
288+ returnCode = CommandLineUtils.executeCommandLine( cli, out, err );
289+
290+ messages = parseCompilerOutput( new BufferedReader( new StringReader( stringWriter.toString() ) ) );
291+ }
292+ catch ( CommandLineException | IOException e )
293+ {
294+ throw new CompilerException( "Error while executing the external compiler.", e );
295+ }
296+
297+ if ( returnCode != 0 && messages.isEmpty() )
298+ {
299+ // TODO: exception?
300+ messages.add( new CompilerMessage(
301+ "Failure executing the compiler, but could not parse the error:" + EOL + stringWriter.toString(),</ pre > </ div > </ td > </ tr > </ table > </ section >
302+ </ main >
303+ </ div >
304+ </ div >
305+ < hr />
306+ < footer >
307+ < div class ="container-fluid ">
308+ < div class ="row-fluid ">
309+ < p > © 2001–2022
310+ < a href ="https://codehaus-plexus.github.io/ "> Codehaus Plexus</ a >
311+ </ p >
312+ </ div >
313+ </ div >
314+ </ footer >
315+ < script >
316+ if ( anchors ) {
317+ anchors . add ( ) ;
318+ }
319+ </ script >
320+ </ body >
321+ </ html >
0 commit comments