forked from googleapis/google-api-java-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrelease.html
More file actions
236 lines (234 loc) · 9.75 KB
/
Copy pathrelease.html
File metadata and controls
236 lines (234 loc) · 9.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
<html>
<title>Release Process</title>
<body>
<h2>Release Process</h2>
<h3>First time set up</h3>
<ul>
<li>Make sure you have at least a Committer role</li>
<li>Make sure you have permission to post to the <a
href="http://google-api-java-client.blogspot.com/">Announcement Blog</a>.</li>
<li>Check out the <code>google-api-java-client</code> project using <a
href="http://google-api-java-client.googlecode.com/hg/instructions.html?r=1.3.0-alpha">these
instructions</a>.</li>
<li>Check out the <code>javadoc</code> project using <a
href="http://javadoc.google-api-java-client.googlecode.com/hg/instructions.html">these
instructions</a> into the same parent directory as the <code>google-api-java-client</code>
project.</li>
<li>Download <a href="http://sourceforge.net/projects/javadiff/">JDiff</a>.</li>
<li>Set up for pushing to central Maven repository
<ul>
<li>Sign up for a Sonatype JIRA account at <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>. Click
<i>Sign Up</i> in the Login box, fill out the simple form, and click <i>Sign
Up</i>.</li>
<li>Install a GPG client from <a href="http://www.gnupg.org/">http://www.gnupg.org/</a>,
and then create a GPG key using <a
href="http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/">these
instructions</a>, making sure to specify a passphrase to be used every time you
release.</li>
<li>Add these lines to your <code>~/.hgrc</code>: <pre><code>google-api-java-client.prefix = https://google-api-java-client.googlecode.com/hg/
google-api-java-client.username = <i>[username from <a
href="https://code.google.com/hosting/settings">https://code.google.com/hosting/settings</a>]</i>
google-api-java-client.password = <i>[password from <a
href="https://code.google.com/hosting/settings">https://code.google.com/hosting/settings</a>]</i></code></pre></li>
<li>Add these lines to your <code>~/.m2/settings.xml</code> (create
this file if it does not already exist): <pre><code><settings>
<servers>
<server>
<id>google-snapshots</id>
<username><i>[username for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></username>
<password><i>[password for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></password>
</server>
<server>
<id>google-releases</id>
<username><i>[username for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></username>
<password><i>[password for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></password>
</server>
<server>
<id>sonatype-nexus-snapshots</id>
<username><i>[username for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></username>
<password><i>[password for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username><i>[username for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></username>
<password><i>[password for <a
href="https://issues.sonatype.org/">https://issues.sonatype.org</a>]</i></password>
</server>
</servers>
</settings></code></pre></li>
</ul>
</li>
</ul>
<h3>Release version 1.3.0-alpha (minor update)</h3>
<ul>
<li>Prepare the project
<ul>
<li><pre>
hg status
hg out
</pre> to make sure you have no changes that have not yet been committed or pushed to
the Mercurial server</li>
</ul>
</li>
<li>For minor version update (i.e. feature release instead of just a bug
fix release), first merge the new minor version branch into the default
branch.
<ul>
<li>Merge 1.3 (dev) branch into default branch: <pre>
cd <i>rootDir</i>/google-api-java-client
hg update default
hg merge -r 1.3
hg commit -m "merge with 1.3 branch"
hg push
hg branch dev
</pre></li>
<li>For the following files, replace <code>1.3.0-alpha</code> with <code>1.4.0-alpha</code>:
<pre>
*/pom.xml
google-api-client-parent/jdiff.xml (also change "1.2.3" to "1.3.0")
google-api-client-parent/release.html (also change "1.3" to "1.4", "1.2.3" to "1.3.0", and "1.2" to "1.3")
google-api-client/src/main/java/com/google/api/client/http/HttpRequest.java
</pre></li>
<li>Commit and push: <pre>
hg commit -m "Start development (dev) branch"
hg push -f
hg update default
</pre></li>
<li>Merge dev branch for samples: <pre>
cd <i>rootDir</i>/google-api-java-client-samples
hg update default
hg merge -r dev
hg commit -m "merge with dev branch"
hg push
</pre></li>
</ul>
</li>
<li>Push to central Maven repository (based on instructions from <a
href="https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide">Sonatype
OSS Maven Repository Usage Guide</a>):
<ul>
<li>Prepare:<pre>
cd <i>rootDir</i>/google-api-java-client/google-api-client-parent
mvn clean deploy
mvn release:clean
</pre></li>
<li><code>mvn release:prepare -DautoVersionSubmodules=true</code>
<ul>
<li>Accept default for 'What is the release version for "Google API
Client - Parent"?'</li>
<li>Type <code>1.3.0-alpha</code> for 'What is SCM release tag or
label for "Google API Client - Parent"?'</li>
<li>Accept default for 'What is the new development version for
"Google API Client - Parent"?'</li>
</ul>
</li>
<li><code>mvn release:perform -Darguments=-Dgpg.passphrase=<i>[YOUR
GPG PASSPHRASE]</i></code></li>
<li>Release on oss.sonatype.org
<ul>
<li>Log in to <a href="https://oss.sonatype.org">https://oss.sonatype.org</a></li>
<li>Click on "Staging Repositories"</li>
<li>check box next to uploaded release</li>
<li>click Close button; type <code>1.3.0-alpha</code> and click Close</li>
<li>check box next to uploaded release</li>
<li>click Release button; type <code>1.3.0-alpha</code> and click
Release</li>
</ul>
</li>
<li>Central Maven repository is synced hourly. Wait for the new version
at: <a
href="http://repo2.maven.org/maven2/com/google/api/client/google-api-client/1.3.0-alpha/">repo2.maven.org</a></li>
</ul>
</li>
<li>Prepare the released library zip file and javadoc
<ul>
<li>change these constants from assemble/jdiff.xml for your
environment: JDIFF_HOME, MAVEN_REPOSITORY_HOME, PROJECT_ROOT_DIR,
JAVADOC_PROJECT_ROOT_DIR</li>
<li><pre>
cd <i>rootDir</i>/google-api-java-client/google-api-client-parent
hg update -r 1.3.0-alpha
mvn clean javadoc:jar install site
cp -R target/site/apidocs/ <i>rootDir</i>/javadoc/1.3-alpha
cd /tmp
rm -rf google-api-java-client
hg clone -r 1.2.3-alpha https://google-api-java-client.googlecode.com/hg/ google-api-java-client
cd -
ant -f jdiff.xml
cd ../../javadoc
hg add
hg commit -m "1.3.0-alpha"
hg push
cd ../google-api-java-client
</pre></li>
</ul>
</li>
<li>Update to new version on <a
href="http://code.google.com/p/google-api-java-client">http://code.google.com/p/google-api-java-client</a>
<ul>
<li>Upload to <a
href="http://code.google.com/p/google-api-java-client/downloads/entry">http://code.google.com/p/google-api-java-client/downloads/entry</a>
<ul>
<li>Summary: Google API Client Library for Java, version 1.3.0-alpha</li>
<li>File: <code>google-api-java-client/target/google-api-client-1.3.0-alpha-java.zip</code></li>
<li>Labels: <code>Type-Archive</code>, <code>OpSys-All</code>, and <code>Featured</code></li>
<li>click Submit file</li>
</ul>
</li>
<li>If it is a bug fix release, deprecate the library from any previous
versions by removing any <code>Featured</code> label and adding the <code>Deprecated</code>
label.</li>
<li>Update the following pages changing any reference from the previous
version to the new version <code>1.3.0-alpha</code>:
<ul>
<li><a href="http://code.google.com/p/google-api-java-client/admin">admin</a></li>
<li><a
href="http://code.google.com/p/google-api-java-client/w/edit/Setup">wiki/Setup</a></li>
<li><a
href="http://code.google.com/p/google-api-java-client/w/edit/SampleProgram">wiki/SampleProgram</a></li>
</ul>
</li>
</ul>
</li>
<li><a
href="http://www.blogger.com/post-create.g?blogID=4531100327392916335">New
Post</a> on the <a href="http://google-api-java-client.blogspot.com/">announcement
blog</a> about the new version, including links to:
<ul>
<li><a
href="http://code.google.com/p/google-api-java-client/issues/list?can=1&q=milestone=Version1.3.0%20type=Defect&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary">Bugs
Fixed</a></li>
<li><a
href="http://code.google.com/p/google-api-java-client/issues/list?can=1&q=milestone=Version1.3.0%20type=Enhancement&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary">Features
Added</a></li>
</ul>
</li>
<li>Start development of next bug fix version
<ul>
<li><code>hg update</code></li>
<li>For the following files, replace <code>1.2.*-alpha</code> with <code>1.3.0-alpha</code>:
<ul>
<li><code>google-api-client-parent/jdiff.xml</code></li>
<li><code>google-api-client-parent/release.html</code>
<ul>
<li>before-hand replace 1.3.1 with next minor version, and 1.3.0
with 1.3.1</li>
</ul>
</li>
<li><code>google-api-client/src/main/java/com/google/api/client/http/HttpRequest.java</code></li>
</ul>
</li>
<li><code>hg commit -m "start 1.3.1-alpha"</code></li>
</ul>
</li>
</ul>
</body>
</html>