Browse Source

doc: updated the developers' guide with new stuff.

pull/280/head
Vladimír Vondruš 8 years ago
parent
commit
d1a6934b37
  1. 52
      doc/developers.dox

52
doc/developers.dox

@ -426,7 +426,7 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
@section developers-gl-extensions Checklist for adding / removing GL versions and extensions @section developers-gl-extensions Checklist for adding / removing GL versions and extensions
1. Install [flextGL](https://github.com/ginkgo/flextGL) 1. Install [flextGL](https://github.com/mosra/flextgl)
2. Go to `src/MagnumExternal/OpenGL/GL/`: 2. Go to `src/MagnumExternal/OpenGL/GL/`:
- Update `extensions.txt` (bump a version or add/remove extensions) - Update `extensions.txt` (bump a version or add/remove extensions)
- Run @cb{.sh} .../flextGLgen.py -D . -t . extensions.txt @ce to generate - Run @cb{.sh} .../flextGLgen.py -D . -t . extensions.txt @ce to generate
@ -467,7 +467,7 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
8. Add a table listing the new version and all new extensions in it to 8. Add a table listing the new version and all new extensions in it to
`doc/opengl-support.dox` (take a list of them from the changelog in the `doc/opengl-support.dox` (take a list of them from the changelog in the
official spec PDF). Some extensions might be already present in the general official spec PDF). Some extensions might be already present in the general
extension list, move them out of there extension list, move them out of there.
9. Add a new `requires-glXY`, `requires-glesXY` or `requires-webglXY` page 9. Add a new `requires-glXY`, `requires-glesXY` or `requires-webglXY` page
with @c \@m_footernavigation to `doc/opengl-support.dox`, mention it as a with @c \@m_footernavigation to `doc/opengl-support.dox`, mention it as a
@c \@subpage at a correct position in the list @c \@subpage at a correct position in the list
@ -480,7 +480,7 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
- to @ref GL::Extension::extensions() in `src/Magnum/GL/Context.cpp` - to @ref GL::Extension::extensions() in `src/Magnum/GL/Context.cpp`
- to @cpp GL::Context::tryCreate() @ce in `src/Magnum/GL/Context.cpp` - to @cpp GL::Context::tryCreate() @ce in `src/Magnum/GL/Context.cpp`
- to specify GLSL version in `src/Magnum/GL/Shader.cpp` - to specify GLSL version in `src/Magnum/GL/Shader.cpp`
- to the list in `src/Magnum/Platform/magnum-gl-info.cpp` - to the list in `src/Magnum/Platform/gl-info.cpp`
- to the test in `src/Magnum/GL/Test/ContextTest.cpp` - to the test in `src/Magnum/GL/Test/ContextTest.cpp`
12. Add new extensions to `src/Magnum/GL/Extensions.h` 12. Add new extensions to `src/Magnum/GL/Extensions.h`
- order them by extension ID that is mentioned in every extension spec - order them by extension ID that is mentioned in every extension spec
@ -769,23 +769,26 @@ inverse.
add a mention to the changelog), @m_span{m-label m-danger m-flat} scrapped @m_endspan add a mention to the changelog), @m_span{m-label m-danger m-flat} scrapped @m_endspan
or @m_span{m-label m-dim m-flat} no action needed @m_endspan label to wrap or @m_span{m-label m-dim m-flat} no action needed @m_endspan label to wrap
them up them up
6. Update changelog for the next release: 6. Go through merged PRs (and the *most important* issues) and add new people
to `CREDITS.md` and http://magnum.graphics/about/, if they are not there
yet
7. Update changelog for the next release:
- change section names for the latest release from `latest` to `20XY-ab` - change section names for the latest release from `latest` to `20XY-ab`
- change the title from `Changes since 20XY.aa` to `20XY.ab` - change the title from `Changes since 20XY.aa` to `20XY.ab`
- add a paragraph stating date of release and referencing the to-be-added - add a paragraph stating date of release and referencing the to-be-added
tag on GitHub tag on GitHub
7. Bump `MAGNUM_LIBRARY_VERSION` and `MAGNUM_LIBRARY_SOVERSION` in all 8. Bump `MAGNUM_LIBRARY_VERSION` and `MAGNUM_LIBRARY_SOVERSION` in all
projects, if needed --- ensure all projects have the exact same version projects, if needed --- ensure all projects have the exact same version
8. Rebuild all projects with the new shared library version numbers, verify 9. Rebuild all projects with the new shared library version numbers, verify
all tools and examples still behave properly all tools and examples still behave properly
9. Build and upload public docs (see @ref developers-documentation), verify 10. Build and upload public docs (see @ref developers-documentation), verify
that there are no new warnings and the changelog looks correct that there are no new warnings and the changelog looks correct
10. Push all new changes to a temporary branch (e.g., `next`) 11. Push all new changes to a temporary branch (e.g., `next`)
11. Wait for the CIs to get green 12. Wait for the CIs to get green
12. Tag a new version using @cb{.sh} git tag -a v20XY.ab @ce, say just 13. Tag a new version using @cb{.sh} git tag -a v20XY.ab @ce, say just
`Version 20XY.ab` as a message `Version 20XY.ab` as a message
13. Push the tag, verify that the CIs are still green 14. Push the tag, verify that the CIs are still green
14. Write a release announcement for the blog 15. Write a release announcement for the blog
- highlight the most prominent features, mention detailed blog posts - highlight the most prominent features, mention detailed blog posts
about them, if any about them, if any
- reference detailed changelogs for all projects at the end - reference detailed changelogs for all projects at the end
@ -793,22 +796,24 @@ inverse.
- create some fancy eye-catchy cover image featuring nice screenshots of - create some fancy eye-catchy cover image featuring nice screenshots of
new functionality new functionality
- add release annoucement link under the button on front page - add release annoucement link under the button on front page
15. Publish the release announcement, verify it looks correct 16. Publish the release announcement, verify it looks correct
16. Advertise the release announcement, preferrably Monday 5 PM, never Friday 17. Advertise the release announcement, preferrably Monday 5 PM, never Friday
or weekends or weekends
- come up with some 100-character-long extended title - come up with some 100-character-long extended title
- Twitter (extended title + url and some hashtags), first dry-run the - Twitter (extended title + url and some hashtags), first dry-run the
link on https://cards-dev.twitter.com/validator to ensure the cover link on https://cards-dev.twitter.com/validator to ensure the cover
image gets displayed image gets displayed
- Reddit `r/cpp`, `r/gamedev`; Hacker News (extended title + url) - GitHub Release Radar (releaseradar@github.com)
- Reddit `r/cpp`, `r/gamedev`, `r/webassembly`, `r/vulkan`, `r/webgl`,
`r/gltf`; Hacker News (extended title + url)
- summarize the release to mailing list - summarize the release to mailing list
- summarize the release highlighting GL- and Vulkan-related functionality - summarize the release highlighting GL- and Vulkan-related functionality
and submit that to Khronos and submit that to Khronos
- Add a message to the Gitter chat (title as heading, cover image, - Add a message to the Gitter chat (title as heading, cover image,
summary in a blockquote and "read more" link) summary in a blockquote and "read more" link)
17. Reference Twitter, Reddit, Hacker News and mailing list in a "Discussion" 18. Reference Twitter, Reddit, Hacker News and mailing list in a "Discussion"
note at the end of the article, reupload that change note at the end of the article, reupload that change
18. Update versions of ArchLinux AUR packages: 19. Update versions of ArchLinux AUR packages:
- run `makepkg` in `package/archlinux/magnum*-git`, verify it builds and - run `makepkg` in `package/archlinux/magnum*-git`, verify it builds and
says correct version, ideally with `r0` at the ennd says correct version, ideally with `r0` at the ennd
- copy the updated `PKGBUILD` to the AUR package repo, run - copy the updated `PKGBUILD` to the AUR package repo, run
@ -816,14 +821,15 @@ inverse.
- commit the updated `PKGBUILD` and `.SRCINFO`, push - commit the updated `PKGBUILD` and `.SRCINFO`, push
- after pushing all, verify that the version is updated in the AUR web - after pushing all, verify that the version is updated in the AUR web
interface as well interface as well
19. Update Debian package changelog in `package/debian/changelog`, copypasting 20. Update Debian package changelog in `package/debian/changelog`, copypasting
the last entry, updating it and using the Git tag date+time for it (note the last entry, updating it and using the Git tag date+time for it (note
that the date format is slightly different) that the date format is slightly different)
20. Update Homebrew package versions 21. Update Homebrew package versions
21. Ask someone to update Vcpkg packages 22. Ask someone to update the Ubuntu PPA
22. Close the 20XY.ab GitHub milestone 23. Ask someone to update Vcpkg packages
23. Add link to the release notes to the tag on GitHub 24. Close the 20XY.ab GitHub milestone
24. Have a drink and take two days off 25. Add link to the release notes to the tag on GitHub
26. Have a drink and take two days off
*/ */
} }

Loading…
Cancel
Save