1
2
3
4
5
6
7
8 package org.apache.maven.shared.release.config.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.shared.release.config.ReleaseDescriptor;
20 import org.codehaus.plexus.util.xml.pull.MXSerializer;
21 import org.codehaus.plexus.util.xml.pull.XmlSerializer;
22
23
24
25
26
27
28 @SuppressWarnings( "all" )
29 public class ReleaseDescriptorXpp3Writer
30 {
31
32
33
34
35
36
37
38
39 private static final String NAMESPACE = null;
40
41
42
43
44
45
46
47
48
49
50
51
52
53 public void write( Writer writer, ReleaseDescriptor releaseDescriptor )
54 throws java.io.IOException
55 {
56 XmlSerializer serializer = new MXSerializer();
57 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
58 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
59 serializer.setOutput( writer );
60 serializer.startDocument( releaseDescriptor.getModelEncoding(), null );
61 writeReleaseDescriptor( releaseDescriptor, "releaseDescriptor", serializer );
62 serializer.endDocument();
63 }
64
65
66
67
68
69
70
71
72 public void write( OutputStream stream, ReleaseDescriptor releaseDescriptor )
73 throws java.io.IOException
74 {
75 XmlSerializer serializer = new MXSerializer();
76 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-indentation", " " );
77 serializer.setProperty( "http://xmlpull.org/v1/doc/properties.html#serializer-line-separator", "\n" );
78 serializer.setOutput( stream, releaseDescriptor.getModelEncoding() );
79 serializer.startDocument( releaseDescriptor.getModelEncoding(), null );
80 writeReleaseDescriptor( releaseDescriptor, "releaseDescriptor", serializer );
81 serializer.endDocument();
82 }
83
84
85
86
87
88
89
90
91
92 private void writeReleaseDescriptor( ReleaseDescriptor releaseDescriptor, String tagName, XmlSerializer serializer )
93 throws java.io.IOException
94 {
95 serializer.startTag( NAMESPACE, tagName );
96 if ( releaseDescriptor.getName() != null )
97 {
98 serializer.startTag( NAMESPACE, "name" ).text( releaseDescriptor.getName() ).endTag( NAMESPACE, "name" );
99 }
100 if ( releaseDescriptor.getDescription() != null )
101 {
102 serializer.startTag( NAMESPACE, "description" ).text( releaseDescriptor.getDescription() ).endTag( NAMESPACE, "description" );
103 }
104 if ( ( releaseDescriptor.getScmCommentPrefix() != null ) && !releaseDescriptor.getScmCommentPrefix().equals( "[maven-release-manager] " ) )
105 {
106 serializer.startTag( NAMESPACE, "ScmCommentPrefix" ).text( releaseDescriptor.getScmCommentPrefix() ).endTag( NAMESPACE, "ScmCommentPrefix" );
107 }
108 if ( releaseDescriptor.getScmSourceUrl() != null )
109 {
110 serializer.startTag( NAMESPACE, "scmSourceUrl" ).text( releaseDescriptor.getScmSourceUrl() ).endTag( NAMESPACE, "scmSourceUrl" );
111 }
112 if ( releaseDescriptor.getScmTagBase() != null )
113 {
114 serializer.startTag( NAMESPACE, "scmTagBase" ).text( releaseDescriptor.getScmTagBase() ).endTag( NAMESPACE, "scmTagBase" );
115 }
116 if ( releaseDescriptor.getScmBranchBase() != null )
117 {
118 serializer.startTag( NAMESPACE, "scmBranchBase" ).text( releaseDescriptor.getScmBranchBase() ).endTag( NAMESPACE, "scmBranchBase" );
119 }
120 if ( releaseDescriptor.getScmReleaseLabel() != null )
121 {
122 serializer.startTag( NAMESPACE, "scmReleaseLabel" ).text( releaseDescriptor.getScmReleaseLabel() ).endTag( NAMESPACE, "scmReleaseLabel" );
123 }
124 if ( releaseDescriptor.getScmId() != null )
125 {
126 serializer.startTag( NAMESPACE, "scmId" ).text( releaseDescriptor.getScmId() ).endTag( NAMESPACE, "scmId" );
127 }
128 if ( releaseDescriptor.getScmUsername() != null )
129 {
130 serializer.startTag( NAMESPACE, "scmUsername" ).text( releaseDescriptor.getScmUsername() ).endTag( NAMESPACE, "scmUsername" );
131 }
132 if ( releaseDescriptor.getScmPassword() != null )
133 {
134 serializer.startTag( NAMESPACE, "scmPassword" ).text( releaseDescriptor.getScmPassword() ).endTag( NAMESPACE, "scmPassword" );
135 }
136 if ( releaseDescriptor.getScmPrivateKey() != null )
137 {
138 serializer.startTag( NAMESPACE, "scmPrivateKey" ).text( releaseDescriptor.getScmPrivateKey() ).endTag( NAMESPACE, "scmPrivateKey" );
139 }
140 if ( releaseDescriptor.getScmPrivateKeyPassPhrase() != null )
141 {
142 serializer.startTag( NAMESPACE, "scmPrivateKeyPassPhrase" ).text( releaseDescriptor.getScmPrivateKeyPassPhrase() ).endTag( NAMESPACE, "scmPrivateKeyPassPhrase" );
143 }
144 if ( releaseDescriptor.isScmUseEditMode() != false )
145 {
146 serializer.startTag( NAMESPACE, "scmUseEditMode" ).text( String.valueOf( releaseDescriptor.isScmUseEditMode() ) ).endTag( NAMESPACE, "scmUseEditMode" );
147 }
148 if ( releaseDescriptor.getScmRelativePathProjectDirectory() != null )
149 {
150 serializer.startTag( NAMESPACE, "scmRelativePathProjectDirectory" ).text( releaseDescriptor.getScmRelativePathProjectDirectory() ).endTag( NAMESPACE, "scmRelativePathProjectDirectory" );
151 }
152 if ( ( releaseDescriptor.getReleaseVersions() != null ) && ( releaseDescriptor.getReleaseVersions().size() > 0 ) )
153 {
154 serializer.startTag( NAMESPACE, "releaseVersions" );
155 for ( Iterator iter = releaseDescriptor.getReleaseVersions().keySet().iterator(); iter.hasNext(); )
156 {
157 String key = (String) iter.next();
158 String value = (String) releaseDescriptor.getReleaseVersions().get( key );
159 serializer.startTag( NAMESPACE, "" + key + "" ).text( value ).endTag( NAMESPACE, "" + key + "" );
160 }
161 serializer.endTag( NAMESPACE, "releaseVersions" );
162 }
163 if ( ( releaseDescriptor.getDevelopmentVersions() != null ) && ( releaseDescriptor.getDevelopmentVersions().size() > 0 ) )
164 {
165 serializer.startTag( NAMESPACE, "developmentVersions" );
166 for ( Iterator iter = releaseDescriptor.getDevelopmentVersions().keySet().iterator(); iter.hasNext(); )
167 {
168 String key = (String) iter.next();
169 String value = (String) releaseDescriptor.getDevelopmentVersions().get( key );
170 serializer.startTag( NAMESPACE, "" + key + "" ).text( value ).endTag( NAMESPACE, "" + key + "" );
171 }
172 serializer.endTag( NAMESPACE, "developmentVersions" );
173 }
174 if ( ( releaseDescriptor.getResolvedSnapshotDependencies() != null ) && ( releaseDescriptor.getResolvedSnapshotDependencies().size() > 0 ) )
175 {
176 serializer.startTag( NAMESPACE, "resolvedSnapshotDependencies" );
177 for ( Iterator iter = releaseDescriptor.getResolvedSnapshotDependencies().keySet().iterator(); iter.hasNext(); )
178 {
179 String key = (String) iter.next();
180 String value = (String) releaseDescriptor.getResolvedSnapshotDependencies().get( key );
181 serializer.startTag( NAMESPACE, "" + key + "" ).text( value ).endTag( NAMESPACE, "" + key + "" );
182 }
183 serializer.endTag( NAMESPACE, "resolvedSnapshotDependencies" );
184 }
185 if ( releaseDescriptor.isUpdateDependencies() != true )
186 {
187 serializer.startTag( NAMESPACE, "updateDependencies" ).text( String.valueOf( releaseDescriptor.isUpdateDependencies() ) ).endTag( NAMESPACE, "updateDependencies" );
188 }
189 if ( releaseDescriptor.isUseReleaseProfile() != true )
190 {
191 serializer.startTag( NAMESPACE, "useReleaseProfile" ).text( String.valueOf( releaseDescriptor.isUseReleaseProfile() ) ).endTag( NAMESPACE, "useReleaseProfile" );
192 }
193 if ( ( releaseDescriptor.getOriginalScmInfo() != null ) && ( releaseDescriptor.getOriginalScmInfo().size() > 0 ) )
194 {
195 serializer.startTag( NAMESPACE, "originalScmInfo" );
196 for ( Iterator iter = releaseDescriptor.getOriginalScmInfo().keySet().iterator(); iter.hasNext(); )
197 {
198 String key = (String) iter.next();
199 String value = (String) releaseDescriptor.getOriginalScmInfo().get( key );
200 serializer.startTag( NAMESPACE, "" + key + "" ).text( value ).endTag( NAMESPACE, "" + key + "" );
201 }
202 serializer.endTag( NAMESPACE, "originalScmInfo" );
203 }
204 if ( releaseDescriptor.getWorkingDirectory() != null )
205 {
206 serializer.startTag( NAMESPACE, "workingDirectory" ).text( releaseDescriptor.getWorkingDirectory() ).endTag( NAMESPACE, "workingDirectory" );
207 }
208 if ( releaseDescriptor.getCheckoutDirectory() != null )
209 {
210 serializer.startTag( NAMESPACE, "checkoutDirectory" ).text( releaseDescriptor.getCheckoutDirectory() ).endTag( NAMESPACE, "checkoutDirectory" );
211 }
212 if ( releaseDescriptor.getCompletedPhase() != null )
213 {
214 serializer.startTag( NAMESPACE, "completedPhase" ).text( releaseDescriptor.getCompletedPhase() ).endTag( NAMESPACE, "completedPhase" );
215 }
216 if ( releaseDescriptor.isAddSchema() != false )
217 {
218 serializer.startTag( NAMESPACE, "addSchema" ).text( String.valueOf( releaseDescriptor.isAddSchema() ) ).endTag( NAMESPACE, "addSchema" );
219 }
220 if ( releaseDescriptor.isGenerateReleasePoms() != false )
221 {
222 serializer.startTag( NAMESPACE, "generateReleasePoms" ).text( String.valueOf( releaseDescriptor.isGenerateReleasePoms() ) ).endTag( NAMESPACE, "generateReleasePoms" );
223 }
224 if ( releaseDescriptor.isAutoVersionSubmodules() != false )
225 {
226 serializer.startTag( NAMESPACE, "autoVersionSubmodules" ).text( String.valueOf( releaseDescriptor.isAutoVersionSubmodules() ) ).endTag( NAMESPACE, "autoVersionSubmodules" );
227 }
228 if ( releaseDescriptor.isInteractive() != true )
229 {
230 serializer.startTag( NAMESPACE, "interactive" ).text( String.valueOf( releaseDescriptor.isInteractive() ) ).endTag( NAMESPACE, "interactive" );
231 }
232 if ( releaseDescriptor.isSnapshotReleasePluginAllowed() != false )
233 {
234 serializer.startTag( NAMESPACE, "snapshotReleasePluginAllowed" ).text( String.valueOf( releaseDescriptor.isSnapshotReleasePluginAllowed() ) ).endTag( NAMESPACE, "snapshotReleasePluginAllowed" );
235 }
236 if ( releaseDescriptor.getAdditionalArguments() != null )
237 {
238 serializer.startTag( NAMESPACE, "additionalArguments" ).text( releaseDescriptor.getAdditionalArguments() ).endTag( NAMESPACE, "additionalArguments" );
239 }
240 if ( releaseDescriptor.getPomFileName() != null )
241 {
242 serializer.startTag( NAMESPACE, "pomFileName" ).text( releaseDescriptor.getPomFileName() ).endTag( NAMESPACE, "pomFileName" );
243 }
244 if ( ( releaseDescriptor.getCheckModificationExcludes() != null ) && ( releaseDescriptor.getCheckModificationExcludes().size() > 0 ) )
245 {
246 serializer.startTag( NAMESPACE, "checkModificationExcludes" );
247 for ( Iterator iter = releaseDescriptor.getCheckModificationExcludes().iterator(); iter.hasNext(); )
248 {
249 String checkModificationExclude = (String) iter.next();
250 serializer.startTag( NAMESPACE, "checkModificationExclude" ).text( checkModificationExclude ).endTag( NAMESPACE, "checkModificationExclude" );
251 }
252 serializer.endTag( NAMESPACE, "checkModificationExcludes" );
253 }
254 if ( releaseDescriptor.getPreparationGoals() != null )
255 {
256 serializer.startTag( NAMESPACE, "preparationGoals" ).text( releaseDescriptor.getPreparationGoals() ).endTag( NAMESPACE, "preparationGoals" );
257 }
258 if ( releaseDescriptor.getCompletionGoals() != null )
259 {
260 serializer.startTag( NAMESPACE, "completionGoals" ).text( releaseDescriptor.getCompletionGoals() ).endTag( NAMESPACE, "completionGoals" );
261 }
262 if ( releaseDescriptor.getPerformGoals() != null )
263 {
264 serializer.startTag( NAMESPACE, "performGoals" ).text( releaseDescriptor.getPerformGoals() ).endTag( NAMESPACE, "performGoals" );
265 }
266 if ( releaseDescriptor.isCommitByProject() != false )
267 {
268 serializer.startTag( NAMESPACE, "commitByProject" ).text( String.valueOf( releaseDescriptor.isCommitByProject() ) ).endTag( NAMESPACE, "commitByProject" );
269 }
270 if ( releaseDescriptor.isBranchCreation() != false )
271 {
272 serializer.startTag( NAMESPACE, "branchCreation" ).text( String.valueOf( releaseDescriptor.isBranchCreation() ) ).endTag( NAMESPACE, "branchCreation" );
273 }
274 if ( releaseDescriptor.isUpdateBranchVersions() != false )
275 {
276 serializer.startTag( NAMESPACE, "updateBranchVersions" ).text( String.valueOf( releaseDescriptor.isUpdateBranchVersions() ) ).endTag( NAMESPACE, "updateBranchVersions" );
277 }
278 if ( releaseDescriptor.isUpdateWorkingCopyVersions() != true )
279 {
280 serializer.startTag( NAMESPACE, "updateWorkingCopyVersions" ).text( String.valueOf( releaseDescriptor.isUpdateWorkingCopyVersions() ) ).endTag( NAMESPACE, "updateWorkingCopyVersions" );
281 }
282 if ( releaseDescriptor.isUpdateVersionsToSnapshot() != false )
283 {
284 serializer.startTag( NAMESPACE, "updateVersionsToSnapshot" ).text( String.valueOf( releaseDescriptor.isUpdateVersionsToSnapshot() ) ).endTag( NAMESPACE, "updateVersionsToSnapshot" );
285 }
286 if ( releaseDescriptor.isSuppressCommitBeforeTagOrBranch() != false )
287 {
288 serializer.startTag( NAMESPACE, "suppressCommitBeforeTagOrBranch" ).text( String.valueOf( releaseDescriptor.isSuppressCommitBeforeTagOrBranch() ) ).endTag( NAMESPACE, "suppressCommitBeforeTagOrBranch" );
289 }
290 if ( releaseDescriptor.getWaitBeforeTagging() != 0 )
291 {
292 serializer.startTag( NAMESPACE, "waitBeforeTagging" ).text( String.valueOf( releaseDescriptor.getWaitBeforeTagging() ) ).endTag( NAMESPACE, "waitBeforeTagging" );
293 }
294 if ( releaseDescriptor.isAllowTimestampedSnapshots() != false )
295 {
296 serializer.startTag( NAMESPACE, "allowTimestampedSnapshots" ).text( String.valueOf( releaseDescriptor.isAllowTimestampedSnapshots() ) ).endTag( NAMESPACE, "allowTimestampedSnapshots" );
297 }
298 if ( releaseDescriptor.getDefaultReleaseVersion() != null )
299 {
300 serializer.startTag( NAMESPACE, "defaultReleaseVersion" ).text( releaseDescriptor.getDefaultReleaseVersion() ).endTag( NAMESPACE, "defaultReleaseVersion" );
301 }
302 if ( releaseDescriptor.getDefaultDevelopmentVersion() != null )
303 {
304 serializer.startTag( NAMESPACE, "defaultDevelopmentVersion" ).text( releaseDescriptor.getDefaultDevelopmentVersion() ).endTag( NAMESPACE, "defaultDevelopmentVersion" );
305 }
306 if ( releaseDescriptor.isRemoteTagging() != false )
307 {
308 serializer.startTag( NAMESPACE, "remoteTagging" ).text( String.valueOf( releaseDescriptor.isRemoteTagging() ) ).endTag( NAMESPACE, "remoteTagging" );
309 }
310 if ( releaseDescriptor.getScmReleasedPomRevision() != null )
311 {
312 serializer.startTag( NAMESPACE, "scmReleasedPomRevision" ).text( releaseDescriptor.getScmReleasedPomRevision() ).endTag( NAMESPACE, "scmReleasedPomRevision" );
313 }
314 if ( releaseDescriptor.isPushChanges() != true )
315 {
316 serializer.startTag( NAMESPACE, "pushChanges" ).text( String.valueOf( releaseDescriptor.isPushChanges() ) ).endTag( NAMESPACE, "pushChanges" );
317 }
318 if ( releaseDescriptor.isLocalCheckout() != false )
319 {
320 serializer.startTag( NAMESPACE, "localCheckout" ).text( String.valueOf( releaseDescriptor.isLocalCheckout() ) ).endTag( NAMESPACE, "localCheckout" );
321 }
322 if ( releaseDescriptor.getScmTagNameFormat() != null )
323 {
324 serializer.startTag( NAMESPACE, "scmTagNameFormat" ).text( releaseDescriptor.getScmTagNameFormat() ).endTag( NAMESPACE, "scmTagNameFormat" );
325 }
326 serializer.endTag( NAMESPACE, tagName );
327 }
328
329 }