Tools PHP release and snapshot build automation for Windows.
Since this software is no longer used for build automation on Windows, it has been archived.
The PHP RMTOOLS itself is licensed under the BSD 2-Clause license. With the usage of the other tools, you accept the respective licenses.
- Visual Studio
- PHP-SDK
NOTE: All the paths in the usage exampled are on drive C: for simplicity. Locations of PHP SDK and RMTOOLS are customizable and are not bound to a firm path on the system. All the path configuration is editable in the corresponding branch ini files under rmtools\data\config\branch
- install Git, alternatively - fetch the latest tags for RMTOOLS and PHP SDK
md c:\php-snap-build
cd c:\php-snap-build
git clone https://github.com/Microsoft/php-sdk-binary-tools.git php-sdk
git clone https://github.com/php/web-rmtools.git rmtools
md c:\php-snap-build\obj-x64
, or alternatively similar tomklink /d obj-x64 d:\tmp-obj-x64
md c:\php-snap-build\obj
, or alternatively similar tomklink /d obj d:\tmp-obj
md C:\php-snap-build\snap_master\vc14\x64
md C:\php-snap-build\snap_master\vc14\x86
- copy C:\php-snap-build\rmtools\bin\rmtools_setvars.bat-dist to C:\php-snap-build\rmtools\bin\rmtools_setvars.bat, set the appropriate values
- copy C:\php-snap-build\rmtools\data\config\credentials_ftps.php-dist to C:\php-snap-build\rmtools\data\config\credentials_ftps.php, set the appropriate values
With this configuration, for example for a VC14 64-bit build
- the build dir is C:\php-snap-build\snap_master\vc14\x64
- the object dir is C:\php-snap-build\obj-x64
- the package dir is C:\php-snap-build\obj-x64
- run
c:\php-snap-build\php-sdk\phpsdk-vc14-x64.bat -t c:\php-snap-build\rmtools\bin\snapshot_task.bat --task-args "<branch> <type>"
<branch>
is the name of one of the INI files in data\config\branch (e.g. phpmaster
),
and <type>
is the name of one of the sections in that INI file (e.g. nts-windows-vc15-x64
).
<type>
can also be all
, to build all types defined in the given INI file.
To make a x86 build, the corresponding starter script from the PHP SDK needs to be used.