@@ -29,33 +29,59 @@ mv Makefile.new Makefile
29
29
30
30
# Set the version in lwt.opam to the version in _oasis, and remove the oasis
31
31
# dependency.
32
- sed " s/^version: \" dev\" /version: \" $VERSION \" /" lwt.opam > lwt.opam.1
33
- grep -vi oasis lwt.opam.1 > lwt.opam
34
- rm lwt.opam.1
35
-
36
- # Set the version in additional packages based on their META files, and remove
37
- # the "dev" constraint on lwt.
38
- for FILE in ` ls lwt_* .opam`
39
- do
40
- PACKAGE=${FILE# lwt_}
41
- PACKAGE=${PACKAGE% .opam}
42
- PACKAGE_VERSION=` cat src/$PACKAGE /META | grep version`
43
- PACKAGE_VERSION=` echo $PACKAGE_VERSION | egrep -o ' [0-9]+\.[0-9]+\.[0-9]+' `
44
- sed " s/^version: \" dev\" /version: \" $PACKAGE_VERSION \" /" $FILE > $FILE .1
45
- sed ' s/"lwt" {.*$/"lwt" {>= "2.7.0" \& < "3.0.0"}/' $FILE .1 > $FILE
46
- rm $FILE .1
47
- done
32
+ sed " s/^version: \" dev\" /version: \" $VERSION \" /" opam/opam > opam/opam.1
33
+ grep -vi oasis opam/opam.1 > opam/opam
34
+ rm opam/opam.1
48
35
49
36
# Remove development files.
50
37
rm -f \
51
38
.jenkins.sh appveyor.yml .travis.yml * .exe configure _oasis .merlin \
52
39
src/util/appveyor-build.sh src/util/appveyor-install.sh src/util/dist.sh \
53
40
src/util/fetch-dependees.py src/util/travis.sh
54
41
55
- # Commit
56
- git add --all --force
57
- git rm .gitignore
58
- git commit -m " Release $VERSION "
59
- git tag -a $VERSION
42
+ # Generate extra package build systems, and remove development files.
43
+ for PACKAGE in react ssl glib
44
+ do
45
+ pushd src/$PACKAGE
46
+ oasis setup -setup-update none
47
+ rm -f _oasis configure
48
+ popd
49
+ done
50
+
51
+ # Print instructions for finishing release packaging manually.
52
+ set +x
60
53
61
- echo " Tag $VERSION created. Run 'git push origin $VERSION ' to publish."
54
+ echo " 1. Move out packages lwt_react, lwt_ssl, lwt_glib with"
55
+ echo " mv src/lwt_react SOME-TEMPORARY-DIRECTORY"
56
+ echo " and corresponding commands for lwt_ssl, lwt_glib."
57
+ echo
58
+ echo " 2. Pin packages in their final form, and test installation and linking:"
59
+ echo " opam pin add . # for the main lwt"
60
+ echo " opam pin add SOME-TEMPORARY-DIRECTORY # for each of react, ssl, glib"
61
+ echo " opam install lwt"
62
+ echo " opam install lwt_react"
63
+ echo " and so on; then compile some test programs."
64
+ echo
65
+ echo " 3. Commit to this repo and tag in it to create the main lwt release."
66
+ echo " GitHub will create package archives automatically once the tag is"
67
+ echo " pushed:"
68
+ echo " git add --all --force"
69
+ echo " git rm .gitignore"
70
+ echo " git commit -m \" Release $VERSION \" "
71
+ echo " git tag -a $VERSION "
72
+ echo " When tagging, include the changelog. For an example, run:"
73
+ echo " git show 2.7.0"
74
+ echo
75
+ echo " 4. Create .tar.gz archives manually for the extra packages:"
76
+ echo " cd SOME-TEMPORARY-DIRECTORY"
77
+ echo " tar cvzf lwt_react.tar.gz *"
78
+ echo
79
+ echo " 5. Post everything to GitHub:"
80
+ echo " git push origin $VERSiON "
81
+ echo " Attach lwt_react.tar.gz, etc., to the release manually."
82
+ echo
83
+ echo " X. To revert:"
84
+ echo " git checkout master # or whatever branch you were on"
85
+ echo " git checkout -- ."
86
+ echo " git clean -ffd"
87
+ echo " git branch -D release-$VERSION "
0 commit comments