javonet-ruby-sdk 2.6.7 → 2.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2218RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetActivationService.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libJavonetJvmRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/ARM64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2218RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Configs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Configs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2218RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhp848RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Configs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Plugins.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +51 -18
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeInstanceMethodHandler.cjs +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeStaticMethodHandler.cjs +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/LoadLibraryHandler.cjs +15 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/PassDelegateHandler.cjs +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/RegisterForUpdateHandler.cjs +60 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ValueForUpdateHandler.cjs +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +11 -33
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +3 -8
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +6 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Activator.cjs +44 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/ActivatorDetails.cjs +13 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/ConfigRuntimeFactory.cjs +9 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +140 -62
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +3 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +9 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/configuration/ConfigSourceResolver.cjs +43 -21
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/ComplexTypeResolver.cjs +84 -34
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +9 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/PassDelegateHandler.d.ts +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/RegisterForUpdateHandler.d.ts +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ValueForUpdateHandler.d.ts +7 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Activator.d.ts +12 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/ActivatorDetails.d.ts +5 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/ConfigRuntimeFactory.d.ts +7 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/InvocationContext.d.ts +20 -22
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +4 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/configuration/ConfigSourceResolver.d.ts +21 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/ComplexTypeResolver.d.ts +21 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/CommandType.d.ts +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/Primitives.d.ts +5 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/CommandType.cjs +3 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/Primitives.cjs +201 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +86 -86
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/LoadLibraryHandler.pm +108 -11
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +16 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +24 -24
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/LoadLibraryHandler.pm +108 -11
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/RegisterForUpdateHandler.pm +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +16 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/handler/LoadLibraryHandler.php +56 -21
- data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/interpreter/Interpreter.php +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandDeserializer.php +219 -106
- data/lib/javonet-ruby-sdk/Binaries/Php/javonet/core/protocol/CommandSerializer.php +55 -13
- data/lib/javonet-ruby-sdk/Binaries/Php/javonet/utils/Command.php +27 -9
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/AsOutHandler.py +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +0 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetTypeHandler.py +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +26 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/LoadLibraryHandler.py +54 -14
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/RegisterForUpdateHandler.py +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/ValueForUpdateHandler.py +6 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AddEventListenerHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayReferenceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsOutHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AsRefHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ConvertTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateNullHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ExceptionHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GenerateLibHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetAsyncOperationResultHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetGlobalFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetKwargHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetModuleHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetRefValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetResultTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HeartBeatHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGenericStaticMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/OptimizeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PluginWrapperHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RegisterForUpdateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/RetrieveArrayHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueForUpdateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +3 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/LazyModuleLoader.py +8 -11
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/LazyModuleLoader.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/TypesHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/ExceptionSerializer.py +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionThrower.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/JavonetException.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
- data/lib/javonet-ruby-sdk/core/handler/handler.rb +50 -9
- data/lib/javonet-ruby-sdk/core/handler/load_library_handler.rb +22 -9
- data/lib/javonet-ruby-sdk/core/handler/register_for_update_handler.rb +28 -0
- data/lib/javonet-ruby-sdk/core/handler/value_for_update_handler.rb +11 -0
- data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +8 -0
- data/lib/javonet-ruby-sdk/utils/command_type.rb +6 -0
- data/lib/javonet-ruby-sdk/utils/exceptions/exception_serializer.rb +0 -1
- metadata +18 -2
|
@@ -4,39 +4,136 @@ use warnings FATAL => 'all';
|
|
|
4
4
|
use lib 'lib';
|
|
5
5
|
use Moose;
|
|
6
6
|
use File::Basename;
|
|
7
|
+
use Cwd qw(abs_path);
|
|
7
8
|
use Nice::Try;
|
|
8
9
|
use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
|
|
9
10
|
extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
|
|
10
11
|
|
|
12
|
+
# Track loaded libraries by absolute path
|
|
13
|
+
our %LOADED_LIBRARIES;
|
|
14
|
+
|
|
11
15
|
sub new {
|
|
12
16
|
my $class = shift;
|
|
13
|
-
my $self
|
|
14
|
-
required_parameters_count => 1
|
|
17
|
+
my $self = {
|
|
18
|
+
required_parameters_count => 1,
|
|
19
|
+
@_, # optional extras
|
|
15
20
|
};
|
|
16
21
|
return bless $self, $class;
|
|
17
22
|
}
|
|
18
23
|
|
|
19
24
|
sub process {
|
|
20
|
-
my ($self, $command) = @_;
|
|
25
|
+
my ( $self, $command ) = @_;
|
|
21
26
|
try {
|
|
22
27
|
my $current_payload_ref = $command->{payload};
|
|
23
|
-
my @cur_payload
|
|
24
|
-
my $parameters_length
|
|
25
|
-
|
|
28
|
+
my @cur_payload = @$current_payload_ref;
|
|
29
|
+
my $parameters_length = @cur_payload;
|
|
30
|
+
|
|
31
|
+
if ( $parameters_length != $self->{required_parameters_count} ) {
|
|
26
32
|
die Exception->new("Exception: LoadLibrary parameters mismatch");
|
|
27
33
|
}
|
|
34
|
+
|
|
28
35
|
my $path_to_file = $command->{payload}[0];
|
|
29
|
-
my $path_to_file_dir = dirname($path_to_file);
|
|
30
|
-
my $file_name = basename($path_to_file);
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
if ( !defined $path_to_file || $path_to_file eq '' ) {
|
|
38
|
+
die Exception->new(
|
|
39
|
+
"Cannot load module: Library path is required but was not provided"
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# ---------------------------------------------------------------------
|
|
44
|
+
# Normalize file extension
|
|
45
|
+
# If no extension is given, try "<file>.pm"
|
|
46
|
+
# ---------------------------------------------------------------------
|
|
47
|
+
my $normalized_path = $path_to_file;
|
|
48
|
+
|
|
49
|
+
if ( $normalized_path !~ /\.[^\/\\]+$/ ) { # no extension
|
|
50
|
+
my $with_pm = $normalized_path . '.pm';
|
|
51
|
+
if ( -e $with_pm ) {
|
|
52
|
+
$normalized_path = $with_pm;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
# Resolve to absolute path if possible
|
|
57
|
+
my $absolute_path =
|
|
58
|
+
abs_path($normalized_path)
|
|
59
|
+
// abs_path($path_to_file)
|
|
60
|
+
// $normalized_path;
|
|
61
|
+
|
|
62
|
+
# Check that the file exists
|
|
63
|
+
if ( !-e $absolute_path ) {
|
|
64
|
+
die Exception->new("Cannot load module: Library not found: $path_to_file");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
# ---------------------------------------------------------------------
|
|
68
|
+
# Load only once by absolute path
|
|
69
|
+
# ---------------------------------------------------------------------
|
|
70
|
+
if ( $LOADED_LIBRARIES{$absolute_path} ) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
my $path_to_file_dir = dirname($absolute_path);
|
|
75
|
+
my $file_name = basename($absolute_path);
|
|
76
|
+
|
|
77
|
+
# Ensure directory is in @INC
|
|
78
|
+
if ( !grep { $_ eq $path_to_file_dir } @INC ) {
|
|
79
|
+
push @INC, $path_to_file_dir;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
# ---------------------------------------------------------------------
|
|
83
|
+
# Validate Perl module syntax before requiring
|
|
84
|
+
# ---------------------------------------------------------------------
|
|
85
|
+
#_validate_perl_syntax($absolute_path); #causes issues
|
|
86
|
+
|
|
87
|
+
# ---------------------------------------------------------------------
|
|
88
|
+
# Load the file
|
|
89
|
+
# ---------------------------------------------------------------------
|
|
90
|
+
eval {
|
|
91
|
+
require $file_name;
|
|
92
|
+
1;
|
|
93
|
+
} or do {
|
|
94
|
+
my $err = $@ || 'Unknown error';
|
|
95
|
+
die Exception->new("Cannot load module: $absolute_path\n$err");
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
# Mark library as loaded
|
|
99
|
+
$LOADED_LIBRARIES{$absolute_path} = 1;
|
|
100
|
+
|
|
34
101
|
return 0;
|
|
35
102
|
}
|
|
36
|
-
catch (
|
|
103
|
+
catch ($e) {
|
|
37
104
|
return Exception->new($e);
|
|
38
105
|
}
|
|
39
106
|
}
|
|
40
107
|
|
|
108
|
+
sub get_loaded_libraries {
|
|
109
|
+
my ($self) = @_;
|
|
110
|
+
return [ keys %LOADED_LIBRARIES ];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
# -------------------------------------------------------------------------
|
|
114
|
+
# Validate syntax using "perl -c <file>"
|
|
115
|
+
# -------------------------------------------------------------------------
|
|
116
|
+
sub _validate_perl_syntax {
|
|
117
|
+
my ($absolute_path) = @_;
|
|
118
|
+
|
|
119
|
+
my $perl = $^X || 'perl';
|
|
120
|
+
|
|
121
|
+
my $pid = open my $fh, '-|', $perl, '-c', $absolute_path;
|
|
122
|
+
if ( !defined $pid ) {
|
|
123
|
+
# If perl cannot be spawned, we silently skip validation.
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
my $output = do { local $/; <$fh> // '' };
|
|
128
|
+
close $fh;
|
|
129
|
+
my $exit_code = $? >> 8;
|
|
130
|
+
|
|
131
|
+
if ( $exit_code != 0 ) {
|
|
132
|
+
die Exception->new(
|
|
133
|
+
"Cannot load module: syntax check failed for $absolute_path\n$output"
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
41
138
|
no Moose;
|
|
42
139
|
1;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler;
|
|
2
|
+
use strict;
|
|
3
|
+
use warnings FATAL => 'all';
|
|
4
|
+
use lib 'lib';
|
|
5
|
+
use Moose;
|
|
6
|
+
use Nice::Try;
|
|
7
|
+
use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
|
|
8
|
+
extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
|
|
9
|
+
|
|
10
|
+
sub new {
|
|
11
|
+
my $class = shift;
|
|
12
|
+
my $self = {
|
|
13
|
+
required_parameters_count => 1
|
|
14
|
+
};
|
|
15
|
+
return bless $self, $class;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
sub process {
|
|
19
|
+
my ($self, $command) = @_;
|
|
20
|
+
try {
|
|
21
|
+
return $command->{payload}[0];
|
|
22
|
+
}
|
|
23
|
+
catch ( $e ) {
|
|
24
|
+
return Exception->new($e);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
no Moose;
|
|
29
|
+
1;
|
|
@@ -3,6 +3,15 @@ use strict;
|
|
|
3
3
|
use warnings FATAL => 'all';
|
|
4
4
|
use lib 'lib';
|
|
5
5
|
use Moose;
|
|
6
|
+
|
|
7
|
+
use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
|
|
8
|
+
use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
|
|
9
|
+
use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
|
|
10
|
+
use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
|
|
11
|
+
use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
|
|
12
|
+
use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
|
|
13
|
+
use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
|
|
14
|
+
|
|
6
15
|
use aliased 'Javonet::Core::Handler::CommandHandler::ValueHandler' => 'ValueHandler';
|
|
7
16
|
use aliased 'Javonet::Core::Handler::CommandHandler::LoadLibraryHandler' => 'LoadLibraryHandler';
|
|
8
17
|
use aliased 'Javonet::Core::Handler::CommandHandler::GetStaticFieldHandler' => 'GetStaticFieldHandler';
|
|
@@ -23,15 +32,7 @@ use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetSizeHandler' => 'Ar
|
|
|
23
32
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetRankHandler' => 'ArrayGetRankHandler';
|
|
24
33
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArraySetItemHandler' => 'ArraySetItemHandler';
|
|
25
34
|
use aliased 'Javonet::Core::Handler::CommandHandler::InvokeGlobalFunctionHandler' => 'InvokeGlobalFunctionHandler';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
|
|
29
|
-
use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
|
|
30
|
-
use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
|
|
31
|
-
use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
|
|
32
|
-
use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
|
|
33
|
-
use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
|
|
34
|
-
use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
|
|
35
|
+
use aliased 'Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler' => 'RegisterForUpdateHandler';
|
|
35
36
|
|
|
36
37
|
my $value_handler = ValueHandler->new();
|
|
37
38
|
my $load_library_handler = LoadLibraryHandler->new();
|
|
@@ -51,6 +52,7 @@ my $array_get_size_handler = ArrayGetSizeHandler->new();
|
|
|
51
52
|
my $array_get_rank_handler = ArrayGetRankHandler->new();
|
|
52
53
|
my $array_set_item_handler = ArraySetItemHandler->new();
|
|
53
54
|
my $invoke_global_function_handler = InvokeGlobalFunctionHandler->new();
|
|
55
|
+
my $register_for_update_handler = RegisterForUpdateHandler->new();
|
|
54
56
|
|
|
55
57
|
|
|
56
58
|
Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
@@ -127,6 +129,11 @@ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
|
127
129
|
$invoke_global_function_handler
|
|
128
130
|
);
|
|
129
131
|
|
|
132
|
+
Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
133
|
+
Javonet::Sdk::Core::PerlCommandType::get_command_type('RegisterForUpdate'),
|
|
134
|
+
$register_for_update_handler
|
|
135
|
+
);
|
|
136
|
+
|
|
130
137
|
sub handle_command {
|
|
131
138
|
my ($self, $command) = @_;
|
|
132
139
|
my $response = Javonet::Core::Handler::HandlerDictionary::get_handler($command->{command_type})->handle_command($command);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
=head2
|
|
1
|
+
=head2 Fri Nov 28 08:46:34 2025: C<Module> L<Data::Cmp|Data::Cmp>
|
|
2
2
|
|
|
3
3
|
=over 4
|
|
4
4
|
|
|
@@ -20,7 +20,7 @@ C<EXE_FILES: >
|
|
|
20
20
|
|
|
21
21
|
=back
|
|
22
22
|
|
|
23
|
-
=head2
|
|
23
|
+
=head2 Fri Nov 28 08:46:37 2025: C<Module> L<Test::Fatal|Test::Fatal>
|
|
24
24
|
|
|
25
25
|
=over 4
|
|
26
26
|
|
|
@@ -34,7 +34,7 @@ C<LINKTYPE: dynamic>
|
|
|
34
34
|
|
|
35
35
|
=item *
|
|
36
36
|
|
|
37
|
-
C<VERSION: 0.
|
|
37
|
+
C<VERSION: 0.018>
|
|
38
38
|
|
|
39
39
|
=item *
|
|
40
40
|
|
|
@@ -42,7 +42,7 @@ C<EXE_FILES: >
|
|
|
42
42
|
|
|
43
43
|
=back
|
|
44
44
|
|
|
45
|
-
=head2
|
|
45
|
+
=head2 Fri Nov 28 08:46:45 2025: C<Module> L<autobox|autobox>
|
|
46
46
|
|
|
47
47
|
=over 4
|
|
48
48
|
|
|
@@ -56,7 +56,7 @@ C<LINKTYPE: dynamic>
|
|
|
56
56
|
|
|
57
57
|
=item *
|
|
58
58
|
|
|
59
|
-
C<VERSION: 0.
|
|
59
|
+
C<VERSION: v3.0.2>
|
|
60
60
|
|
|
61
61
|
=item *
|
|
62
62
|
|
|
@@ -64,7 +64,7 @@ C<EXE_FILES: >
|
|
|
64
64
|
|
|
65
65
|
=back
|
|
66
66
|
|
|
67
|
-
=head2
|
|
67
|
+
=head2 Fri Nov 28 08:46:49 2025: C<Module> L<Scalar::Util::Numeric|Scalar::Util::Numeric>
|
|
68
68
|
|
|
69
69
|
=over 4
|
|
70
70
|
|
|
@@ -78,7 +78,7 @@ C<LINKTYPE: dynamic>
|
|
|
78
78
|
|
|
79
79
|
=item *
|
|
80
80
|
|
|
81
|
-
C<VERSION:
|
|
81
|
+
C<VERSION: 0.40>
|
|
82
82
|
|
|
83
83
|
=item *
|
|
84
84
|
|
|
@@ -86,7 +86,7 @@ C<EXE_FILES: >
|
|
|
86
86
|
|
|
87
87
|
=back
|
|
88
88
|
|
|
89
|
-
=head2
|
|
89
|
+
=head2 Fri Nov 28 08:46:52 2025: C<Module> L<Attribute::Util|Attribute::Util>
|
|
90
90
|
|
|
91
91
|
=over 4
|
|
92
92
|
|
|
@@ -100,7 +100,7 @@ C<LINKTYPE: dynamic>
|
|
|
100
100
|
|
|
101
101
|
=item *
|
|
102
102
|
|
|
103
|
-
C<VERSION: 1.
|
|
103
|
+
C<VERSION: 1.07>
|
|
104
104
|
|
|
105
105
|
=item *
|
|
106
106
|
|
|
@@ -108,7 +108,7 @@ C<EXE_FILES: >
|
|
|
108
108
|
|
|
109
109
|
=back
|
|
110
110
|
|
|
111
|
-
=head2
|
|
111
|
+
=head2 Fri Nov 28 08:46:57 2025: C<Module> L<Want|Want>
|
|
112
112
|
|
|
113
113
|
=over 4
|
|
114
114
|
|
|
@@ -122,15 +122,15 @@ C<LINKTYPE: dynamic>
|
|
|
122
122
|
|
|
123
123
|
=item *
|
|
124
124
|
|
|
125
|
-
C<VERSION:
|
|
125
|
+
C<VERSION: 0.29>
|
|
126
126
|
|
|
127
127
|
=item *
|
|
128
128
|
|
|
129
|
-
C<EXE_FILES:
|
|
129
|
+
C<EXE_FILES: >
|
|
130
130
|
|
|
131
131
|
=back
|
|
132
132
|
|
|
133
|
-
=head2
|
|
133
|
+
=head2 Fri Nov 28 08:47:01 2025: C<Module> L<Safe::Isa|Safe::Isa>
|
|
134
134
|
|
|
135
135
|
=over 4
|
|
136
136
|
|
|
@@ -144,7 +144,7 @@ C<LINKTYPE: dynamic>
|
|
|
144
144
|
|
|
145
145
|
=item *
|
|
146
146
|
|
|
147
|
-
C<VERSION: 1.
|
|
147
|
+
C<VERSION: 1.000010>
|
|
148
148
|
|
|
149
149
|
=item *
|
|
150
150
|
|
|
@@ -152,7 +152,7 @@ C<EXE_FILES: >
|
|
|
152
152
|
|
|
153
153
|
=back
|
|
154
154
|
|
|
155
|
-
=head2
|
|
155
|
+
=head2 Fri Nov 28 08:47:08 2025: C<Module> L<YAML::PP|YAML::PP>
|
|
156
156
|
|
|
157
157
|
=over 4
|
|
158
158
|
|
|
@@ -166,15 +166,15 @@ C<LINKTYPE: dynamic>
|
|
|
166
166
|
|
|
167
167
|
=item *
|
|
168
168
|
|
|
169
|
-
C<VERSION: 0
|
|
169
|
+
C<VERSION: v0.39.0>
|
|
170
170
|
|
|
171
171
|
=item *
|
|
172
172
|
|
|
173
|
-
C<EXE_FILES: >
|
|
173
|
+
C<EXE_FILES: bin/yamlpp-events bin/yamlpp-highlight bin/yamlpp-load bin/yamlpp-load-dump bin/yamlpp-parse-emit>
|
|
174
174
|
|
|
175
175
|
=back
|
|
176
176
|
|
|
177
|
-
=head2
|
|
177
|
+
=head2 Fri Nov 28 08:47:11 2025: C<Module> L<PPI|PPI>
|
|
178
178
|
|
|
179
179
|
=over 4
|
|
180
180
|
|
|
@@ -188,7 +188,7 @@ C<LINKTYPE: dynamic>
|
|
|
188
188
|
|
|
189
189
|
=item *
|
|
190
190
|
|
|
191
|
-
C<VERSION:
|
|
191
|
+
C<VERSION: 1.284>
|
|
192
192
|
|
|
193
193
|
=item *
|
|
194
194
|
|
|
@@ -196,7 +196,7 @@ C<EXE_FILES: >
|
|
|
196
196
|
|
|
197
197
|
=back
|
|
198
198
|
|
|
199
|
-
=head2
|
|
199
|
+
=head2 Fri Nov 28 08:47:15 2025: C<Module> L<PPI::XS|PPI::XS>
|
|
200
200
|
|
|
201
201
|
=over 4
|
|
202
202
|
|
|
@@ -210,7 +210,7 @@ C<LINKTYPE: dynamic>
|
|
|
210
210
|
|
|
211
211
|
=item *
|
|
212
212
|
|
|
213
|
-
C<VERSION:
|
|
213
|
+
C<VERSION: 0.910>
|
|
214
214
|
|
|
215
215
|
=item *
|
|
216
216
|
|
|
@@ -218,7 +218,7 @@ C<EXE_FILES: >
|
|
|
218
218
|
|
|
219
219
|
=back
|
|
220
220
|
|
|
221
|
-
=head2
|
|
221
|
+
=head2 Fri Nov 28 08:47:16 2025: C<Module> L<Nice::Try|Nice::Try>
|
|
222
222
|
|
|
223
223
|
=over 4
|
|
224
224
|
|
|
@@ -232,7 +232,7 @@ C<LINKTYPE: dynamic>
|
|
|
232
232
|
|
|
233
233
|
=item *
|
|
234
234
|
|
|
235
|
-
C<VERSION:
|
|
235
|
+
C<VERSION: v1.3.17>
|
|
236
236
|
|
|
237
237
|
=item *
|
|
238
238
|
|
|
@@ -240,7 +240,7 @@ C<EXE_FILES: >
|
|
|
240
240
|
|
|
241
241
|
=back
|
|
242
242
|
|
|
243
|
-
=head2
|
|
243
|
+
=head2 Fri Nov 28 08:47:21 2025: C<Module> L<Data::UUID|Data::UUID>
|
|
244
244
|
|
|
245
245
|
=over 4
|
|
246
246
|
|
|
@@ -4,39 +4,136 @@ use warnings FATAL => 'all';
|
|
|
4
4
|
use lib 'lib';
|
|
5
5
|
use Moose;
|
|
6
6
|
use File::Basename;
|
|
7
|
+
use Cwd qw(abs_path);
|
|
7
8
|
use Nice::Try;
|
|
8
9
|
use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
|
|
9
10
|
extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
|
|
10
11
|
|
|
12
|
+
# Track loaded libraries by absolute path
|
|
13
|
+
our %LOADED_LIBRARIES;
|
|
14
|
+
|
|
11
15
|
sub new {
|
|
12
16
|
my $class = shift;
|
|
13
|
-
my $self
|
|
14
|
-
required_parameters_count => 1
|
|
17
|
+
my $self = {
|
|
18
|
+
required_parameters_count => 1,
|
|
19
|
+
@_, # optional extras
|
|
15
20
|
};
|
|
16
21
|
return bless $self, $class;
|
|
17
22
|
}
|
|
18
23
|
|
|
19
24
|
sub process {
|
|
20
|
-
my ($self, $command) = @_;
|
|
25
|
+
my ( $self, $command ) = @_;
|
|
21
26
|
try {
|
|
22
27
|
my $current_payload_ref = $command->{payload};
|
|
23
|
-
my @cur_payload
|
|
24
|
-
my $parameters_length
|
|
25
|
-
|
|
28
|
+
my @cur_payload = @$current_payload_ref;
|
|
29
|
+
my $parameters_length = @cur_payload;
|
|
30
|
+
|
|
31
|
+
if ( $parameters_length != $self->{required_parameters_count} ) {
|
|
26
32
|
die Exception->new("Exception: LoadLibrary parameters mismatch");
|
|
27
33
|
}
|
|
34
|
+
|
|
28
35
|
my $path_to_file = $command->{payload}[0];
|
|
29
|
-
my $path_to_file_dir = dirname($path_to_file);
|
|
30
|
-
my $file_name = basename($path_to_file);
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
if ( !defined $path_to_file || $path_to_file eq '' ) {
|
|
38
|
+
die Exception->new(
|
|
39
|
+
"Cannot load module: Library path is required but was not provided"
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# ---------------------------------------------------------------------
|
|
44
|
+
# Normalize file extension
|
|
45
|
+
# If no extension is given, try "<file>.pm"
|
|
46
|
+
# ---------------------------------------------------------------------
|
|
47
|
+
my $normalized_path = $path_to_file;
|
|
48
|
+
|
|
49
|
+
if ( $normalized_path !~ /\.[^\/\\]+$/ ) { # no extension
|
|
50
|
+
my $with_pm = $normalized_path . '.pm';
|
|
51
|
+
if ( -e $with_pm ) {
|
|
52
|
+
$normalized_path = $with_pm;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
# Resolve to absolute path if possible
|
|
57
|
+
my $absolute_path =
|
|
58
|
+
abs_path($normalized_path)
|
|
59
|
+
// abs_path($path_to_file)
|
|
60
|
+
// $normalized_path;
|
|
61
|
+
|
|
62
|
+
# Check that the file exists
|
|
63
|
+
if ( !-e $absolute_path ) {
|
|
64
|
+
die Exception->new("Cannot load module: Library not found: $path_to_file");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
# ---------------------------------------------------------------------
|
|
68
|
+
# Load only once by absolute path
|
|
69
|
+
# ---------------------------------------------------------------------
|
|
70
|
+
if ( $LOADED_LIBRARIES{$absolute_path} ) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
my $path_to_file_dir = dirname($absolute_path);
|
|
75
|
+
my $file_name = basename($absolute_path);
|
|
76
|
+
|
|
77
|
+
# Ensure directory is in @INC
|
|
78
|
+
if ( !grep { $_ eq $path_to_file_dir } @INC ) {
|
|
79
|
+
push @INC, $path_to_file_dir;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
# ---------------------------------------------------------------------
|
|
83
|
+
# Validate Perl module syntax before requiring
|
|
84
|
+
# ---------------------------------------------------------------------
|
|
85
|
+
#_validate_perl_syntax($absolute_path); #causes issues
|
|
86
|
+
|
|
87
|
+
# ---------------------------------------------------------------------
|
|
88
|
+
# Load the file
|
|
89
|
+
# ---------------------------------------------------------------------
|
|
90
|
+
eval {
|
|
91
|
+
require $file_name;
|
|
92
|
+
1;
|
|
93
|
+
} or do {
|
|
94
|
+
my $err = $@ || 'Unknown error';
|
|
95
|
+
die Exception->new("Cannot load module: $absolute_path\n$err");
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
# Mark library as loaded
|
|
99
|
+
$LOADED_LIBRARIES{$absolute_path} = 1;
|
|
100
|
+
|
|
34
101
|
return 0;
|
|
35
102
|
}
|
|
36
|
-
catch (
|
|
103
|
+
catch ($e) {
|
|
37
104
|
return Exception->new($e);
|
|
38
105
|
}
|
|
39
106
|
}
|
|
40
107
|
|
|
108
|
+
sub get_loaded_libraries {
|
|
109
|
+
my ($self) = @_;
|
|
110
|
+
return [ keys %LOADED_LIBRARIES ];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
# -------------------------------------------------------------------------
|
|
114
|
+
# Validate syntax using "perl -c <file>"
|
|
115
|
+
# -------------------------------------------------------------------------
|
|
116
|
+
sub _validate_perl_syntax {
|
|
117
|
+
my ($absolute_path) = @_;
|
|
118
|
+
|
|
119
|
+
my $perl = $^X || 'perl';
|
|
120
|
+
|
|
121
|
+
my $pid = open my $fh, '-|', $perl, '-c', $absolute_path;
|
|
122
|
+
if ( !defined $pid ) {
|
|
123
|
+
# If perl cannot be spawned, we silently skip validation.
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
my $output = do { local $/; <$fh> // '' };
|
|
128
|
+
close $fh;
|
|
129
|
+
my $exit_code = $? >> 8;
|
|
130
|
+
|
|
131
|
+
if ( $exit_code != 0 ) {
|
|
132
|
+
die Exception->new(
|
|
133
|
+
"Cannot load module: syntax check failed for $absolute_path\n$output"
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
41
138
|
no Moose;
|
|
42
139
|
1;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler;
|
|
2
|
+
use strict;
|
|
3
|
+
use warnings FATAL => 'all';
|
|
4
|
+
use lib 'lib';
|
|
5
|
+
use Moose;
|
|
6
|
+
use Nice::Try;
|
|
7
|
+
use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
|
|
8
|
+
extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
|
|
9
|
+
|
|
10
|
+
sub new {
|
|
11
|
+
my $class = shift;
|
|
12
|
+
my $self = {
|
|
13
|
+
required_parameters_count => 1
|
|
14
|
+
};
|
|
15
|
+
return bless $self, $class;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
sub process {
|
|
19
|
+
my ($self, $command) = @_;
|
|
20
|
+
try {
|
|
21
|
+
return $command->{payload}[0];
|
|
22
|
+
}
|
|
23
|
+
catch ( $e ) {
|
|
24
|
+
return Exception->new($e);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
no Moose;
|
|
29
|
+
1;
|
|
@@ -3,6 +3,15 @@ use strict;
|
|
|
3
3
|
use warnings FATAL => 'all';
|
|
4
4
|
use lib 'lib';
|
|
5
5
|
use Moose;
|
|
6
|
+
|
|
7
|
+
use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
|
|
8
|
+
use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
|
|
9
|
+
use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
|
|
10
|
+
use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
|
|
11
|
+
use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
|
|
12
|
+
use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
|
|
13
|
+
use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
|
|
14
|
+
|
|
6
15
|
use aliased 'Javonet::Core::Handler::CommandHandler::ValueHandler' => 'ValueHandler';
|
|
7
16
|
use aliased 'Javonet::Core::Handler::CommandHandler::LoadLibraryHandler' => 'LoadLibraryHandler';
|
|
8
17
|
use aliased 'Javonet::Core::Handler::CommandHandler::GetStaticFieldHandler' => 'GetStaticFieldHandler';
|
|
@@ -23,15 +32,7 @@ use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetSizeHandler' => 'Ar
|
|
|
23
32
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetRankHandler' => 'ArrayGetRankHandler';
|
|
24
33
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArraySetItemHandler' => 'ArraySetItemHandler';
|
|
25
34
|
use aliased 'Javonet::Core::Handler::CommandHandler::InvokeGlobalFunctionHandler' => 'InvokeGlobalFunctionHandler';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
|
|
29
|
-
use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
|
|
30
|
-
use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
|
|
31
|
-
use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
|
|
32
|
-
use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
|
|
33
|
-
use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
|
|
34
|
-
use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
|
|
35
|
+
use aliased 'Javonet::Core::Handler::CommandHandler::RegisterForUpdateHandler' => 'RegisterForUpdateHandler';
|
|
35
36
|
|
|
36
37
|
my $value_handler = ValueHandler->new();
|
|
37
38
|
my $load_library_handler = LoadLibraryHandler->new();
|
|
@@ -51,6 +52,7 @@ my $array_get_size_handler = ArrayGetSizeHandler->new();
|
|
|
51
52
|
my $array_get_rank_handler = ArrayGetRankHandler->new();
|
|
52
53
|
my $array_set_item_handler = ArraySetItemHandler->new();
|
|
53
54
|
my $invoke_global_function_handler = InvokeGlobalFunctionHandler->new();
|
|
55
|
+
my $register_for_update_handler = RegisterForUpdateHandler->new();
|
|
54
56
|
|
|
55
57
|
|
|
56
58
|
Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
@@ -127,6 +129,11 @@ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
|
127
129
|
$invoke_global_function_handler
|
|
128
130
|
);
|
|
129
131
|
|
|
132
|
+
Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
133
|
+
Javonet::Sdk::Core::PerlCommandType::get_command_type('RegisterForUpdate'),
|
|
134
|
+
$register_for_update_handler
|
|
135
|
+
);
|
|
136
|
+
|
|
130
137
|
sub handle_command {
|
|
131
138
|
my ($self, $command) = @_;
|
|
132
139
|
my $response = Javonet::Core::Handler::HandlerDictionary::get_handler($command->{command_type})->handle_command($command);
|