[mapguide-commits] r10182 - in branches/4.0/MgDev: . Bindings Bindings/src/Managed/DotNet Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation Bindings/src/Managed/DotNet/OSGeo.MapGuide.Geometry Bindings/src/Managed/DotNet/OSGeo.MapGuide.PlatformBase Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web Bindings/src/Tools Bindings/src/Tools/ClassMapGen Oem/LinuxApt

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Aug 30 13:11:42 PDT 2025


Author: jng
Date: 2025-08-30 13:11:41 -0700 (Sat, 30 Aug 2025)
New Revision: 10182

Added:
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/README.md
Modified:
   branches/4.0/MgDev/Bindings/TODO.txt
   branches/4.0/MgDev/Bindings/setup_linux_native_libs.cmd
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/OSGeo.MapGuide.Foundation.csproj
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Geometry/OSGeo.MapGuide.Geometry.csproj
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.PlatformBase/OSGeo.MapGuide.PlatformBase.csproj
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable/
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable/OSGeo.MapGuide.Portable.csproj
   branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj
   branches/4.0/MgDev/Bindings/src/Tools/
   branches/4.0/MgDev/Bindings/src/Tools/ClassMapGen/Program.cs
   branches/4.0/MgDev/Oem/LinuxApt/
   branches/4.0/MgDev/build.bat
Log:
Some binding cleanups:
 - Harden paths specified in setup_linux_native_libs.cmd
 - Add introductory README.md for MapGuide Web API nuget packages
 - Fix up ClassMapGen to include the mg-portable class id resolution fix
 - Fix up build.bat to:
    - Not copy mg-portable nuget packages to installer staging area. These packages are published/released separately
    - Copy .nupkg files to a top level nuget directory instead of Web/nuget
    - Copy snapshot scripts correctly

Modified: branches/4.0/MgDev/Bindings/TODO.txt
===================================================================
--- branches/4.0/MgDev/Bindings/TODO.txt	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/TODO.txt	2025-08-30 20:11:41 UTC (rev 10182)
@@ -6,7 +6,7 @@
  - [x] Generate XML documentation for our .net wrapper binding projects
  - [~] Make sure we can build debug bindings
  - [x] Fix up inconsistent stack direction in C# exceptions (C++ call stack are printed downwards, C# call stack is printed upwards)
- - [ ] Add memory leak test (ref: https://www.mail-archive.com/mapguide-users@lists.osgeo.org/msg26357.html) and see if this still happens
+ - [~] Add memory leak test (ref: https://www.mail-archive.com/mapguide-users@lists.osgeo.org/msg26357.html) and see if this still happens
  - [x] Check in test case admin tool
  - [x] Consolidate Tools.sln into Bindings.sln
  - [x] Relocate/remove existing test code
@@ -101,7 +101,7 @@
    - [x] MapGuide Developer's Guide
    - [x] viewer samples (PHP)
    - [x] viewer samples (Java)
-   - [ ] viewer samples (.net)
+   - [x] viewer samples (.net)
      - Give the .net viewer samples the same migration plan as mapviewernet
    - [x] Include a web.config for all .net directories with the required settings to avoid needing to set this information with installer or MgInstantSetup:
      - Add assembly reference to netstandard

Modified: branches/4.0/MgDev/Bindings/setup_linux_native_libs.cmd
===================================================================
--- branches/4.0/MgDev/Bindings/setup_linux_native_libs.cmd	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/setup_linux_native_libs.cmd	2025-08-30 20:11:41 UTC (rev 10182)
@@ -1,25 +1,27 @@
 SET TARBALL=%1
 SET SOVER=4.0.0
-7z x %TARBALL% -so | 7z x -aoa -si -ttar -o"linux-x64"
+rem You may see "errors" around symlink files being extracted. That's okay because we don't need these symlink files. Our SWIG
+rem glue library is already an unversioned .so file that has dependencies to versioned .so files and not their symlinked copies
+7z x %TARBALL% -so | 7z x -aoa -si -ttar -o"%~p0\linux-x64"
 rem Foundation setup
-copy /Y /L linux-x64\lib64\libFoundationUnmanagedApi.so src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgFoundation-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgMdfModel-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libACE.so.6.2.6 src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libxerces-c-3.1.so src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native
+copy /Y /L "%~p0\linux-x64\lib64\libFoundationUnmanagedApi.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgFoundation-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgMdfModel-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libACE.so.6.2.6" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libxerces-c-3.1.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Foundation\runtimes\linux-x64\native"
 rem Geometry setup
-copy /Y /L linux-x64\lib64\libGeometryUnmanagedApi.so src\Managed\DotNet\OSGeo.MapGuide.Geometry\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgGeometry-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.Geometry\runtimes\linux-x64\native
+copy /Y /L "%~p0\linux-x64\lib64\libGeometryUnmanagedApi.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Geometry\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgGeometry-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Geometry\runtimes\linux-x64\native"
 rem PlatformBase setup
-copy /Y /L linux-x64\lib64\libPlatformBaseUnmanagedApi.so src\Managed\DotNet\OSGeo.MapGuide.PlatformBase\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgPlatformBase-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.PlatformBase\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgMdfParser-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.PlatformBase\runtimes\linux-x64\native
+copy /Y /L "%~p0\linux-x64\lib64\libPlatformBaseUnmanagedApi.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.PlatformBase\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgPlatformBase-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.PlatformBase\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgMdfParser-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.PlatformBase\runtimes\linux-x64\native"
 rem MapGuideCommon setup
-copy /Y /L linux-x64\lib64\libMapGuideCommonUnmanagedApi.so src\Managed\DotNet\OSGeo.MapGuide.MapGuideCommon\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgMapGuideCommon-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.MapGuideCommon\runtimes\linux-x64\native
+copy /Y /L "%~p0\linux-x64\lib64\libMapGuideCommonUnmanagedApi.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.MapGuideCommon\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgMapGuideCommon-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.MapGuideCommon\runtimes\linux-x64\native"
 rem Web setup
-copy /Y /L linux-x64\lib64\libWebUnmanagedApi.so src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgWebApp-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgWebSupport-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\libMgHttpHandler-%SOVER%.so src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native
-copy /Y /L linux-x64\lib64\liblib_json.so src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native
\ No newline at end of file
+copy /Y /L "%~p0\linux-x64\lib64\libWebUnmanagedApi.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgWebApp-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgWebSupport-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\libMgHttpHandler-%SOVER%.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native"
+copy /Y /L "%~p0\linux-x64\lib64\liblib_json.so" "%~p0\src\Managed\DotNet\OSGeo.MapGuide.Web\runtimes\linux-x64\native"
\ No newline at end of file

Modified: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/OSGeo.MapGuide.Foundation.csproj
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/OSGeo.MapGuide.Foundation.csproj	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Foundation/OSGeo.MapGuide.Foundation.csproj	2025-08-30 20:11:41 UTC (rev 10182)
@@ -15,6 +15,7 @@
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
     <PackageLicenseExpression></PackageLicenseExpression>
     <PackageLicenseFile>License.txt</PackageLicenseFile>
+    <PackageReadmeFile>README.md</PackageReadmeFile>
   </PropertyGroup>
 
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@@ -28,7 +29,9 @@
 
   <ItemGroup>
     <Content Include="build/**" PackagePath="%(Identity)" />
-    <Content Include="runtimes/**" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.dll" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.pdb" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.so*" PackagePath="%(Identity)" />
   </ItemGroup>
 
   <ItemGroup>
@@ -40,6 +43,10 @@
       <Pack>True</Pack>
       <PackagePath></PackagePath>
     </None>
+    <None Include="..\README.md">
+      <Pack>True</Pack>
+      <PackagePath>\</PackagePath>
+    </None>
   </ItemGroup>
 
 </Project>

Modified: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Geometry/OSGeo.MapGuide.Geometry.csproj
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Geometry/OSGeo.MapGuide.Geometry.csproj	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Geometry/OSGeo.MapGuide.Geometry.csproj	2025-08-30 20:11:41 UTC (rev 10182)
@@ -15,6 +15,7 @@
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
     <PackageLicenseExpression></PackageLicenseExpression>
     <PackageLicenseFile>License.txt</PackageLicenseFile>
+	<PackageReadmeFile>README.md</PackageReadmeFile>
   </PropertyGroup>
 
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@@ -28,7 +29,9 @@
 
   <ItemGroup>
     <Content Include="build/**" PackagePath="%(Identity)" />
-    <Content Include="runtimes/**" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.dll" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.pdb" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.so*" PackagePath="%(Identity)" />
   </ItemGroup>
 
   <ItemGroup>
@@ -40,6 +43,10 @@
       <Pack>True</Pack>
       <PackagePath></PackagePath>
     </None>
+	<None Include="..\README.md">
+      <Pack>True</Pack>
+      <PackagePath>\</PackagePath>
+    </None>
   </ItemGroup>
 
   <ItemGroup>

Modified: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.PlatformBase/OSGeo.MapGuide.PlatformBase.csproj
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.PlatformBase/OSGeo.MapGuide.PlatformBase.csproj	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.PlatformBase/OSGeo.MapGuide.PlatformBase.csproj	2025-08-30 20:11:41 UTC (rev 10182)
@@ -15,6 +15,7 @@
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
     <PackageLicenseExpression></PackageLicenseExpression>
     <PackageLicenseFile>License.txt</PackageLicenseFile>
+	<PackageReadmeFile>README.md</PackageReadmeFile>
   </PropertyGroup>
 
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@@ -26,9 +27,11 @@
     <OutputPath>..\..\..\..\..\packages\DotNet\Debug</OutputPath>
   </PropertyGroup>
 
-    <ItemGroup>
+  <ItemGroup>
     <Content Include="build/**" PackagePath="%(Identity)" />
-    <Content Include="runtimes/**" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.dll" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.pdb" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.so*" PackagePath="%(Identity)" />
   </ItemGroup>
 
   <ItemGroup>
@@ -40,6 +43,10 @@
       <Pack>True</Pack>
       <PackagePath></PackagePath>
     </None>
+    <None Include="..\README.md">
+      <Pack>True</Pack>
+      <PackagePath>\</PackagePath>
+    </None>
   </ItemGroup>
 
   <ItemGroup>

Index: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable	2025-08-30 20:11:41 UTC (rev 10182)

Property changes on: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable
___________________________________________________________________
Modified: svn:ignore
## -4,3 +4,4 ##
 FDO
 Resources
 Schema
+bin
Modified: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable/OSGeo.MapGuide.Portable.csproj
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable/OSGeo.MapGuide.Portable.csproj	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Portable/OSGeo.MapGuide.Portable.csproj	2025-08-30 20:11:41 UTC (rev 10182)
@@ -33,7 +33,9 @@
 
   <ItemGroup>
     <Content Include="build/**" PackagePath="%(Identity)" />
-    <Content Include="runtimes/**" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.dll" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.pdb" PackagePath="%(Identity)" />
+	<Content Include="runtimes/**/*.so*" PackagePath="%(Identity)" />
   </ItemGroup>
 	
   <!-- 

Modified: branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/OSGeo.MapGuide.Web/OSGeo.MapGuide.Web.csproj	2025-08-30 20:11:41 UTC (rev 10182)
@@ -15,6 +15,7 @@
     <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
     <PackageLicenseExpression></PackageLicenseExpression>
     <PackageLicenseFile>License.txt</PackageLicenseFile>
+    <PackageReadmeFile>README.md</PackageReadmeFile>
   </PropertyGroup>
 
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@@ -29,7 +30,9 @@
 
   <ItemGroup>
     <Content Include="build/**" PackagePath="%(Identity)" />
-    <Content Include="runtimes/**" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.dll" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.pdb" PackagePath="%(Identity)" />
+    <Content Include="runtimes/**/*.so*" PackagePath="%(Identity)" />
   </ItemGroup>
 
   <ItemGroup>
@@ -41,6 +44,10 @@
       <Pack>True</Pack>
       <PackagePath></PackagePath>
     </None>
+    <None Include="..\README.md">
+      <Pack>True</Pack>
+      <PackagePath>\</PackagePath>
+    </None>
   </ItemGroup>
 
   <ItemGroup>

Added: branches/4.0/MgDev/Bindings/src/Managed/DotNet/README.md
===================================================================
--- branches/4.0/MgDev/Bindings/src/Managed/DotNet/README.md	                        (rev 0)
+++ branches/4.0/MgDev/Bindings/src/Managed/DotNet/README.md	2025-08-30 20:11:41 UTC (rev 10182)
@@ -0,0 +1,25 @@
+# MapGuide Web Platform
+
+The MapGuide Web Platform is a series of packages for building geospatial web applications that communicate with a MapGuide Open Source server.
+
+It consists of:
+
+ * `OSGeo.MapGuide.Foundation` - Provides foundational data types and abstractions used throughout the rest of the MapGuide platform
+ * `OSGeo.MapGuide.Geometry` - Provides geometry and coordinate system services
+ * `OSGeo.MapGuide.PlatformBase` - Provides an abstraction of the services provided by the MapGuide platform
+ * `OSGeo.MapGuide.MapGuideCommon` - Provides an implementation of the MapGuide platform that communicates with a MapGuide Server
+ * `OSGeo.MapGuide.Web` - Provides services for Web Layout content parsing, mapagent integration and web application setup
+
+Refer to the MapGuide Developer's Guide and Web API reference for more information about how the classes within these packages are used.
+
+## A note about versioning
+
+The MapGuide Web Platform packages are versioned to match the corresponding release of MapGuide Open Source that it was built for.
+
+Though this may be somewhat counter-intuitive in the context of general nuget package consumption patterns, we are walking a delicate line between the constraints imposed by our platform (these packages are .net bindings to an underying set of native libraries that are built to communicate with a specific version of a MapGuide Server) and convenience (providing this to you, the MapGuide Application Developer in an easy-to-install nuget package).
+
+So with that in mind, please observe the following when using these packages.
+
+ * You must use the exact version of the package to match the version of MapGuide Open Source you are intending to target
+    * You cannot use a 3.1.2.xyz version of package if you are intending to run this application on a MGOS 4.0 server.
+ * All the component packages must be at the same version together. You cannot mix and match. If `OSGeo.MapGuide.Foundation` is at a particular version, the `OSGeo.MapGuide.Geometry` and others must follow the same version.
\ No newline at end of file

Index: branches/4.0/MgDev/Bindings/src/Tools
===================================================================
--- branches/4.0/MgDev/Bindings/src/Tools	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Tools	2025-08-30 20:11:41 UTC (rev 10182)

Property changes on: branches/4.0/MgDev/Bindings/src/Tools
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+.vs
Modified: branches/4.0/MgDev/Bindings/src/Tools/ClassMapGen/Program.cs
===================================================================
--- branches/4.0/MgDev/Bindings/src/Tools/ClassMapGen/Program.cs	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Bindings/src/Tools/ClassMapGen/Program.cs	2025-08-30 20:11:41 UTC (rev 10182)
@@ -139,7 +139,9 @@
                 // Put an ifdef guard around the portable API
                 if (mod.Name == "Portable")
                 {
-                    dotNetClassMaps.AppendLine("#if MG_PORTABLE_API");
+                    dotNetClassMaps.AppendLine($@"// UGLY: It is mildly annoying/hackish that we are incorporating class ids for a library not known
+            // to the majority of the library wrappers that reference this file, but it would be more complicated
+            // work to achieve pure physical MgClassMap/assembly separation.");
                 }
 
                 dotNetClassMaps.AppendLine($"{DOTNET_INDENT}if (HasAssemblyInAppDomain(\"OSGeo.MapGuide.{mod.Name}\")) {{");
@@ -150,11 +152,6 @@
                 }
 
                 dotNetClassMaps.AppendLine($"{DOTNET_INDENT}}}");
-
-                if (mod.Name == "Portable")
-                {
-                    dotNetClassMaps.AppendLine("#endif");
-                }
             }
 
             dotNetTpl.Replace("$CLASS_NAME_MAP_BODY$", dotNetClassMaps.ToString());

Index: branches/4.0/MgDev/Oem/LinuxApt
===================================================================
--- branches/4.0/MgDev/Oem/LinuxApt	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/Oem/LinuxApt	2025-08-30 20:11:41 UTC (rev 10182)

Property changes on: branches/4.0/MgDev/Oem/LinuxApt
___________________________________________________________________
Modified: svn:ignore
## -1,3 +1,4 ##
 *.tar
 httpd-2.4.52
 php-5.6.40
+httpd-2.4.65
Modified: branches/4.0/MgDev/build.bat
===================================================================
--- branches/4.0/MgDev/build.bat	2025-08-29 09:28:15 UTC (rev 10181)
+++ branches/4.0/MgDev/build.bat	2025-08-30 20:11:41 UTC (rev 10182)
@@ -75,7 +75,6 @@
 SET MG_OUTPUT_WEB=%MG_OUTPUT%\Web
 SET MG_OUTPUT_CSMAP=%MG_OUTPUT%\CS-Map
 SET MG_OUTPUT_TEST=%MG_OUTPUT%\Test
-SET MG_OUTPUT_SNAPSHOT=%MG_OUTPUT%\Snapshot
 goto next_param
 
 :get_action
@@ -396,8 +395,12 @@
 REM Copy them all to the destination mapviewernet bin directory
 echo [install]: Copying full dll list to mapviewernet
 %XCOPY_SINGLE% "%MG_ASSEMBLIES_DIR%\*.dll" "%MG_OUTPUT_WEB%\www\mapviewernet\bin"
-if not exist "%MG_OUTPUT_WEB%\nuget" mkdir "%MG_OUTPUT_WEB%\nuget"
-%XCOPY_SINGLE% "%CD%\packages\DotNet\%CONFIGURATION%\*.nupkg" "%MG_OUTPUT_WEB%\nuget"
+if not exist "%MG_OUTPUT%\nuget" mkdir "%MG_OUTPUT%\nuget"
+%XCOPY_SINGLE% "%CD%\packages\DotNet\%CONFIGURATION%\OSGeo.MapGuide.Foundation*.nupkg" "%MG_OUTPUT%\nuget"
+%XCOPY_SINGLE% "%CD%\packages\DotNet\%CONFIGURATION%\OSGeo.MapGuide.Geometry*.nupkg" "%MG_OUTPUT%\nuget"
+%XCOPY_SINGLE% "%CD%\packages\DotNet\%CONFIGURATION%\OSGeo.MapGuide.PlatformBase*.nupkg" "%MG_OUTPUT%\nuget"
+%XCOPY_SINGLE% "%CD%\packages\DotNet\%CONFIGURATION%\OSGeo.MapGuide.MapGuideCommon*.nupkg" "%MG_OUTPUT%\nuget"
+%XCOPY_SINGLE% "%CD%\packages\DotNet\%CONFIGURATION%\OSGeo.MapGuide.Web*.nupkg" "%MG_OUTPUT%\nuget"
 REM Required for Web Tier unit tests
 echo [build]: Web Tier - Clean fusion
 call %ANT% clean -f "%MG_OEM%\fusion\build.xml"
@@ -481,15 +484,15 @@
 dotnet publish -c Release -f net6.0-windows -r win-x64 --self-contained true -o "%MG_OUTPUT_TEST%\UnitTest\Admin"
 popd
 REM We copy to this level so that test data relative path references don't need changing
-%XCOPY% "%MG_UNIT_TEST%\WebTier\MapAgentIntegration" "%MG_OUTPUT_TEST%\UnitTest\MapAgent\Integration"
 copy /Y "%MG_UNIT_TEST%\test_readme.txt" "%MG_OUTPUT_TEST%"
 copy /Y "%MG_UNIT_TEST%\run_server_tests.bat" "%MG_OUTPUT_TEST%"
 copy /Y "%MG_UNIT_TEST%\run_web_tests.bat" "%MG_OUTPUT_TEST%"
 echo [install]: Snapshot scripts
-%XCOPY% "Bindings\src\ApiDump\*.ps1" "%MG_OUTPUT_SNAPSHOT%"
-%XCOPY% "Bindings\src\ApiDump\*.php" "%MG_OUTPUT_SNAPSHOT%"
-%XCOPY% "Bindings\src\ApiDump\*.bat" "%MG_OUTPUT_SNAPSHOT%"
-copy /Y "Bindings\src\ApiDump\README.txt" "%MG_OUTPUT_SNAPSHOT%"
+if not exist "%MG_OUTPUT%\Snapshot" mkdir "%MG_OUTPUT%\Snapshot"
+%XCOPY% "%CD%\Bindings\src\ApiDump\*.ps1" "%MG_OUTPUT%\Snapshot"
+%XCOPY% "%CD%\Bindings\src\ApiDump\*.php" "%MG_OUTPUT%\Snapshot"
+%XCOPY% "%CD%\Bindings\src\ApiDump\*.bat" "%MG_OUTPUT%\Snapshot"
+copy /Y "%CD%\Bindings\src\ApiDump\README.txt" "%MG_OUTPUT%\Snapshot"
 goto quit
 
 :error



More information about the mapguide-commits mailing list