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