Changes between Version 3 and Version 4 of MapGuideRfc149


Ignore:
Timestamp:
Jun 2, 2015, 4:47:07 AM (7 years ago)
Author:
jng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc149

    v3 v4  
    99||RFC Template Version||(1.0)||
    1010||Submission Date||28 May 2015||
    11 ||Last Modified||||
     11||Last Modified||2 Jun 2015||
    1212||Author||Jackie Ng||
    1313||RFC Status||draft||
     
    4545== Solution ==
    4646
    47 The Oem tree will be moved up one level to become a sibling of MgDev
     47The majority of the Oem tree will be moved up one level to become a sibling of MgDev.
     48
     49The proposed tree layout is as follows (only applicable directories shown for brevity):
     50
     51{{{
     52/trunk
     53   /Oem
     54      /ACE
     55      /CppUnit-1.9.14
     56      /CsMap [svn external to CS-Map SVN repo]
     57      /dbxml
     58      /DWFTK
     59      /FDO
     60      /gd
     61      /geos
     62      /httpd
     63      /jsoncpp
     64      /LinuxApt
     65      /php
     66      /SQLite
     67      /SWIGEx
     68      /WebTools [moved from MgDev/BuildTools/WebTools]
     69   /MgDev
     70      /Oem
     71         /agg-2.4
     72         /fusion [svn external to fusion SVN repo]
     73         /fusionMG
     74}}}
     75
     76As can be seen, not all of Oem is moved up. The reasons for keeping some directories within MgDev/Oem are:
     77 * agg-2.4: AGG is not built as a library on Windows. Its source files are referenced by the Renderers project on Windows at the source level. Moving this out of Oem is unnecessary given is negligible size.
     78 * fusion: Fusion is not so much an external library, but rather a MapGuide-specific application framework that happens to sit in an external repository, so moving this out is also unnecessary. It is also somewhat negligible in size.
     79 * fusionMG: Same "external library" and size reason as fusion
     80
     81The release branching strategy under this new layout is to make a branch-specific root directory and branch the respective `Oem` and `MgDev` directories from trunk into this branch-specific root directory. The respective Fusion and CS-Map external references will be updated to point to their respective release-specific branches
     82
     83For example, a 3.1 release branch would look like this (again, relevant directories shown for brevity):
     84
     85{{{
     86
     87/branches/3.1
     88    /Oem [branched from /trunk/Oem]
     89        /CsMap [svn external pointing to release-specific branch of CS-Map]
     90    /MgDev [branched from /trunk/MgDev]
     91        /Oem
     92            /fusion [svn external pointing to release-specific branch of Fusion]
     93}}}
    4894
    4995A new build script will be added to Oem that will build all Oem compoents and package the resulting headers/libs/dlls into a "buildpack" archive. To keep this archive as small as possible, anything that is not a header, import library or dll (so's in Linux) is omitted.