[mapguide-commits] r9968 - in sandbox/jng/vanilla_swig: Bindings/src/Bindings/DotNet/Foundation Bindings/src/Bindings/DotNet/Geometry Bindings/src/Bindings/DotNet/MapGuideCommon Bindings/src/Bindings/DotNet/PlatformBase Bindings/src/Bindings/DotNet/Web Bindings/src/Bindings/Java Bindings/src/Bindings/Php Common/Foundation/Exception Common/PlatformBase/Services

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Sep 9 05:49:38 PDT 2022


Author: jng
Date: 2022-09-09 05:49:37 -0700 (Fri, 09 Sep 2022)
New Revision: 9968

Added:
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/jar_helper.sh
Modified:
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt
   sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt
   sandbox/jng/vanilla_swig/Common/Foundation/Exception/Exception.h
   sandbox/jng/vanilla_swig/Common/PlatformBase/Services/ResourceDefs.h
Log:
Final set of changes to get a fully functional Linux build
- Add a jar_helper.sh helper script that helps us invoke jar to build the Java API jars without working path issues due to our peculiar way of invoking SWIG for the CMake/Linux build of the Java API binding
- Fix various comment typos
- Document more language-specific API renames

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Foundation/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -69,7 +69,7 @@
             -outdir "${MG_DOTNET_PROJECT_DIR}" 
             "${CMAKE_CURRENT_BINARY_DIR}/FoundationApi.i"
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Geometry/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -67,7 +67,7 @@
             -outdir "${MG_DOTNET_PROJECT_DIR}" 
             "${CMAKE_CURRENT_BINARY_DIR}/GeometryApi.i"
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/MapGuideCommon/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -71,7 +71,7 @@
             -outdir "${MG_DOTNET_PROJECT_DIR}" 
             "${CMAKE_CURRENT_BINARY_DIR}/MapGuideCommonApi.i"
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/PlatformBase/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -67,7 +67,7 @@
             -outdir "${MG_DOTNET_PROJECT_DIR}" 
             "${CMAKE_CURRENT_BINARY_DIR}/PlatformBaseApi.i"
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/DotNet/Web/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -70,7 +70,7 @@
             -outdir "${MG_DOTNET_PROJECT_DIR}" 
             "${CMAKE_CURRENT_BINARY_DIR}/WebApi.i"
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )

Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -42,20 +42,39 @@
             -module MapGuideJavaApi 
             -o "${CMAKE_CURRENT_BINARY_DIR}/MgApi_wrap.cpp" 
             ${CMAKE_CURRENT_BINARY_DIR}/MapGuideApi.i
+    COMMAND ${CMAKE_COMMAND} -E echo Remove old class files
     COMMAND ${CMAKE_COMMAND} -E remove -f 
             ${CMAKE_CURRENT_BINARY_DIR}/org/osgeo/mapguide/*.class 
+    COMMAND ${CMAKE_COMMAND} -E echo Copy predefined java sources
     COMMAND ${MOVE_COMMAND} ${MOVE_ARGS}
             ${CMAKE_CURRENT_BINARY_DIR}/*.java
             ${CMAKE_CURRENT_BINARY_DIR}/org/osgeo/mapguide
+    COMMAND ${CMAKE_COMMAND} -E echo Running javac
     COMMAND ${Java_JAVAC_EXECUTABLE} -classpath ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/org/osgeo/mapguide/*.java
-    COMMAND ${Java_JAR_EXECUTABLE} -cf 
-            ${CMAKE_CURRENT_BINARY_DIR}/MapGuideApi.jar
-            ${CMAKE_CURRENT_BINARY_DIR}/org/osgeo/mapguide/*.class
-    COMMAND ${Java_JAR_EXECUTABLE} -cf 
-            ${CMAKE_CURRENT_BINARY_DIR}/MapGuideApi-sources.jar
-            ${CMAKE_CURRENT_BINARY_DIR}/org/osgeo/mapguide/*.java
+    COMMAND ${CMAKE_COMMAND} -E echo Making sure jar_helper script is executable
+    COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/jar_helper.sh
+    COMMAND ${CMAKE_COMMAND} -E echo Creating MapGuideApi jar
+    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/jar_helper.sh
+            ${Java_JAR_EXECUTABLE}
+            ${CMAKE_CURRENT_BINARY_DIR}
+            MapGuideApi.jar
+            org/osgeo/mapguide/*.class
+    # COMMAND ${Java_JAR_EXECUTABLE} -cf 
+    #         ${CMAKE_CURRENT_BINARY_DIR}/MapGuideApi.jar
+    #         -C ${CMAKE_CURRENT_BINARY_DIR}
+    #         org/osgeo/mapguide/*.class
+    COMMAND ${CMAKE_COMMAND} -E echo Creating MapGuideApi sources jar
+    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/jar_helper.sh
+            ${Java_JAR_EXECUTABLE}
+            ${CMAKE_CURRENT_BINARY_DIR}
+            MapGuideApi-sources.jar
+            org/osgeo/mapguide/*.java
+    # COMMAND ${Java_JAR_EXECUTABLE} -cf 
+    #         ${CMAKE_CURRENT_BINARY_DIR}/MapGuideApi-sources.jar
+    #         -C ${CMAKE_CURRENT_BINARY_DIR}
+    #         org/osgeo/mapguide/*.java
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )
@@ -102,6 +121,7 @@
 if (UNIX)
     file(COPY "InitializeWebTier.cpp" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
     install( TARGETS MapGuideJavaApi${MG_VERSION_SUFFIX} DESTINATION "${MG_JAVA_OUTPUT_DIR}/${MG_DISTRO}" )
+    file(COPY "jar_helper.sh" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
 endif (UNIX)
 
 file(COPY "java.i" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

Added: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/jar_helper.sh
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/jar_helper.sh	                        (rev 0)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/jar_helper.sh	2022-09-09 12:49:37 UTC (rev 9968)
@@ -0,0 +1,13 @@
+#!/bin/sh
+JAR_CMD=$1
+WORKDIR=$2
+JAR_NAME=$3
+REL_PATH=$4
+echo "pwd: $PWD"
+echo "Jar command: $JAR_CMD"
+echo "In directory: $WORKDIR"
+echo "Jar name: $JAR_NAME"
+echo "Contents to package: $REL_PATH"
+cd "$WORKDIR" || exit
+echo "Executing command: $JAR_CMD -cf $JAR_NAME $REL_PATH"
+$JAR_CMD -cf $JAR_NAME $REL_PATH || exit
\ No newline at end of file


Property changes on: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Java/jar_helper.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Modified: sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt
===================================================================
--- sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Bindings/src/Bindings/Php/CMakeLists.txt	2022-09-09 12:49:37 UTC (rev 9968)
@@ -71,7 +71,7 @@
         -o "${CMAKE_CURRENT_BINARY_DIR}/MgApi_wrap.cpp"
         ${CMAKE_CURRENT_BINARY_DIR}/MapGuideApi.i
     # These commands need to be run in the context of the source directory so that the relative header references
-    # in the Constants and ApiGen xml files will resolve propertly (because these headers won't exist in the cmake
+    # in the Constants and ApiGen xml files will resolve properly (because these headers won't exist in the cmake
     # binary dir)
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )

Modified: sandbox/jng/vanilla_swig/Common/Foundation/Exception/Exception.h
===================================================================
--- sandbox/jng/vanilla_swig/Common/Foundation/Exception/Exception.h	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Common/Foundation/Exception/Exception.h	2022-09-09 12:49:37 UTC (rev 9968)
@@ -115,7 +115,7 @@
     /// string GetStackTrace();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// String GetStackTrace();
+    /// String getExceptionStackTrace();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
     /// string GetStackTrace();
@@ -124,6 +124,9 @@
     /// \return
     /// Call stack trace with method parameters
     ///
+    /// \since 4.0 In Java, this method was renamed from GetStackTrace to getExceptionStackTrace to avoid name conflict
+    /// with java.lang.Throwable.getStackTrace() which has an incompatible method signature
+    ///
     STRING GetStackTrace() throw();
 
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/jng/vanilla_swig/Common/PlatformBase/Services/ResourceDefs.h
===================================================================
--- sandbox/jng/vanilla_swig/Common/PlatformBase/Services/ResourceDefs.h	2022-09-08 13:01:08 UTC (rev 9967)
+++ sandbox/jng/vanilla_swig/Common/PlatformBase/Services/ResourceDefs.h	2022-09-09 12:49:37 UTC (rev 9968)
@@ -570,14 +570,17 @@
 
     /// \brief
     /// No Access permission.
+    /// \since 4.0 This has been renamed from NoAccess to PermissionNoAccess
     static const STRING PermissionNoAccess;       ///\if INTERNAL value("n") \endif
 
     /// \brief
     /// Read-Only permission.
+    /// \since 4.0 This has been renamed from ReadOnly to PermissionReadOnly
     static const STRING PermissionReadOnly;       ///\if INTERNAL value("r") \endif
 
     /// \brief
     /// Read/Write permission.
+    /// \since 4.0 This has been renamed from ReadWrite to PermissionReadWrite
     static const STRING PermissionReadWrite;      ///\if INTERNAL value("r,w") \endif
 };
 



More information about the mapguide-commits mailing list