1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.apache.maven.plugins.assembly.model.io.xpp3;
25
26
27
28
29
30 import java.io.OutputStream;
31 import java.io.Writer;
32 import java.util.Iterator;
33 import org.apache.maven.plugins.assembly.model.Component;
34 import org.apache.maven.plugins.assembly.model.ContainerDescriptorHandlerConfig;
35 import org.apache.maven.plugins.assembly.model.DependencySet;
36 import org.apache.maven.plugins.assembly.model.FileItem;
37 import org.apache.maven.plugins.assembly.model.FileSet;
38 import org.apache.maven.plugins.assembly.model.ModuleBinaries;
39 import org.apache.maven.plugins.assembly.model.ModuleSet;
40 import org.apache.maven.plugins.assembly.model.ModuleSources;
41 import org.apache.maven.plugins.assembly.model.UnpackOptions;
42 import org.codehaus.plexus.util.xml.Xpp3Dom;
43 import org.codehaus.plexus.util.xml.pull.MXSerializer;
44 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
45
46
47
48
49
50
51 @SuppressWarnings( "all" )
52 public class ComponentXpp3Writer
53 {
54
55
56
57
58
59
60
61
62 private static final String NAMESPACE = null;
63
64
65
66
67 private String fileComment = null;
68
69
70
71
72
73
74
75
76
77
78
79 public void setFileComment( String fileComment )
80 {
81 this.fileComment = fileComment;
82 }
83
84
85
86
87
88
89
90
91 public void write( Writer writer, Component component )
92 throws java.io.IOException
93 {
94 XmlSerializer serializer = new MXSerializer();
95 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
96 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
97 serializer.setOutput( writer );
98 serializer.startDocument( component.getModelEncoding(), null );
99 writeComponent( component, "component", serializer );
100 serializer.endDocument();
101 }
102
103
104
105
106
107
108
109
110 public void write( OutputStream stream, Component component )
111 throws java.io.IOException
112 {
113 XmlSerializer serializer = new MXSerializer();
114 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
115 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
116 serializer.setOutput( stream, component.getModelEncoding() );
117 serializer.startDocument( component.getModelEncoding(), null );
118 writeComponent( component, "component", serializer );
119 serializer.endDocument();
120 }
121
122
123
124
125
126
127
128
129
130 private void writeComponent( Component component, String tagName, XmlSerializer serializer )
131 throws java.io.IOException
132 {
133 if ( this.fileComment != null )
134 {
135 serializer.comment(this.fileComment);
136 }
137 serializer.setPrefix( "", "http://maven.apache.org/ASSEMBLY-COMPONENT/2.2.0" );
138 serializer.setPrefix( "xsi", "http://www.w3.org/2001/XMLSchema-instance" );
139 serializer.startTag( NAMESPACE, tagName );
140 serializer.attribute( "", "xsi:schemaLocation", "http://maven.apache.org/ASSEMBLY-COMPONENT/2.2.0 https://maven.apache.org/xsd/assembly-component-2.2.0.xsd" );
141 if ( ( component.getModuleSets() != null ) && ( component.getModuleSets().size() > 0 ) )
142 {
143 serializer.startTag( NAMESPACE, "moduleSets" );
144 for ( Iterator iter = component.getModuleSets().iterator(); iter.hasNext(); )
145 {
146 ModuleSet o = (ModuleSet) iter.next();
147 writeModuleSet( o, "moduleSet", serializer );
148 }
149 serializer.endTag( NAMESPACE, "moduleSets" );
150 }
151 if ( ( component.getFileSets() != null ) && ( component.getFileSets().size() > 0 ) )
152 {
153 serializer.startTag( NAMESPACE, "fileSets" );
154 for ( Iterator iter = component.getFileSets().iterator(); iter.hasNext(); )
155 {
156 FileSet o = (FileSet) iter.next();
157 writeFileSet( o, "fileSet", serializer );
158 }
159 serializer.endTag( NAMESPACE, "fileSets" );
160 }
161 if ( ( component.getFiles() != null ) && ( component.getFiles().size() > 0 ) )
162 {
163 serializer.startTag( NAMESPACE, "files" );
164 for ( Iterator iter = component.getFiles().iterator(); iter.hasNext(); )
165 {
166 FileItem o = (FileItem) iter.next();
167 writeFileItem( o, "file", serializer );
168 }
169 serializer.endTag( NAMESPACE, "files" );
170 }
171 if ( ( component.getDependencySets() != null ) && ( component.getDependencySets().size() > 0 ) )
172 {
173 serializer.startTag( NAMESPACE, "dependencySets" );
174 for ( Iterator iter = component.getDependencySets().iterator(); iter.hasNext(); )
175 {
176 DependencySet o = (DependencySet) iter.next();
177 writeDependencySet( o, "dependencySet", serializer );
178 }
179 serializer.endTag( NAMESPACE, "dependencySets" );
180 }
181 if ( ( component.getContainerDescriptorHandlers() != null ) && ( component.getContainerDescriptorHandlers().size() > 0 ) )
182 {
183 serializer.startTag( NAMESPACE, "containerDescriptorHandlers" );
184 for ( Iterator iter = component.getContainerDescriptorHandlers().iterator(); iter.hasNext(); )
185 {
186 ContainerDescriptorHandlerConfig o = (ContainerDescriptorHandlerConfig) iter.next();
187 writeContainerDescriptorHandlerConfig( o, "containerDescriptorHandler", serializer );
188 }
189 serializer.endTag( NAMESPACE, "containerDescriptorHandlers" );
190 }
191 serializer.endTag( NAMESPACE, tagName );
192 }
193
194
195
196
197
198
199
200
201
202
203 private void writeContainerDescriptorHandlerConfig( ContainerDescriptorHandlerConfig containerDescriptorHandlerConfig, String tagName, XmlSerializer serializer )
204 throws java.io.IOException
205 {
206 serializer.startTag( NAMESPACE, tagName );
207 if ( containerDescriptorHandlerConfig.getHandlerName() != null )
208 {
209 serializer.startTag( NAMESPACE, "handlerName" ).text( containerDescriptorHandlerConfig.getHandlerName() ).endTag( NAMESPACE, "handlerName" );
210 }
211 if ( containerDescriptorHandlerConfig.getConfiguration() != null )
212 {
213 ((Xpp3Dom) containerDescriptorHandlerConfig.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
214 }
215 serializer.endTag( NAMESPACE, tagName );
216 }
217
218
219
220
221
222
223
224
225
226 private void writeDependencySet( DependencySet dependencySet, String tagName, XmlSerializer serializer )
227 throws java.io.IOException
228 {
229 serializer.startTag( NAMESPACE, tagName );
230 if ( dependencySet.getOutputDirectory() != null )
231 {
232 serializer.startTag( NAMESPACE, "outputDirectory" ).text( dependencySet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
233 }
234 if ( ( dependencySet.getIncludes() != null ) && ( dependencySet.getIncludes().size() > 0 ) )
235 {
236 serializer.startTag( NAMESPACE, "includes" );
237 for ( Iterator iter = dependencySet.getIncludes().iterator(); iter.hasNext(); )
238 {
239 String include = (String) iter.next();
240 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
241 }
242 serializer.endTag( NAMESPACE, "includes" );
243 }
244 if ( ( dependencySet.getExcludes() != null ) && ( dependencySet.getExcludes().size() > 0 ) )
245 {
246 serializer.startTag( NAMESPACE, "excludes" );
247 for ( Iterator iter = dependencySet.getExcludes().iterator(); iter.hasNext(); )
248 {
249 String exclude = (String) iter.next();
250 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
251 }
252 serializer.endTag( NAMESPACE, "excludes" );
253 }
254 if ( dependencySet.getFileMode() != null )
255 {
256 serializer.startTag( NAMESPACE, "fileMode" ).text( dependencySet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
257 }
258 if ( dependencySet.getDirectoryMode() != null )
259 {
260 serializer.startTag( NAMESPACE, "directoryMode" ).text( dependencySet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
261 }
262 if ( dependencySet.isUseStrictFiltering() != false )
263 {
264 serializer.startTag( NAMESPACE, "useStrictFiltering" ).text( String.valueOf( dependencySet.isUseStrictFiltering() ) ).endTag( NAMESPACE, "useStrictFiltering" );
265 }
266 if ( ( dependencySet.getOutputFileNameMapping() != null ) && !dependencySet.getOutputFileNameMapping().equals( "${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}" ) )
267 {
268 serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( dependencySet.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
269 }
270 if ( dependencySet.isUnpack() != false )
271 {
272 serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( dependencySet.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
273 }
274 if ( dependencySet.getUnpackOptions() != null )
275 {
276 writeUnpackOptions( (UnpackOptions) dependencySet.getUnpackOptions(), "unpackOptions", serializer );
277 }
278 if ( ( dependencySet.getScope() != null ) && !dependencySet.getScope().equals( "runtime" ) )
279 {
280 serializer.startTag( NAMESPACE, "scope" ).text( dependencySet.getScope() ).endTag( NAMESPACE, "scope" );
281 }
282 if ( dependencySet.isUseProjectArtifact() != true )
283 {
284 serializer.startTag( NAMESPACE, "useProjectArtifact" ).text( String.valueOf( dependencySet.isUseProjectArtifact() ) ).endTag( NAMESPACE, "useProjectArtifact" );
285 }
286 if ( dependencySet.isUseProjectAttachments() != false )
287 {
288 serializer.startTag( NAMESPACE, "useProjectAttachments" ).text( String.valueOf( dependencySet.isUseProjectAttachments() ) ).endTag( NAMESPACE, "useProjectAttachments" );
289 }
290 if ( dependencySet.isUseTransitiveDependencies() != true )
291 {
292 serializer.startTag( NAMESPACE, "useTransitiveDependencies" ).text( String.valueOf( dependencySet.isUseTransitiveDependencies() ) ).endTag( NAMESPACE, "useTransitiveDependencies" );
293 }
294 if ( dependencySet.isUseTransitiveFiltering() != false )
295 {
296 serializer.startTag( NAMESPACE, "useTransitiveFiltering" ).text( String.valueOf( dependencySet.isUseTransitiveFiltering() ) ).endTag( NAMESPACE, "useTransitiveFiltering" );
297 }
298 serializer.endTag( NAMESPACE, tagName );
299 }
300
301
302
303
304
305
306
307
308
309 private void writeFileItem( FileItem fileItem, String tagName, XmlSerializer serializer )
310 throws java.io.IOException
311 {
312 serializer.startTag( NAMESPACE, tagName );
313 if ( fileItem.getSource() != null )
314 {
315 serializer.startTag( NAMESPACE, "source" ).text( fileItem.getSource() ).endTag( NAMESPACE, "source" );
316 }
317 if ( ( fileItem.getSources() != null ) && ( fileItem.getSources().size() > 0 ) )
318 {
319 serializer.startTag( NAMESPACE, "sources" );
320 for ( Iterator iter = fileItem.getSources().iterator(); iter.hasNext(); )
321 {
322 String source = (String) iter.next();
323 serializer.startTag( NAMESPACE, "source" ).text( source ).endTag( NAMESPACE, "source" );
324 }
325 serializer.endTag( NAMESPACE, "sources" );
326 }
327 if ( fileItem.getOutputDirectory() != null )
328 {
329 serializer.startTag( NAMESPACE, "outputDirectory" ).text( fileItem.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
330 }
331 if ( fileItem.getDestName() != null )
332 {
333 serializer.startTag( NAMESPACE, "destName" ).text( fileItem.getDestName() ).endTag( NAMESPACE, "destName" );
334 }
335 if ( fileItem.getFileMode() != null )
336 {
337 serializer.startTag( NAMESPACE, "fileMode" ).text( fileItem.getFileMode() ).endTag( NAMESPACE, "fileMode" );
338 }
339 if ( fileItem.getLineEnding() != null )
340 {
341 serializer.startTag( NAMESPACE, "lineEnding" ).text( fileItem.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
342 }
343 if ( fileItem.isFiltered() != false )
344 {
345 serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( fileItem.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
346 }
347 serializer.endTag( NAMESPACE, tagName );
348 }
349
350
351
352
353
354
355
356
357
358 private void writeFileSet( FileSet fileSet, String tagName, XmlSerializer serializer )
359 throws java.io.IOException
360 {
361 serializer.startTag( NAMESPACE, tagName );
362 if ( fileSet.isUseDefaultExcludes() != true )
363 {
364 serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( fileSet.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
365 }
366 if ( fileSet.getOutputDirectory() != null )
367 {
368 serializer.startTag( NAMESPACE, "outputDirectory" ).text( fileSet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
369 }
370 if ( ( fileSet.getIncludes() != null ) && ( fileSet.getIncludes().size() > 0 ) )
371 {
372 serializer.startTag( NAMESPACE, "includes" );
373 for ( Iterator iter = fileSet.getIncludes().iterator(); iter.hasNext(); )
374 {
375 String include = (String) iter.next();
376 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
377 }
378 serializer.endTag( NAMESPACE, "includes" );
379 }
380 if ( ( fileSet.getExcludes() != null ) && ( fileSet.getExcludes().size() > 0 ) )
381 {
382 serializer.startTag( NAMESPACE, "excludes" );
383 for ( Iterator iter = fileSet.getExcludes().iterator(); iter.hasNext(); )
384 {
385 String exclude = (String) iter.next();
386 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
387 }
388 serializer.endTag( NAMESPACE, "excludes" );
389 }
390 if ( fileSet.getFileMode() != null )
391 {
392 serializer.startTag( NAMESPACE, "fileMode" ).text( fileSet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
393 }
394 if ( fileSet.getDirectoryMode() != null )
395 {
396 serializer.startTag( NAMESPACE, "directoryMode" ).text( fileSet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
397 }
398 if ( fileSet.getDirectory() != null )
399 {
400 serializer.startTag( NAMESPACE, "directory" ).text( fileSet.getDirectory() ).endTag( NAMESPACE, "directory" );
401 }
402 if ( fileSet.getLineEnding() != null )
403 {
404 serializer.startTag( NAMESPACE, "lineEnding" ).text( fileSet.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
405 }
406 if ( fileSet.isFiltered() != false )
407 {
408 serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( fileSet.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
409 }
410 if ( ( fileSet.getNonFilteredFileExtensions() != null ) && ( fileSet.getNonFilteredFileExtensions().size() > 0 ) )
411 {
412 serializer.startTag( NAMESPACE, "nonFilteredFileExtensions" );
413 for ( Iterator iter = fileSet.getNonFilteredFileExtensions().iterator(); iter.hasNext(); )
414 {
415 String nonFilteredFileExtension = (String) iter.next();
416 serializer.startTag( NAMESPACE, "nonFilteredFileExtension" ).text( nonFilteredFileExtension ).endTag( NAMESPACE, "nonFilteredFileExtension" );
417 }
418 serializer.endTag( NAMESPACE, "nonFilteredFileExtensions" );
419 }
420 serializer.endTag( NAMESPACE, tagName );
421 }
422
423
424
425
426
427
428
429
430
431 private void writeModuleBinaries( ModuleBinaries moduleBinaries, String tagName, XmlSerializer serializer )
432 throws java.io.IOException
433 {
434 serializer.startTag( NAMESPACE, tagName );
435 if ( moduleBinaries.getOutputDirectory() != null )
436 {
437 serializer.startTag( NAMESPACE, "outputDirectory" ).text( moduleBinaries.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
438 }
439 if ( ( moduleBinaries.getIncludes() != null ) && ( moduleBinaries.getIncludes().size() > 0 ) )
440 {
441 serializer.startTag( NAMESPACE, "includes" );
442 for ( Iterator iter = moduleBinaries.getIncludes().iterator(); iter.hasNext(); )
443 {
444 String include = (String) iter.next();
445 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
446 }
447 serializer.endTag( NAMESPACE, "includes" );
448 }
449 if ( ( moduleBinaries.getExcludes() != null ) && ( moduleBinaries.getExcludes().size() > 0 ) )
450 {
451 serializer.startTag( NAMESPACE, "excludes" );
452 for ( Iterator iter = moduleBinaries.getExcludes().iterator(); iter.hasNext(); )
453 {
454 String exclude = (String) iter.next();
455 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
456 }
457 serializer.endTag( NAMESPACE, "excludes" );
458 }
459 if ( moduleBinaries.getFileMode() != null )
460 {
461 serializer.startTag( NAMESPACE, "fileMode" ).text( moduleBinaries.getFileMode() ).endTag( NAMESPACE, "fileMode" );
462 }
463 if ( moduleBinaries.getDirectoryMode() != null )
464 {
465 serializer.startTag( NAMESPACE, "directoryMode" ).text( moduleBinaries.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
466 }
467 if ( moduleBinaries.getAttachmentClassifier() != null )
468 {
469 serializer.startTag( NAMESPACE, "attachmentClassifier" ).text( moduleBinaries.getAttachmentClassifier() ).endTag( NAMESPACE, "attachmentClassifier" );
470 }
471 if ( moduleBinaries.isIncludeDependencies() != true )
472 {
473 serializer.startTag( NAMESPACE, "includeDependencies" ).text( String.valueOf( moduleBinaries.isIncludeDependencies() ) ).endTag( NAMESPACE, "includeDependencies" );
474 }
475 if ( ( moduleBinaries.getDependencySets() != null ) && ( moduleBinaries.getDependencySets().size() > 0 ) )
476 {
477 serializer.startTag( NAMESPACE, "dependencySets" );
478 for ( Iterator iter = moduleBinaries.getDependencySets().iterator(); iter.hasNext(); )
479 {
480 DependencySet o = (DependencySet) iter.next();
481 writeDependencySet( o, "dependencySet", serializer );
482 }
483 serializer.endTag( NAMESPACE, "dependencySets" );
484 }
485 if ( moduleBinaries.isUnpack() != true )
486 {
487 serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( moduleBinaries.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
488 }
489 if ( moduleBinaries.getUnpackOptions() != null )
490 {
491 writeUnpackOptions( (UnpackOptions) moduleBinaries.getUnpackOptions(), "unpackOptions", serializer );
492 }
493 if ( ( moduleBinaries.getOutputFileNameMapping() != null ) && !moduleBinaries.getOutputFileNameMapping().equals( "${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}" ) )
494 {
495 serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( moduleBinaries.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
496 }
497 serializer.endTag( NAMESPACE, tagName );
498 }
499
500
501
502
503
504
505
506
507
508 private void writeModuleSet( ModuleSet moduleSet, String tagName, XmlSerializer serializer )
509 throws java.io.IOException
510 {
511 serializer.startTag( NAMESPACE, tagName );
512 if ( moduleSet.isUseAllReactorProjects() != false )
513 {
514 serializer.startTag( NAMESPACE, "useAllReactorProjects" ).text( String.valueOf( moduleSet.isUseAllReactorProjects() ) ).endTag( NAMESPACE, "useAllReactorProjects" );
515 }
516 if ( moduleSet.isIncludeSubModules() != true )
517 {
518 serializer.startTag( NAMESPACE, "includeSubModules" ).text( String.valueOf( moduleSet.isIncludeSubModules() ) ).endTag( NAMESPACE, "includeSubModules" );
519 }
520 if ( ( moduleSet.getIncludes() != null ) && ( moduleSet.getIncludes().size() > 0 ) )
521 {
522 serializer.startTag( NAMESPACE, "includes" );
523 for ( Iterator iter = moduleSet.getIncludes().iterator(); iter.hasNext(); )
524 {
525 String include = (String) iter.next();
526 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
527 }
528 serializer.endTag( NAMESPACE, "includes" );
529 }
530 if ( ( moduleSet.getExcludes() != null ) && ( moduleSet.getExcludes().size() > 0 ) )
531 {
532 serializer.startTag( NAMESPACE, "excludes" );
533 for ( Iterator iter = moduleSet.getExcludes().iterator(); iter.hasNext(); )
534 {
535 String exclude = (String) iter.next();
536 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
537 }
538 serializer.endTag( NAMESPACE, "excludes" );
539 }
540 if ( moduleSet.getSources() != null )
541 {
542 writeModuleSources( (ModuleSources) moduleSet.getSources(), "sources", serializer );
543 }
544 if ( moduleSet.getBinaries() != null )
545 {
546 writeModuleBinaries( (ModuleBinaries) moduleSet.getBinaries(), "binaries", serializer );
547 }
548 serializer.endTag( NAMESPACE, tagName );
549 }
550
551
552
553
554
555
556
557
558
559 private void writeModuleSources( ModuleSources moduleSources, String tagName, XmlSerializer serializer )
560 throws java.io.IOException
561 {
562 serializer.startTag( NAMESPACE, tagName );
563 if ( moduleSources.isUseDefaultExcludes() != true )
564 {
565 serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( moduleSources.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
566 }
567 if ( moduleSources.getOutputDirectory() != null )
568 {
569 serializer.startTag( NAMESPACE, "outputDirectory" ).text( moduleSources.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
570 }
571 if ( ( moduleSources.getIncludes() != null ) && ( moduleSources.getIncludes().size() > 0 ) )
572 {
573 serializer.startTag( NAMESPACE, "includes" );
574 for ( Iterator iter = moduleSources.getIncludes().iterator(); iter.hasNext(); )
575 {
576 String include = (String) iter.next();
577 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
578 }
579 serializer.endTag( NAMESPACE, "includes" );
580 }
581 if ( ( moduleSources.getExcludes() != null ) && ( moduleSources.getExcludes().size() > 0 ) )
582 {
583 serializer.startTag( NAMESPACE, "excludes" );
584 for ( Iterator iter = moduleSources.getExcludes().iterator(); iter.hasNext(); )
585 {
586 String exclude = (String) iter.next();
587 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
588 }
589 serializer.endTag( NAMESPACE, "excludes" );
590 }
591 if ( moduleSources.getFileMode() != null )
592 {
593 serializer.startTag( NAMESPACE, "fileMode" ).text( moduleSources.getFileMode() ).endTag( NAMESPACE, "fileMode" );
594 }
595 if ( moduleSources.getDirectoryMode() != null )
596 {
597 serializer.startTag( NAMESPACE, "directoryMode" ).text( moduleSources.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
598 }
599 if ( ( moduleSources.getFileSets() != null ) && ( moduleSources.getFileSets().size() > 0 ) )
600 {
601 serializer.startTag( NAMESPACE, "fileSets" );
602 for ( Iterator iter = moduleSources.getFileSets().iterator(); iter.hasNext(); )
603 {
604 FileSet o = (FileSet) iter.next();
605 writeFileSet( o, "fileSet", serializer );
606 }
607 serializer.endTag( NAMESPACE, "fileSets" );
608 }
609 if ( moduleSources.isIncludeModuleDirectory() != true )
610 {
611 serializer.startTag( NAMESPACE, "includeModuleDirectory" ).text( String.valueOf( moduleSources.isIncludeModuleDirectory() ) ).endTag( NAMESPACE, "includeModuleDirectory" );
612 }
613 if ( moduleSources.isExcludeSubModuleDirectories() != true )
614 {
615 serializer.startTag( NAMESPACE, "excludeSubModuleDirectories" ).text( String.valueOf( moduleSources.isExcludeSubModuleDirectories() ) ).endTag( NAMESPACE, "excludeSubModuleDirectories" );
616 }
617 if ( ( moduleSources.getOutputDirectoryMapping() != null ) && !moduleSources.getOutputDirectoryMapping().equals( "${module.artifactId}" ) )
618 {
619 serializer.startTag( NAMESPACE, "outputDirectoryMapping" ).text( moduleSources.getOutputDirectoryMapping() ).endTag( NAMESPACE, "outputDirectoryMapping" );
620 }
621 serializer.endTag( NAMESPACE, tagName );
622 }
623
624
625
626
627
628
629
630
631
632 private void writeUnpackOptions( UnpackOptions unpackOptions, String tagName, XmlSerializer serializer )
633 throws java.io.IOException
634 {
635 serializer.startTag( NAMESPACE, tagName );
636 if ( ( unpackOptions.getIncludes() != null ) && ( unpackOptions.getIncludes().size() > 0 ) )
637 {
638 serializer.startTag( NAMESPACE, "includes" );
639 for ( Iterator iter = unpackOptions.getIncludes().iterator(); iter.hasNext(); )
640 {
641 String include = (String) iter.next();
642 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
643 }
644 serializer.endTag( NAMESPACE, "includes" );
645 }
646 if ( ( unpackOptions.getExcludes() != null ) && ( unpackOptions.getExcludes().size() > 0 ) )
647 {
648 serializer.startTag( NAMESPACE, "excludes" );
649 for ( Iterator iter = unpackOptions.getExcludes().iterator(); iter.hasNext(); )
650 {
651 String exclude = (String) iter.next();
652 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
653 }
654 serializer.endTag( NAMESPACE, "excludes" );
655 }
656 if ( unpackOptions.isFiltered() != false )
657 {
658 serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( unpackOptions.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
659 }
660 if ( ( unpackOptions.getNonFilteredFileExtensions() != null ) && ( unpackOptions.getNonFilteredFileExtensions().size() > 0 ) )
661 {
662 serializer.startTag( NAMESPACE, "nonFilteredFileExtensions" );
663 for ( Iterator iter = unpackOptions.getNonFilteredFileExtensions().iterator(); iter.hasNext(); )
664 {
665 String nonFilteredFileExtension = (String) iter.next();
666 serializer.startTag( NAMESPACE, "nonFilteredFileExtension" ).text( nonFilteredFileExtension ).endTag( NAMESPACE, "nonFilteredFileExtension" );
667 }
668 serializer.endTag( NAMESPACE, "nonFilteredFileExtensions" );
669 }
670 if ( unpackOptions.getLineEnding() != null )
671 {
672 serializer.startTag( NAMESPACE, "lineEnding" ).text( unpackOptions.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
673 }
674 if ( unpackOptions.isUseDefaultExcludes() != true )
675 {
676 serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( unpackOptions.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
677 }
678 if ( unpackOptions.getEncoding() != null )
679 {
680 serializer.startTag( NAMESPACE, "encoding" ).text( unpackOptions.getEncoding() ).endTag( NAMESPACE, "encoding" );
681 }
682 serializer.endTag( NAMESPACE, tagName );
683 }
684
685 }