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