-
Notifications
You must be signed in to change notification settings - Fork 9
/
BUILDING.txt
194 lines (132 loc) · 5.89 KB
/
BUILDING.txt
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
Building HttpComponents Parent
==============================
(1) Requisites
--------------
JDK 1.7 or later is required in order to compile and run HttpComponents Parent.
HttpComponents Parent utilizes Apache Maven as a distribution management and packaging tool.
Version 3.0.5 or later is required.
Version 3.5.0 is recommended (this is what I am running.)
Maven installation and configuration instructions can be found here:
http://maven.apache.org/run-maven/index.html
You will also need Apache Subversion and Git:
- Apache Subversion: https://subversion.apache.org/
- Git: https://git-scm.com/
These instructions were last used with:
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T13:39:06-06:00)
Maven home: C:\Java\apache-maven-3.5.0\bin\..
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_80\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"
svn, version 1.9.7-SlikSvn (SlikSvn/1.9.7)
compiled Aug 13 2017, 14:10:40 on x86_64-microsoft-windows6.2.9200
git version 2.14.1.windows.1
gpg (GnuPG) 2.0.30 (Gpg4win 2.3.4)
libgcrypt 1.7.8
(2) Check local build
---------------------
Run the following to make sure all is well:
mvn clean package
(3) Consider plugin updates
---------------------------
Run the following to see which plugins you could update:
mvn versions:display-plugin-updates -U
(4) Test deploying the SNAPSHOT
-------------------------------
Try deploying the current SNAPSHOT as a sanity check:
mvn clean deploy
(5) Creating a release candidate
--------------------------------
Check the license headers:
mvn apache-rat:check
Check that we have a LICENSE.txt file.
Check that we have a NOTICE.txt file and that it has the proper copyright end year, which should be the current year.
Make sure the POM shows the correct version and that it is not a SNAPSHOT.
Tag the release candidate:
git commit -am "Update version numbers for release 9"
git tag -s 9-RC1 -m "Tag release 9-RC1"
git push origin 9-RC1
Dry-run the release:
mvn release:prepare -DdryRun=true
Run the release:
mvn release:prepare
Deploy:
mvn deploy -Prelease
Login to https://repository.apache.org and close the RC.
Keep note of the repository location, for example: https://repository.apache.org/content/repositories/orgapachehttpcomponents-1065
Publish to dist folder:
Check out the dist folder for this component:
set VERSION=9
set RC_VERSION=9-RC1
set REPO_PATH=%USERPROFILE%\.m2\repository\org\apache\httpcomponents\httpcomponents-parent\%VERSION%
svn checkout https://dist.apache.org/repos/dist/dev/httpcomponents/
cd httpcomponents\httpcomponents-parent
mkdir %RC_VERSION%
cd %RC_VERSION%
set RC_DIR=%cd%
copy %REPO_PATH%\httpcomponents-parent-%VERSION%.pom .
copy %REPO_PATH%\httpcomponents-parent-%VERSION%.pom.asc .
ALSO: Copy SHA1 and MD5 files from https://repository.apache.org/content/repositories/orgapachehttpcomponents-????
svn commit -m "Apache HttpComponents Parent %RC_VERSION%"
(6) Call for a VOTE
-------------------
Email [email protected], for example:
Subject: [VOTE] Release HttpComponents Parent version 9 based on RC1
Please vote to release HttpComponents Parent version 9 based on RC1.
The changes since version 8 are:
- Removed obsolete notice plugin
- Removed obsolete svn-buildnumber plugin and profiles
- Removed obsolete clover plugin and profile
- build-helper-maven-plugin 1.12 -> 3.0.0
- maven-gpg-plugin 1.4 -> 1.6
- maven-assembly-plugin 3.0.0 -> 3.1.0
- maven-compiler-plugin 3.6.0 -> 3.6.1
- maven-compiler-plugin 3.6.1 -> 3.6.2
- maven-compiler-plugin 3.6.2 -> 3.7.0
- maven-surefire-plugin 2.19.1 -> 2.20
- maven-resources-plugin 3.0.1 -> 3.0.2
- maven-bundle-plugin 3.2.0 -> 3.3.0
- jacaoco-maven-plugin 0.7.7.201606060606 -> 0.7.9
- Renamed artifactId to httpcomponents-parent
- Added use-toolchains profile; activated if ~/.m2/toolchains.xml exists
- maven-javadoc-plugin 2.10.4 -> 3.0.0-M1 (allows building on Java 9.)
- animal-sniffer-maven-plugin 1.15 -> 1.16
The vote is open for at least 72 hours.
Anyone may vote, but only votes from HttpComponents PMC members are binding.
The vote passes if at least three binding +1 votes are cast and there
are more +1 than -1 votes.
Maven artefacts:
https://repository.apache.org/content/repositories/orgapachehttpcomponents-????/
Git tag:
https://git-wip-us.apache.org/repos/asf?p=httpcomponents-parent.git;a=commit;h=215ae373d047e2fa886642de24de9a905dbbe7cb
Dev dist:
https://dist.apache.org/repos/dist/dev/httpcomponents/httpcomponents-parent/9-RC1/
--------------------------------------------------------------------------
Vote: HttpComponents parent pom 5 release based on RC1
[ ] +1 Release the packages as HttpComponents parent pom 5
[ ] -1 I am against releasing the packages (must include a reason).
(7) Gather the VOTE result
--------------------------
Count and send to [email protected]:
Subject: [VOTE][RESULT] Release HttpComponents Parent version 9 based on RC1
(8) Publish
-----------
Publish to https://dist.apache.org/repos/dist/release/httpcomponents/httpcomponents-parent/
set VERSION=9
set RC_VERSION=9-RC1
set REPO_PATH=%USERPROFILE%\.m2\repository\org\apache\httpcomponents\httpcomponents-parent\%VERSION%
svn checkout https://dist.apache.org/repos/dist/release/httpcomponents/
cd httpcomponents\httpcomponents-parent
mkdir %VERSION%
cd %VERSION%
copy %REPO_PATH%\httpcomponents-parent-%VERSION%.pom .
copy %REPO_PATH%\httpcomponents-parent-%VERSION%.pom.sha1 .
svn commit -m "Apache HttpComponents Parent %VERSION%"
Login to https://repository.apache.org and delete any extraneous checksum files: BE CAREFUL WHICH FILES YOU DELETE.
Then release the RC.
(9) Clean up
------------
Remove the RC form https://dist.apache.org/repos/dist/dev/httpcomponents/
(10) Send Announcement Email
----------------------------
Since this is an internal component, announcing the release to [email protected] should be enough.