How to build Windows deliveries ?
=================================

1) local subversion repositories
--------------------------------
First, one can build local mirror of eiffelstudio and private ise repositories.
It speeds up the delivery, and this way, you are not subject to network issue.

See repos/ folder.
For eiffelstudio:
```
> cd repos
> init_eiffelstudio_mirror.bat
> svnsync_all_mirrors.bat
```

For ise
First, you need to setup the ISEVPN to access the subversion repository at `svn://svn.ise:3691/ise_svn` , then
```
> init_ise_mirror.bat your_ise_username your_ise_password
> svnsync_all_mirrors.bat
```

Note, the delivery scripts are setup to use those mirrors, at this location, using file:///..../svn/eiffelstudio location for instance.


2) setup the build scripts
--------------------------
in `windows_deliv`, you will find a new set of scripts.
Please look into `etc\` folder
update `config.btm` to set the expected version, for instance
```
	set STUDIO_VERSION_MAJOR_MINOR=18.11
```
And there are a few variables to set, but it is recommended to add a new file `etc\machines\%COMPUTERNAME%.btm`  , and set the variables specific to your machine.
This way, you can switch easily from a machine to another.
You can also decide in those files, to use the real subversion repositories, instead of the local mirrors.


in `etc\profiles\` you can have various delivery profiles, for win64, using vc100, or vc150, ...
you can decide to use one of them, by setting the environment variable `ISE_BUILD_NAME` to one of them (use the filename without the extension).
Otherwise it will use default values for `ISE_C_COMPILER*` variables.

3) Requirements
---------------
- TCC/LE (https://jpsoft.com/products/tcc-le.html)
  edit menu.bat to set the TCCLECMD variable.
- expected VisualStudio, to compile C Code.
- WiX: in `C:\Program Files (x86)\Windows Installer XML v3\bin\  ` see file `install/package.wixproj`.

4) And finally, open the wanted Visual Studio prompt and run
```
> menu.bat
```
and you can choose 1 for the full delivery, or 7 only for the GPL versions.


-----

Personal notes from Jocelyn: 
- in `set_simple_aliases.btm`, see the alias `share_delivery` , it is called when the delivery is ready to share it on ftp, or elsewhere. The current setup is copying the file in `es_build_deliv/nightly` folder. On my machine, I have a symbolic link to a dropbox shared folder, so once it is ready I can access it, and I also setup an IFTTT that notifies any change in that folder, and send a message on slack.




