Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Release making process:
Change version number
Change version of all packages in pasdoc/source/packages/ dir. Right now this means changing
all Delphi packages
change VERSION in pasdoc/Makefile
change PASDOC_VERSION and PASDOC_DATE in pasdoc/source/components/PasDoc_Versions.pas
Make sure you have nice entry in https://github.com/pasdoc/pasdoc/blob/master/ChangeLog file in pasdoc sources.
We try to write the ChangeLog entry while developing PasDoc (each time someone does something significant, it’s immediately added to the ChangeLog). So at this point, mainly __review and finalize (write new verion number and release date) ChangeLog entry.
Make sure you have the latest stable FPC and Lazarus versions.
make clean build-fpc-default or
make clean build-fpc-<os/arch> to compile a release version of pasdoc. Or you can just call
make dist-<os/arch>, this will make
build-fpc-<os/arch> as the first steps. (Note that it’s important to call
build-fpc-<os/arch>, otherwise you risk that some units were left as compiled with debug options).
Run all the tests by
cd pasdoc/tests/scripts ./run_all_tests.sh
There are various comments inside
tests/run_all_tests.sh about what is really happening. It runs various other tests we have prepared, it even compares the output with some "designated correct" output.
To be perfect, you should run these tests on all targets.
Remove from the documentation text
Note that this feature is not available in latest released pasdoc version, x.y.z. You must download and compile pasdoc yourself or use DevelopmentSnapshots to use this feature.
(where x.y.z is version number of previous release) placed at the beginning of some pages. This is easily done by doing a full-text search in the wiki for the phrase Note that this feature is not available in latest released pasdoc version. (For GitHub wiki, you can clone it and then just grep locally.)
Get latest stable FPC.
Get latest stable Lazarus.
Compile PasDocGui from command-line using lazbuild:
lazbuild source/packages/lazarus/pasdoc_package.lpk lazbuild source/gui/pasdoc_gui.lpi
Compile PasDocGui interactively, from within Lazarus.
Test pasdoc_gui: for basic test, open the project with pasdoc’s autodoc source/autodoc/autodoc.pds and hit "Generate".
For platforms where pasdoc_gui is included in releases (currently this means Linux-x86, Darwin-x86, Win32) the make dist-… will automatically compile and include pasdoc_gui binary (using lazbuild to compile Lazarus package and project in batch mode).
Use make dist-<os/arch>. This will do clean, then appropriate build-<compiler>-<os/arch>, then will produce archive named like pasdoc-<version>-<os/arch>. This is the archive you want to release.
Source archive is made by make dist-src.
sftp://kambi,email@example.com/home/frs/project/p/pa/pasdoc(edit this to include your SourceForge username).
Package name for archives with compiled version (created by make dist-<os/arch>) is PasDoc os-arch. Package name for source archive (the one created by make dist-src) is PasDoc Sources.
Remember to mark files that should be the default download on some systems (Linux, Windows). For Linux, mark 64-bit version to download by default, as 64-bit is more popular now.
Download the uploaded files and compare with originals, or check md5sums, to be absolutely sure they are Ok.
Tag in version control
Add a tag x.y.z to version control by
In our bugs tracker, add a group x.y.z
It’s a good idea to upload PasDocAutoDoc at this time, like this:
cd pasdoc/source/autodoc/ make clean public upload SF_USERNAME=my_user_name
Send mail about release to our pasdoc-main mailing list.
Submit news item PasDoc x.y.z released
Announce new release on http://freshcode.club/projects/pasdoc.
Announce new release on Lazarus forum.
Announce new release on FB, G+
Send an update to FSF directory.
Prepare for next release: ChangeLog file should start with line
[Next release -- release date and new version number unknown yet...]
Really, really large and significant improvements may be signalled by changing the project’s description: