[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