forked from rototor/jeuclid
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Release
130 lines (84 loc) · 3.4 KB
/
README.Release
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
Before the Release
Send mail to jeuclid-devel, asking for potential release, count votes
Release day:
<!-- currently none
1. manually edit all pom.xml and remove snapshot dependencies.
You may have to commit these changes
mvn -Dmessage="Disabled snapshots in preparation for release" scm:checkin
-->
2. Test with maven:
mvn -DdryRun=true release:prepare
(check if that works, and resolve any issues before going ahead)
mvn release:clean
mvn install
3. Actually prepare release:
mvn release:prepare
fails half-way through due to missing dependencies, fix with
mvn install
mvn release:prepare -Dresume
if you get a mercurial commit error:
- edit release.properties, set completedPhase to scm-commit-release
- resume
mvn release:prepare -Dresume
Then the same again, this time to scm-commit-development
ensure the changes are pushed to the main repo:
hg push
4. Perform the release
Ensure that you have a shell at sourceforge:
/usr/bin/ssh -T maxberger,jeuclid@shell.sourceforge.net create
(use your user name)
mvn release:perform -DgenerateReleasePoms=true
(checks out the project into target/checkout)
WILL FAIL after uploading jeuclid-parent, but that's ok!
clean up after release:
mvn release:clean
5. Manually build, install locally
cd target/checkout
mvn install
6. Deploy to m2-release (which is automatically synced to ibiblio)
disable all modules except -mathviewer, -core, -core16 -cli -swt (use only comments, do not delete lines!) currently: fop, jeuclid, minimal, testsuite
(edit pom.xml in target / checkout)
mvn deploy
7. Re-enable distribution plugins (that where disabled in 1: none)
Also, re-enable all modules ( still in target / checkout )
hg revert pom.xml
build the real release packages:
mvn package
build source packages:
mvn assembly:assembly -Ddescriptor=src/assemble/source.xml
(TODO: Maybe also in support/ )
upload to sf:
VERSION=3.1.2 #replace with version
USER=maxberger #replace with your sf id
cd jeuclid/target
rsync -avP -e ssh jeuclid-$VERSION-distribution.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/
cd ../../jeuclid-mathviewer/target
rsync -avP -e ssh jeuclid-mathviewer-$VERSION-osx.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/
rsync -avP -e ssh jeuclid-mathviewer-$VERSION-win32.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/
cd ../../jeuclid-minimal/target
rsync -avP -e ssh jeuclid-minimal-$VERSION-distribution.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/
cd ../../jeuclid-fop/target
rsync -avP -e ssh jeuclid-fop-$VERSION-distribution.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/
cd ../../target/
rsync -avP -e ssh jeuclid-parent-$VERSION-src.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/
cd ..
Log into SF website and use files. ( release )
Write News on SF site
8. Update website
go back to main SVN,
cd ../..
cd src/site
edit docbook/index.xml
cd ../..
9. update src/changes/changes.xml
<!--
10. Undo changed in pom.xmls (re-enable plugins from step 1)
-->
<!--
11. Deploy website
mvn install && mvn site && mvn site-deploy
(is done automatically at night)
-->
12. commit changes
mvn -Dmessage="Updated file after release" scm:checkin
13. Send email to jeuclid-users and jeuclid-devel, and optionally to www-math@w3.org