MSS Code Factory is hosted for downloads by SourceForge.net.
The GitHub.com source repositories are all located at https://github.com/msobkow.
I find the combination a handy way of getting source and builds out the door.
The 2.9 and 2.10 projects are now all under an Apache V2 license. Most of the code I rely on for my projects is under an Apache license; the same has been true of most work I did for employers or customers over the years. Therefore I have decided to abandon my GPL ideals and release the code under a practical license that encourages greater reuse.
The 2.9 documentation that gets delivered with the main project is complete.
Latest internal code:
MSS Code Factory 2.8.14152 Refresh to catch latest scripts
Latest production code: MSS Code Factory CFAll 2.9.14156 All of the C++14 WLS projects now build and link
Latest development code: MSS Code Factory CFAll 2.10.14154 WSL build scripts created and tested
I may no longer have a Linux system, but Windows Services for Linux with Ubuntu 17.04 is coming along nicely. I've successfully built 2.8 under the code stack, suppressing the deprecated code warnings as I've no interest in carrying the 2.8 code base any further than it has to go.
I've been busy seeing what I can do with the combination of Windows 10 and WSL Ubuntu development environments. (I'll just refer to the Ubuntu environment as "WSL" for the future.)
I installed the JDK 9's for both environments -- Oracle JDK 9 for Windows and openjdk-9-jdk-headless for WSL.
Git and ant were installed for both environments. Ant for WSL recommends a whole bunch of extra stuff to go with it, and I installed pretty much all of the recommendations.
There were some extra Windows tools to install to support GPG signing and SSL encryption. Both environments have been configured, though I can't get GPG encryption and SSL encryption to share keys; they use different armored formats.
You'll do a lot of googling for things like "Windows SSL git config" and "Windows Kleopatra Git config", but I'm not going to document the details -- there is plenty of fine documentation out there that I just followed to get things up and running.
I pruned the JavaFX code from 2.8 and 2.9 so they can both be built with openjdk-9-jdk-headless. That means no more CFBam editor. That will only exist for the 2.10 code base.
The build environments used for the projects are as follows:
I have a collection of environment scripts in the home-template directory of the download server. There are initialization files for the WSL and Windows home directories there. Don't forget to replace the "dot-" part of the file names with ".".
I also have a copy of the jars I depend on for Java builds in the apache.org directory of the download server. Most of these are the versions from Ubuntu 17.04 and the relevant apache.org websites, refreshed only this past fall.
I expect MSSCFHOME to be set to "d:\msscodefactory" under Windows. In theory you could point it somewhere else, but I kind of assume you're on D:. I should probably add an MSSCFDRIVE environment variable that specifies the drive letter and then an MSSCFDIR that is MSSCFDIR without the drive letter. MSSCFHOME would then be set to match. If I then specify "%MSSCFDRIVE%:" in my scripts instead of "d:", I should be able to make the installation location-agnostic, though I do assume exactly one installation per machine.
Correspondingly, MSSCFHOME needs to be set to the /mnt/drive/msscodefactory location matching the Windows directory in your .profile. You'll find the pattern strings "Your Name" and "email@example.com" littering the template files. Edit them accordingly. You'll also need to edit the SSL and GPG key ids according to your keys.
I need to document the system environment variables and PATH elements I expect you to set for the Windows 10 environment. I rely on those in my scripts.
On 2017-05-31, I checked the MSS Code Factory 2.9 changes that I would need to begin my C++14 manufacturing efforts. Since then I've created nearly 16,000,000 lines of clean compiling C++14 code. It doesn't run yet, and I've yet to begin my debugging efforts, but at least it all compiles and linkes now. Even CFUniverse -- the monolithic collection of all of the 2.10 projects except for CFDbTest.
During the nine months since (call it 270 days -- 9 * 30), I've produced 25,964 C++14 source files and 25,920,142 lines of C++14 code, all of which clean compiles and links into a RAM loader for the 2.10 projects. That works out to 96,000 lines of code per day, if I had actually worked on it more than a few days a month until this month. So say 100 work days. That is 259,201 lines of code per day actually worked.
My goal is to have a global server image on a system, such that one huge multi-threaded Apache server on a an amd64 Linux box provides the services to any of the integrated project's Java clients. I needed to change to C++14 to escape the limitations of Java's 32-bit bytecode addressing for that CFUniverse 2.10 server.
In keeping with that goal, I only ship a zip file for CFUniverse, which includes all of the 2.10 project binaries (even CFDbTest 2.10, though that isn't really part of CFUniverse itself.) I've had to scrap my Debian packaging efforts and go with source builds due to WSL not supporting fakeroot.
Currently there are 4 layers of C++14 code produced by the system. The foundation Obj layer, the XML SAX parser, the RAM memory database support, and a RAM loader so I can start running the CFDbTest 2.10 test data through the system to debug the behaviour of the RAM database. The builds must be performed in that order for each 2.10 C++14 project: Obj, Xml, Ram, and RamLoader. Xml imports Obj. Ram imports Obj and Xml. RamLoader imports Obj, Xml, and Ram and links them into an executable.
The file and line counts below do not include the mysql code that you'll find in the project source archives, as it isn't anywhere near ready to compile yet. These counts only include the code that I've compiled and linked.
net-sourceforge-MSSCodeFactory-CFSecurity-2-10 CPlus files 902 lines 373436 net-sourceforge-MSSCodeFactory-CFInternet-2-10 CPlus files 880 lines 414728 net-sourceforge-MSSCodeFactory-CFCrm-2-10 CPlus files 1113 lines 482581 net-sourceforge-MSSCodeFactory-CFDbTest-2-10 CPlus files 4045 lines 2974366 net-sourceforge-MSSCodeFactory-CFAccounting-2-10 CPlus files 1574 lines 996553 net-sourceforge-MSSCodeFactory-CFAsterisk-2-10 CPlus files 1220 lines 545337 net-sourceforge-MSSCodeFactory-CFEng-2-10 CPlus files 2202 lines 2063433 net-sourceforge-MSSCodeFactory-MarkII-2-10 CPlus files 2052 lines 1936441 net-sourceforge-MSSCodeFactory-CFFreeSwitch-2-10 CPlus files 1684 lines 891037 net-sourceforge-MSSCodeFactory-CFBam-2-10 CPlus files 5338 lines 5620691 net-sourceforge-MSSCodeFactory-CFUniverse-2-10 CPlus files 4954 lines 9621539 TOTAL files 25964 lines 25920142
On an AMD Ryzen 5 1500X 16GB Windows 10 system running WSL Ubuntu 64-bit, the following compile times went into the final build. Note that these are real times, not user or system times. They only include the make time, not the autotools or install times.