1
2
3
4
5
6 package org.apache.maven.plugins.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.plugins.assembly.model.Assembly;
16 import org.apache.maven.plugins.assembly.model.ContainerDescriptorHandlerConfig;
17 import org.apache.maven.plugins.assembly.model.DependencySet;
18 import org.apache.maven.plugins.assembly.model.FileItem;
19 import org.apache.maven.plugins.assembly.model.FileSet;
20 import org.apache.maven.plugins.assembly.model.GroupVersionAlignment;
21 import org.apache.maven.plugins.assembly.model.ModuleBinaries;
22 import org.apache.maven.plugins.assembly.model.ModuleSet;
23 import org.apache.maven.plugins.assembly.model.ModuleSources;
24 import org.apache.maven.plugins.assembly.model.Repository;
25 import org.apache.maven.plugins.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 AssemblyXpp3Writer
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, Assembly assembly )
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( assembly.getModelEncoding(), null );
68 writeAssembly( assembly, "assembly", serializer );
69 serializer.endDocument();
70 }
71
72
73
74
75
76
77
78
79 public void write( OutputStream stream, Assembly assembly )
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, assembly.getModelEncoding() );
86 serializer.startDocument( assembly.getModelEncoding(), null );
87 writeAssembly( assembly, "assembly", serializer );
88 serializer.endDocument();
89 }
90
91
92
93
94
95
96
97
98
99 private void writeAssembly( Assembly assembly, String tagName, XmlSerializer serializer )
100 throws java.io.IOException
101 {
102 serializer.setPrefix( "", "http://maven.apache.org/ASSEMBLY/2.0.0" );
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/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd" );
106 if ( assembly.getId() != null )
107 {
108 serializer.startTag( NAMESPACE, "id" ).text( assembly.getId() ).endTag( NAMESPACE, "id" );
109 }
110 if ( ( assembly.getFormats() != null ) && ( assembly.getFormats().size() > 0 ) )
111 {
112 serializer.startTag( NAMESPACE, "formats" );
113 for ( Iterator iter = assembly.getFormats().iterator(); iter.hasNext(); )
114 {
115 String format = (String) iter.next();
116 serializer.startTag( NAMESPACE, "format" ).text( format ).endTag( NAMESPACE, "format" );
117 }
118 serializer.endTag( NAMESPACE, "formats" );
119 }
120 if ( assembly.isIncludeBaseDirectory() != true )
121 {
122 serializer.startTag( NAMESPACE, "includeBaseDirectory" ).text( String.valueOf( assembly.isIncludeBaseDirectory() ) ).endTag( NAMESPACE, "includeBaseDirectory" );
123 }
124 if ( assembly.getBaseDirectory() != null )
125 {
126 serializer.startTag( NAMESPACE, "baseDirectory" ).text( assembly.getBaseDirectory() ).endTag( NAMESPACE, "baseDirectory" );
127 }
128 if ( assembly.isIncludeSiteDirectory() != false )
129 {
130 serializer.startTag( NAMESPACE, "includeSiteDirectory" ).text( String.valueOf( assembly.isIncludeSiteDirectory() ) ).endTag( NAMESPACE, "includeSiteDirectory" );
131 }
132 if ( ( assembly.getContainerDescriptorHandlers() != null ) && ( assembly.getContainerDescriptorHandlers().size() > 0 ) )
133 {
134 serializer.startTag( NAMESPACE, "containerDescriptorHandlers" );
135 for ( Iterator iter = assembly.getContainerDescriptorHandlers().iterator(); iter.hasNext(); )
136 {
137 ContainerDescriptorHandlerConfig o = (ContainerDescriptorHandlerConfig) iter.next();
138 writeContainerDescriptorHandlerConfig( o, "containerDescriptorHandler", serializer );
139 }
140 serializer.endTag( NAMESPACE, "containerDescriptorHandlers" );
141 }
142 if ( ( assembly.getModuleSets() != null ) && ( assembly.getModuleSets().size() > 0 ) )
143 {
144 serializer.startTag( NAMESPACE, "moduleSets" );
145 for ( Iterator iter = assembly.getModuleSets().iterator(); iter.hasNext(); )
146 {
147 ModuleSet o = (ModuleSet) iter.next();
148 writeModuleSet( o, "moduleSet", serializer );
149 }
150 serializer.endTag( NAMESPACE, "moduleSets" );
151 }
152 if ( ( assembly.getFileSets() != null ) && ( assembly.getFileSets().size() > 0 ) )
153 {
154 serializer.startTag( NAMESPACE, "fileSets" );
155 for ( Iterator iter = assembly.getFileSets().iterator(); iter.hasNext(); )
156 {
157 FileSet o = (FileSet) iter.next();
158 writeFileSet( o, "fileSet", serializer );
159 }
160 serializer.endTag( NAMESPACE, "fileSets" );
161 }
162 if ( ( assembly.getFiles() != null ) && ( assembly.getFiles().size() > 0 ) )
163 {
164 serializer.startTag( NAMESPACE, "files" );
165 for ( Iterator iter = assembly.getFiles().iterator(); iter.hasNext(); )
166 {
167 FileItem o = (FileItem) iter.next();
168 writeFileItem( o, "file", serializer );
169 }
170 serializer.endTag( NAMESPACE, "files" );
171 }
172 if ( ( assembly.getDependencySets() != null ) && ( assembly.getDependencySets().size() > 0 ) )
173 {
174 serializer.startTag( NAMESPACE, "dependencySets" );
175 for ( Iterator iter = assembly.getDependencySets().iterator(); iter.hasNext(); )
176 {
177 DependencySet o = (DependencySet) iter.next();
178 writeDependencySet( o, "dependencySet", serializer );
179 }
180 serializer.endTag( NAMESPACE, "dependencySets" );
181 }
182 if ( ( assembly.getRepositories() != null ) && ( assembly.getRepositories().size() > 0 ) )
183 {
184 serializer.startTag( NAMESPACE, "repositories" );
185 for ( Iterator iter = assembly.getRepositories().iterator(); iter.hasNext(); )
186 {
187 Repository o = (Repository) iter.next();
188 writeRepository( o, "repository", serializer );
189 }
190 serializer.endTag( NAMESPACE, "repositories" );
191 }
192 if ( ( assembly.getComponentDescriptors() != null ) && ( assembly.getComponentDescriptors().size() > 0 ) )
193 {
194 serializer.startTag( NAMESPACE, "componentDescriptors" );
195 for ( Iterator iter = assembly.getComponentDescriptors().iterator(); iter.hasNext(); )
196 {
197 String componentDescriptor = (String) iter.next();
198 serializer.startTag( NAMESPACE, "componentDescriptor" ).text( componentDescriptor ).endTag( NAMESPACE, "componentDescriptor" );
199 }
200 serializer.endTag( NAMESPACE, "componentDescriptors" );
201 }
202 serializer.endTag( NAMESPACE, tagName );
203 }
204
205
206
207
208
209
210
211
212
213 private void writeContainerDescriptorHandlerConfig( ContainerDescriptorHandlerConfig containerDescriptorHandlerConfig, String tagName, XmlSerializer serializer )
214 throws java.io.IOException
215 {
216 serializer.startTag( NAMESPACE, tagName );
217 if ( containerDescriptorHandlerConfig.getHandlerName() != null )
218 {
219 serializer.startTag( NAMESPACE, "handlerName" ).text( containerDescriptorHandlerConfig.getHandlerName() ).endTag( NAMESPACE, "handlerName" );
220 }
221 if ( containerDescriptorHandlerConfig.getConfiguration() != null )
222 {
223 ((Xpp3Dom) containerDescriptorHandlerConfig.getConfiguration()).writeToSerializer( NAMESPACE, serializer );
224 }
225 serializer.endTag( NAMESPACE, tagName );
226 }
227
228
229
230
231
232
233
234
235
236 private void writeDependencySet( DependencySet dependencySet, String tagName, XmlSerializer serializer )
237 throws java.io.IOException
238 {
239 serializer.startTag( NAMESPACE, tagName );
240 if ( dependencySet.getOutputDirectory() != null )
241 {
242 serializer.startTag( NAMESPACE, "outputDirectory" ).text( dependencySet.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
243 }
244 if ( ( dependencySet.getIncludes() != null ) && ( dependencySet.getIncludes().size() > 0 ) )
245 {
246 serializer.startTag( NAMESPACE, "includes" );
247 for ( Iterator iter = dependencySet.getIncludes().iterator(); iter.hasNext(); )
248 {
249 String include = (String) iter.next();
250 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
251 }
252 serializer.endTag( NAMESPACE, "includes" );
253 }
254 if ( ( dependencySet.getExcludes() != null ) && ( dependencySet.getExcludes().size() > 0 ) )
255 {
256 serializer.startTag( NAMESPACE, "excludes" );
257 for ( Iterator iter = dependencySet.getExcludes().iterator(); iter.hasNext(); )
258 {
259 String exclude = (String) iter.next();
260 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
261 }
262 serializer.endTag( NAMESPACE, "excludes" );
263 }
264 if ( dependencySet.getFileMode() != null )
265 {
266 serializer.startTag( NAMESPACE, "fileMode" ).text( dependencySet.getFileMode() ).endTag( NAMESPACE, "fileMode" );
267 }
268 if ( dependencySet.getDirectoryMode() != null )
269 {
270 serializer.startTag( NAMESPACE, "directoryMode" ).text( dependencySet.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
271 }
272 if ( dependencySet.isUseStrictFiltering() != false )
273 {
274 serializer.startTag( NAMESPACE, "useStrictFiltering" ).text( String.valueOf( dependencySet.isUseStrictFiltering() ) ).endTag( NAMESPACE, "useStrictFiltering" );
275 }
276 if ( ( dependencySet.getOutputFileNameMapping() != null ) && !dependencySet.getOutputFileNameMapping().equals( "${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}" ) )
277 {
278 serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( dependencySet.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
279 }
280 if ( dependencySet.isUnpack() != false )
281 {
282 serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( dependencySet.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
283 }
284 if ( dependencySet.getUnpackOptions() != null )
285 {
286 writeUnpackOptions( (UnpackOptions) dependencySet.getUnpackOptions(), "unpackOptions", serializer );
287 }
288 if ( ( dependencySet.getScope() != null ) && !dependencySet.getScope().equals( "runtime" ) )
289 {
290 serializer.startTag( NAMESPACE, "scope" ).text( dependencySet.getScope() ).endTag( NAMESPACE, "scope" );
291 }
292 if ( dependencySet.isUseProjectArtifact() != true )
293 {
294 serializer.startTag( NAMESPACE, "useProjectArtifact" ).text( String.valueOf( dependencySet.isUseProjectArtifact() ) ).endTag( NAMESPACE, "useProjectArtifact" );
295 }
296 if ( dependencySet.isUseProjectAttachments() != false )
297 {
298 serializer.startTag( NAMESPACE, "useProjectAttachments" ).text( String.valueOf( dependencySet.isUseProjectAttachments() ) ).endTag( NAMESPACE, "useProjectAttachments" );
299 }
300 if ( dependencySet.isUseTransitiveDependencies() != true )
301 {
302 serializer.startTag( NAMESPACE, "useTransitiveDependencies" ).text( String.valueOf( dependencySet.isUseTransitiveDependencies() ) ).endTag( NAMESPACE, "useTransitiveDependencies" );
303 }
304 if ( dependencySet.isUseTransitiveFiltering() != false )
305 {
306 serializer.startTag( NAMESPACE, "useTransitiveFiltering" ).text( String.valueOf( dependencySet.isUseTransitiveFiltering() ) ).endTag( NAMESPACE, "useTransitiveFiltering" );
307 }
308 serializer.endTag( NAMESPACE, tagName );
309 }
310
311
312
313
314
315
316
317
318
319 private void writeFileItem( FileItem fileItem, String tagName, XmlSerializer serializer )
320 throws java.io.IOException
321 {
322 serializer.startTag( NAMESPACE, tagName );
323 if ( fileItem.getSource() != null )
324 {
325 serializer.startTag( NAMESPACE, "source" ).text( fileItem.getSource() ).endTag( NAMESPACE, "source" );
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 serializer.endTag( NAMESPACE, tagName );
411 }
412
413
414
415
416
417
418
419
420
421 private void writeGroupVersionAlignment( GroupVersionAlignment groupVersionAlignment, String tagName, XmlSerializer serializer )
422 throws java.io.IOException
423 {
424 serializer.startTag( NAMESPACE, tagName );
425 if ( groupVersionAlignment.getId() != null )
426 {
427 serializer.startTag( NAMESPACE, "id" ).text( groupVersionAlignment.getId() ).endTag( NAMESPACE, "id" );
428 }
429 if ( groupVersionAlignment.getVersion() != null )
430 {
431 serializer.startTag( NAMESPACE, "version" ).text( groupVersionAlignment.getVersion() ).endTag( NAMESPACE, "version" );
432 }
433 if ( ( groupVersionAlignment.getExcludes() != null ) && ( groupVersionAlignment.getExcludes().size() > 0 ) )
434 {
435 serializer.startTag( NAMESPACE, "excludes" );
436 for ( Iterator iter = groupVersionAlignment.getExcludes().iterator(); iter.hasNext(); )
437 {
438 String exclude = (String) iter.next();
439 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
440 }
441 serializer.endTag( NAMESPACE, "excludes" );
442 }
443 serializer.endTag( NAMESPACE, tagName );
444 }
445
446
447
448
449
450
451
452
453
454 private void writeModuleBinaries( ModuleBinaries moduleBinaries, String tagName, XmlSerializer serializer )
455 throws java.io.IOException
456 {
457 serializer.startTag( NAMESPACE, tagName );
458 if ( moduleBinaries.getOutputDirectory() != null )
459 {
460 serializer.startTag( NAMESPACE, "outputDirectory" ).text( moduleBinaries.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
461 }
462 if ( ( moduleBinaries.getIncludes() != null ) && ( moduleBinaries.getIncludes().size() > 0 ) )
463 {
464 serializer.startTag( NAMESPACE, "includes" );
465 for ( Iterator iter = moduleBinaries.getIncludes().iterator(); iter.hasNext(); )
466 {
467 String include = (String) iter.next();
468 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
469 }
470 serializer.endTag( NAMESPACE, "includes" );
471 }
472 if ( ( moduleBinaries.getExcludes() != null ) && ( moduleBinaries.getExcludes().size() > 0 ) )
473 {
474 serializer.startTag( NAMESPACE, "excludes" );
475 for ( Iterator iter = moduleBinaries.getExcludes().iterator(); iter.hasNext(); )
476 {
477 String exclude = (String) iter.next();
478 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
479 }
480 serializer.endTag( NAMESPACE, "excludes" );
481 }
482 if ( moduleBinaries.getFileMode() != null )
483 {
484 serializer.startTag( NAMESPACE, "fileMode" ).text( moduleBinaries.getFileMode() ).endTag( NAMESPACE, "fileMode" );
485 }
486 if ( moduleBinaries.getDirectoryMode() != null )
487 {
488 serializer.startTag( NAMESPACE, "directoryMode" ).text( moduleBinaries.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
489 }
490 if ( moduleBinaries.getAttachmentClassifier() != null )
491 {
492 serializer.startTag( NAMESPACE, "attachmentClassifier" ).text( moduleBinaries.getAttachmentClassifier() ).endTag( NAMESPACE, "attachmentClassifier" );
493 }
494 if ( moduleBinaries.isIncludeDependencies() != true )
495 {
496 serializer.startTag( NAMESPACE, "includeDependencies" ).text( String.valueOf( moduleBinaries.isIncludeDependencies() ) ).endTag( NAMESPACE, "includeDependencies" );
497 }
498 if ( ( moduleBinaries.getDependencySets() != null ) && ( moduleBinaries.getDependencySets().size() > 0 ) )
499 {
500 serializer.startTag( NAMESPACE, "dependencySets" );
501 for ( Iterator iter = moduleBinaries.getDependencySets().iterator(); iter.hasNext(); )
502 {
503 DependencySet o = (DependencySet) iter.next();
504 writeDependencySet( o, "dependencySet", serializer );
505 }
506 serializer.endTag( NAMESPACE, "dependencySets" );
507 }
508 if ( moduleBinaries.isUnpack() != true )
509 {
510 serializer.startTag( NAMESPACE, "unpack" ).text( String.valueOf( moduleBinaries.isUnpack() ) ).endTag( NAMESPACE, "unpack" );
511 }
512 if ( moduleBinaries.getUnpackOptions() != null )
513 {
514 writeUnpackOptions( (UnpackOptions) moduleBinaries.getUnpackOptions(), "unpackOptions", serializer );
515 }
516 if ( ( moduleBinaries.getOutputFileNameMapping() != null ) && !moduleBinaries.getOutputFileNameMapping().equals( "${module.artifactId}-${module.version}${dashClassifier?}.${module.extension}" ) )
517 {
518 serializer.startTag( NAMESPACE, "outputFileNameMapping" ).text( moduleBinaries.getOutputFileNameMapping() ).endTag( NAMESPACE, "outputFileNameMapping" );
519 }
520 serializer.endTag( NAMESPACE, tagName );
521 }
522
523
524
525
526
527
528
529
530
531 private void writeModuleSet( ModuleSet moduleSet, String tagName, XmlSerializer serializer )
532 throws java.io.IOException
533 {
534 serializer.startTag( NAMESPACE, tagName );
535 if ( moduleSet.isUseAllReactorProjects() != false )
536 {
537 serializer.startTag( NAMESPACE, "useAllReactorProjects" ).text( String.valueOf( moduleSet.isUseAllReactorProjects() ) ).endTag( NAMESPACE, "useAllReactorProjects" );
538 }
539 if ( moduleSet.isIncludeSubModules() != true )
540 {
541 serializer.startTag( NAMESPACE, "includeSubModules" ).text( String.valueOf( moduleSet.isIncludeSubModules() ) ).endTag( NAMESPACE, "includeSubModules" );
542 }
543 if ( ( moduleSet.getIncludes() != null ) && ( moduleSet.getIncludes().size() > 0 ) )
544 {
545 serializer.startTag( NAMESPACE, "includes" );
546 for ( Iterator iter = moduleSet.getIncludes().iterator(); iter.hasNext(); )
547 {
548 String include = (String) iter.next();
549 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
550 }
551 serializer.endTag( NAMESPACE, "includes" );
552 }
553 if ( ( moduleSet.getExcludes() != null ) && ( moduleSet.getExcludes().size() > 0 ) )
554 {
555 serializer.startTag( NAMESPACE, "excludes" );
556 for ( Iterator iter = moduleSet.getExcludes().iterator(); iter.hasNext(); )
557 {
558 String exclude = (String) iter.next();
559 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
560 }
561 serializer.endTag( NAMESPACE, "excludes" );
562 }
563 if ( moduleSet.getSources() != null )
564 {
565 writeModuleSources( (ModuleSources) moduleSet.getSources(), "sources", serializer );
566 }
567 if ( moduleSet.getBinaries() != null )
568 {
569 writeModuleBinaries( (ModuleBinaries) moduleSet.getBinaries(), "binaries", serializer );
570 }
571 serializer.endTag( NAMESPACE, tagName );
572 }
573
574
575
576
577
578
579
580
581
582 private void writeModuleSources( ModuleSources moduleSources, String tagName, XmlSerializer serializer )
583 throws java.io.IOException
584 {
585 serializer.startTag( NAMESPACE, tagName );
586 if ( moduleSources.isUseDefaultExcludes() != true )
587 {
588 serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( moduleSources.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
589 }
590 if ( moduleSources.getOutputDirectory() != null )
591 {
592 serializer.startTag( NAMESPACE, "outputDirectory" ).text( moduleSources.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
593 }
594 if ( ( moduleSources.getIncludes() != null ) && ( moduleSources.getIncludes().size() > 0 ) )
595 {
596 serializer.startTag( NAMESPACE, "includes" );
597 for ( Iterator iter = moduleSources.getIncludes().iterator(); iter.hasNext(); )
598 {
599 String include = (String) iter.next();
600 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
601 }
602 serializer.endTag( NAMESPACE, "includes" );
603 }
604 if ( ( moduleSources.getExcludes() != null ) && ( moduleSources.getExcludes().size() > 0 ) )
605 {
606 serializer.startTag( NAMESPACE, "excludes" );
607 for ( Iterator iter = moduleSources.getExcludes().iterator(); iter.hasNext(); )
608 {
609 String exclude = (String) iter.next();
610 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
611 }
612 serializer.endTag( NAMESPACE, "excludes" );
613 }
614 if ( moduleSources.getFileMode() != null )
615 {
616 serializer.startTag( NAMESPACE, "fileMode" ).text( moduleSources.getFileMode() ).endTag( NAMESPACE, "fileMode" );
617 }
618 if ( moduleSources.getDirectoryMode() != null )
619 {
620 serializer.startTag( NAMESPACE, "directoryMode" ).text( moduleSources.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
621 }
622 if ( ( moduleSources.getFileSets() != null ) && ( moduleSources.getFileSets().size() > 0 ) )
623 {
624 serializer.startTag( NAMESPACE, "fileSets" );
625 for ( Iterator iter = moduleSources.getFileSets().iterator(); iter.hasNext(); )
626 {
627 FileSet o = (FileSet) iter.next();
628 writeFileSet( o, "fileSet", serializer );
629 }
630 serializer.endTag( NAMESPACE, "fileSets" );
631 }
632 if ( moduleSources.isIncludeModuleDirectory() != true )
633 {
634 serializer.startTag( NAMESPACE, "includeModuleDirectory" ).text( String.valueOf( moduleSources.isIncludeModuleDirectory() ) ).endTag( NAMESPACE, "includeModuleDirectory" );
635 }
636 if ( moduleSources.isExcludeSubModuleDirectories() != true )
637 {
638 serializer.startTag( NAMESPACE, "excludeSubModuleDirectories" ).text( String.valueOf( moduleSources.isExcludeSubModuleDirectories() ) ).endTag( NAMESPACE, "excludeSubModuleDirectories" );
639 }
640 if ( ( moduleSources.getOutputDirectoryMapping() != null ) && !moduleSources.getOutputDirectoryMapping().equals( "${module.artifactId}" ) )
641 {
642 serializer.startTag( NAMESPACE, "outputDirectoryMapping" ).text( moduleSources.getOutputDirectoryMapping() ).endTag( NAMESPACE, "outputDirectoryMapping" );
643 }
644 serializer.endTag( NAMESPACE, tagName );
645 }
646
647
648
649
650
651
652
653
654
655 private void writeRepository( Repository repository, String tagName, XmlSerializer serializer )
656 throws java.io.IOException
657 {
658 serializer.startTag( NAMESPACE, tagName );
659 if ( repository.getOutputDirectory() != null )
660 {
661 serializer.startTag( NAMESPACE, "outputDirectory" ).text( repository.getOutputDirectory() ).endTag( NAMESPACE, "outputDirectory" );
662 }
663 if ( ( repository.getIncludes() != null ) && ( repository.getIncludes().size() > 0 ) )
664 {
665 serializer.startTag( NAMESPACE, "includes" );
666 for ( Iterator iter = repository.getIncludes().iterator(); iter.hasNext(); )
667 {
668 String include = (String) iter.next();
669 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
670 }
671 serializer.endTag( NAMESPACE, "includes" );
672 }
673 if ( ( repository.getExcludes() != null ) && ( repository.getExcludes().size() > 0 ) )
674 {
675 serializer.startTag( NAMESPACE, "excludes" );
676 for ( Iterator iter = repository.getExcludes().iterator(); iter.hasNext(); )
677 {
678 String exclude = (String) iter.next();
679 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
680 }
681 serializer.endTag( NAMESPACE, "excludes" );
682 }
683 if ( repository.getFileMode() != null )
684 {
685 serializer.startTag( NAMESPACE, "fileMode" ).text( repository.getFileMode() ).endTag( NAMESPACE, "fileMode" );
686 }
687 if ( repository.getDirectoryMode() != null )
688 {
689 serializer.startTag( NAMESPACE, "directoryMode" ).text( repository.getDirectoryMode() ).endTag( NAMESPACE, "directoryMode" );
690 }
691 if ( repository.isIncludeMetadata() != false )
692 {
693 serializer.startTag( NAMESPACE, "includeMetadata" ).text( String.valueOf( repository.isIncludeMetadata() ) ).endTag( NAMESPACE, "includeMetadata" );
694 }
695 if ( ( repository.getGroupVersionAlignments() != null ) && ( repository.getGroupVersionAlignments().size() > 0 ) )
696 {
697 serializer.startTag( NAMESPACE, "groupVersionAlignments" );
698 for ( Iterator iter = repository.getGroupVersionAlignments().iterator(); iter.hasNext(); )
699 {
700 GroupVersionAlignment o = (GroupVersionAlignment) iter.next();
701 writeGroupVersionAlignment( o, "groupVersionAlignment", serializer );
702 }
703 serializer.endTag( NAMESPACE, "groupVersionAlignments" );
704 }
705 if ( ( repository.getScope() != null ) && !repository.getScope().equals( "runtime" ) )
706 {
707 serializer.startTag( NAMESPACE, "scope" ).text( repository.getScope() ).endTag( NAMESPACE, "scope" );
708 }
709 serializer.endTag( NAMESPACE, tagName );
710 }
711
712
713
714
715
716
717
718
719
720 private void writeUnpackOptions( UnpackOptions unpackOptions, String tagName, XmlSerializer serializer )
721 throws java.io.IOException
722 {
723 serializer.startTag( NAMESPACE, tagName );
724 if ( ( unpackOptions.getIncludes() != null ) && ( unpackOptions.getIncludes().size() > 0 ) )
725 {
726 serializer.startTag( NAMESPACE, "includes" );
727 for ( Iterator iter = unpackOptions.getIncludes().iterator(); iter.hasNext(); )
728 {
729 String include = (String) iter.next();
730 serializer.startTag( NAMESPACE, "include" ).text( include ).endTag( NAMESPACE, "include" );
731 }
732 serializer.endTag( NAMESPACE, "includes" );
733 }
734 if ( ( unpackOptions.getExcludes() != null ) && ( unpackOptions.getExcludes().size() > 0 ) )
735 {
736 serializer.startTag( NAMESPACE, "excludes" );
737 for ( Iterator iter = unpackOptions.getExcludes().iterator(); iter.hasNext(); )
738 {
739 String exclude = (String) iter.next();
740 serializer.startTag( NAMESPACE, "exclude" ).text( exclude ).endTag( NAMESPACE, "exclude" );
741 }
742 serializer.endTag( NAMESPACE, "excludes" );
743 }
744 if ( unpackOptions.isFiltered() != false )
745 {
746 serializer.startTag( NAMESPACE, "filtered" ).text( String.valueOf( unpackOptions.isFiltered() ) ).endTag( NAMESPACE, "filtered" );
747 }
748 if ( unpackOptions.getLineEnding() != null )
749 {
750 serializer.startTag( NAMESPACE, "lineEnding" ).text( unpackOptions.getLineEnding() ).endTag( NAMESPACE, "lineEnding" );
751 }
752 if ( unpackOptions.isUseDefaultExcludes() != true )
753 {
754 serializer.startTag( NAMESPACE, "useDefaultExcludes" ).text( String.valueOf( unpackOptions.isUseDefaultExcludes() ) ).endTag( NAMESPACE, "useDefaultExcludes" );
755 }
756 if ( unpackOptions.getEncoding() != null )
757 {
758 serializer.startTag( NAMESPACE, "encoding" ).text( unpackOptions.getEncoding() ).endTag( NAMESPACE, "encoding" );
759 }
760 serializer.endTag( NAMESPACE, tagName );
761 }
762
763 }