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