Skip to content

Commit

Permalink
update developer documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
carfesh committed Jan 1, 2018
1 parent ef87447 commit 7be66c8
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,29 @@ WinFellow is designed to be portable to different operating systems.
However the project files contained in the Git repository are built using Microsoft Visual Studio.

Currently the following software should be used for development in the Git master branch:
- Visual Studio 2013 Update 5

- Visual Studio 2017
- <a href="http://www.microsoft.com/en-us/download/details.aspx?id=10084">February 2010 DirectX SDK</a>

Visual Studio editions:
- The community edition of Visual Studio 2013 can be used to compile WinFellow; it even features debugging and profiling.
The community edition of Visual Studio 2017 can be used to compile WinFellow; it even features debugging and profiling.
The directory containing the utility fxc.exe (which is usually located in
C:\Program Files (x86)\Microsoft DirectX SDK (February 2010)\Utilities\bin\x64) must be added to search path.

For access to the Git repository, the <a href="http://desktop.github.com">GitHub Desktop</a> client is required.

For basic contributions, the components mentioned above should be sufficient.

To be able to compile release builds using the automated build script, a number of additional components must be
installed and added to the search path:

- PowerShell execution policy must be set to unrestricted (both for the 32 as well as the 64 bit PowerShell)
- Git for Windows 64 Bit must be installed and added to the search path; usually Notepad++ is used as default editor
- the module posh-git must be installed
- the LyX Bundle including MikTeX must be installed and lyx.exe added to the search path
- 7-Zip - search path
- NSIS - search path
- Visual Studio Locator (vswhere.exe) must be located somewhere within the search path

WinFellow was ported from DOS Fellow, which was based in large parts on assembler code that has been converted to C in the master branch.
The assembler based code still exists in the assembly_based branch. To work with that branch, <a href="http://nasm.sourceforge.net|nasm2">NASM2</a> is needed additionally.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@
HOWTO: Preparing WinFellow for a new public release
===================================================

This HOWTO describes the steps necessary to prepare a new public WinFellow release. This is to ensure that a uniform process is used that results in the same quality of release archives, whoever takes care of building and spreading the release. This HOWTO should always be updated as necessary.
This HOWTO describes the steps necessary to prepare a new public WinFellow release. This is to ensure that a uniform process is used that results in the same quality of release archives, regardless of who takes care of building and spreading the release. This HOWTO should always be updated as necessary.

* Make sure that there are no open issues left in the [WinFellow Pre-Release Agenda](https://sourceforge.net/p/fellow/internal-pre-release-agenda)
* Ensure that the subwcrev.exe output in the buildlog does not list any local modifications (compiling a release builds enforces this).
* There may be testing steps defined in the Pre-Release Agenda that should be tested when preparing for a new release - these should not be closed!
* Make sure that there are no open issues left in the [issue tracker](https://github.com/petschau/WinFellow/issues)
* Ensure that there are no local modifications in the local Git repository (compiling a release build should automatically enforce this).
* For compiling the new release, the build environment should be setup like recommended here (\ref howtodevenvsetup).
* Verify that no unnecessary debug/trace logs are written (floppy.log, capsdump.txt, ...)
* Perform regression tests according to the \ref howtoregressiontesting.
* The third digit of the version number should be increased by one (in the files versioninfo-wcrev.h and versioninfo-wcrev.rc, as well as in the doxyfile and the user guide).
* The build configuration should be changed to Release.
* Update the ReadMe/FAQ.
* Compile the build using the script collection CompileReleaseBuild-v0.93.zip; this will take care of a number of things:
- ensure that no local modifications exist, perform an SVN update and compile a clean release build
* Compile the build using the script CompileReleaseBuild.ps1; this will take care of a number of things:
- ensure that no local modifications exist, perform a Git update and compile a clean release build
- copy .exe, .pdb file and PDF user guide into a folder named WinFellow_...
- Generate ChangeLog using [svn2cl](http://sites.google.com/site/kzmizzz/svn2clwin-en);
ensure that SVN revisions are included in the resulting file; copy the ChangeLog.txt into the WinFellow_... folder
- Generate ChangeLog; ensure that Git commits are included in the resulting file; copy the ChangeLog.txt into the WinFellow_... folder
- copy GPL license terms (PDF) into the WinFellow_... folder
- zip the folder using 7-Zip
- clean up the source code directory, copy the GPL license terms into it and zip the folder using 7-Zip
* beta testing is usually performed in advance; recently it has been performed using Dropbox; in the past we posted the beta to the EAB
[private : WinFellow beta release](http://eab.abime.net/forumdisplay.php?f=60) board
* beta testing is usually performed in advance; recently beta builds have been distributed via Dropbox; in the past we posted the beta to the EAB
[private : WinFellow beta release](http://eab.abime.net/forumdisplay.php?f=60) forum
* announce availability of the beta in the forum and to the fellow-beta mailing list
* If feedback is positive, post exe to the website, fellow-announce, ...

Expand Down

0 comments on commit 7be66c8

Please sign in to comment.