[mapguide-commits] r9795 - in sandbox/jng/vanilla_swig/Bindings: . src/Bindings/DotNet/Foundation src/Bindings/DotNet/Geometry src/Bindings/DotNet/MapGuideCommon src/Bindings/DotNet/PlatformBase src/Bindings/DotNet/Web

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Nov 20 00:03:41 PST 2020


Author: jng
Date: 2020-11-20 00:03:41 -0800 (Fri, 20 Nov 2020)
New Revision: 9795

Modified:
   sandbox/jng/vanilla_swig/Bindings/TODO.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApiGen.xml
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApiGen.xml
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApiGen.xml
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApiGen.xml
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml
Log:
Wall off class id inclusion behind a MG_CLASSIDGEN pre-processor flag

Modified: sandbox/jng/vanilla_swig/Bindings/TODO.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/TODO.txt	2020-11-19 12:46:33 UTC (rev 9794)
+++ sandbox/jng/vanilla_swig/Bindings/TODO.txt	2020-11-20 08:03:41 UTC (rev 9795)
@@ -11,17 +11,20 @@
    - [x] Add .targets files to each C# project so that native dlls are copied properly when consumed by legacy .net framework applications/libraries
    - [x] Consolidate TestCommon and TestMapGuideApi .net projects to unified netstandard2.0 libraries
    - [x] Tidy mg_exception_callback to no longer take an exception class name argument (it is no longer used or necessary)
-   - [ ] Add CentOS 6 Dockerfile that
-      - Install SWIG and common libs tarball (from docker build system)
-      - Install same compilers/tools as the same docker image used to produce the common libs tarball
-      - Generate and build the .net/Java SWIG glue libraries
-      - Copy the compiled libs out of the docker container and into the same native library staging area for Java/.net
+   - Either
+      - ( ) Add CentOS 6 Dockerfile that
+        - Install SWIG and common libs tarball (from docker build system)
+        - Install same compilers/tools as the same docker image used to produce the common libs tarball
+        - Generate and build the .net/Java SWIG glue libraries
+        - Copy the compiled libs out of the docker container and into the same native library staging area for Java/.net
+      - ( ) OR: Update our common libs dockerfile in (https://github.com/jumpinjackie/mapguide-fdo-docker-build) to perform the above tasks
    - [x] Refactor current .net test suite to reference these nuget packages
       - [x] Verify test suite still passes (Windows)
       - [x] Verify test suite still passes (Windows, legacy .net Framework)
       - [ ] Verify test suite still passes (Linux)
+   - [ ] Remove monolithic binding upon verification of test suite across all supported platforms
  - Automatic class id generation (https://github.com/jumpinjackie/mapguide-api-bindings/issues/34)
-   - [ ] Add SWIG preprocessor that controls whether the class id header should be included
+   - [x] Add SWIG preprocessor that controls whether the class id header should be included
    - [ ] Run SWIG in XML mode to produce an XML of the MapGuide API surface
    - [ ] Update ClassMapGen tool to generate class id files for .net/Java/PHP based on this XML file
  - [x] Because we've flattened the exception hierarchy, IMake needs to rewrite \exception directives to say in [Java/C#] that it throws MgException with any of the following exception codes
@@ -28,15 +31,16 @@
  - Test Suite
    - [x] Sync up current test data under /UnitTest to match what is in GitHub repo
    - [x] Add test data setup script for .net/Java test suites to copy the synced up test data under /UnitTest to the location the test suite is expecting
+   - [ ] Try using beta/prerelease DockPanelSuite for MgTestAdmin
  - Java binding
    - [ ] Running javadoc against the generated sources produces many errors. See if we can fix them
    - [x] Verify test suite still passes (Windows)
    - [ ] Verify test suite still passes (Linux)
- - Migrate to SWIG 4.0.0 (https://github.com/jumpinjackie/mapguide-api-bindings/issues/36)
+ - Migrate to SWIG 4.0.2 (https://github.com/jumpinjackie/mapguide-api-bindings/issues/36)
    - [ ] Check if we can get rid of custom .net wstring marshaler (presumably SWIG 4.0 has better support in this area)
  - PHP 7 binding (https://github.com/jumpinjackie/mapguide-api-bindings/issues/21)
    - [ ] Re-base work against PHP 7.4
-      - [ ] If this means we have to upgrade VS compiler from 2015, push an RFC to do that
+      - [ ] If this means we have to upgrade VS compiler from 2015, just upgrade this one project
    - [ ] Make sure downcasting still works (eg. MgSiteConnection::CreateService returns an appropriate MgService-derived subclass and not MgService)
    - [ ] Make sure that our byte typemaps still work (test APIs that deal with MgByteReader)
    - [ ] Make sure we can throw MgException
@@ -47,4 +51,23 @@
    - [ ] Put all the generated code under a OSGeo\MapGuide namespace
    - [ ] Get it building (Linux)
    - [ ] Verify test suite still passes (Windows)
-   - [ ] Verify test suite still passes (Linux)
\ No newline at end of file
+   - [ ] Verify test suite still passes (Linux)
+ - Fix up existing web apps
+   - [ ] mapviewerjava
+   - [ ] mapviewerphp
+   - [ ] schemareport
+   - [ ] mapadmin
+   - [ ] fusion
+   - [ ] mapviewernet
+     - If raw .aspx files cannot consume our netstandard2.0 package, convert this to a legacy ASP.net web forms project
+        - Will require installer changes to properly register this ASP.net application
+     - If the above is untenable, rewrite mapviewernet as a Razor Pages application
+   - [ ] MapGuide Developer's Guide
+   - [ ] viewer samples (PHP)
+   - [ ] viewer samples (Java)
+   - [ ] viewer samples (.net)
+     - Give the .net viewer samples the same migration plan as mapviewernet
+ - Old code cleanup/consolidation
+   - [ ] Remove old IMake
+   - [ ] Fold FoundationTest into mgserver test suite
+   - [ ] Remove SQLite and its related projects from Oem
\ No newline at end of file

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApiGen.xml	2020-11-19 12:46:33 UTC (rev 9794)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/FoundationApiGen.xml	2020-11-20 08:03:41 UTC (rev 9795)
@@ -53,7 +53,9 @@
   %include "FoundationApi_Properties.i" //.net property wrappers
   %include "language.i"   //typemaps specific for each language
   %include "InitializeLibrary.i"
+#if defined(MG_CLASSIDGEN)
   %include "../../../../../Common/Foundation/System/FoundationClassId.h"
+#endif
 
 #if defined(PHPSWIG)
   // We force UTF-8 encoding for PHP

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApiGen.xml	2020-11-19 12:46:33 UTC (rev 9794)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/GeometryApiGen.xml	2020-11-20 08:03:41 UTC (rev 9795)
@@ -56,7 +56,9 @@
   // IMPORTANT: Must %import dependencies *after* %include-ing language.i, otherwise
   // SWIG runtime glue code for $LANGUAGE isn't generated
   %import "../Foundation/FoundationApi.i"
+#if defined(MG_CLASSIDGEN)
   %include "../../../../../Common/Geometry/GeometryClassId.h"
+#endif
 
 #if defined(PHPSWIG)
   // We force UTF-8 encoding for PHP

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApiGen.xml	2020-11-19 12:46:33 UTC (rev 9794)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/MapGuideCommonApiGen.xml	2020-11-20 08:03:41 UTC (rev 9795)
@@ -58,7 +58,9 @@
   %import "../Foundation/FoundationApi.i"
   %import "../Geometry/GeometryApi.i"
   %import "../PlatformBase/PlatformBaseApi.i"
+#if defined(MG_CLASSIDGEN)
   %include "../../../../../Common/MapGuideCommon/System/MapGuideCommonClassId.h"
+#endif
 
 #if defined(PHPSWIG)
   // We force UTF-8 encoding for PHP

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApiGen.xml	2020-11-19 12:46:33 UTC (rev 9794)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/PlatformBaseApiGen.xml	2020-11-20 08:03:41 UTC (rev 9795)
@@ -58,7 +58,9 @@
   // SWIG runtime glue code for $LANGUAGE isn't generated
   %import "../Foundation/FoundationApi.i"
   %import "../Geometry/GeometryApi.i"
+#if defined(MG_CLASSIDGEN)
   %include "../../../../../Common/PlatformBase/Services/PlatformBaseClassId.h"
+#endif
 
 #if defined(PHPSWIG)
   // We force UTF-8 encoding for PHP

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml	2020-11-19 12:46:33 UTC (rev 9794)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/WebApiGen.xml	2020-11-20 08:03:41 UTC (rev 9795)
@@ -69,8 +69,10 @@
   %import "../MapGuideCommon/MapGuideCommonApi.i"
   
   %include "InitializeWebTier.i"
+#if defined(MG_CLASSIDGEN)
   %include "../../../../../Web/src/WebApp/WebAppClassId.h"
   %include "../../../../../Web/src/HttpHandler/HttpHandlerClassId.h"
+#endif
 
 #if defined(PHPSWIG)
   // We force UTF-8 encoding for PHP



More information about the mapguide-commits mailing list