javonet-ruby-sdk 2.3.0 → 2.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.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/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.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/X64/libJavonetActivationService.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.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/libJavonetNetcoreRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.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/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/JavonetNodejs1816RuntimeNative.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/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/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +3 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandSerializer.js +21 -23
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/Transmitter.js +11 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/TransmitterWrapper.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/RuntimeNameHandler.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/TcpConnectionData.js +43 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +3 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandSerializer.js +21 -23
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/Transmitter.js +11 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/TransmitterWrapper.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/RuntimeNameHandler.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/TcpConnectionData.js +43 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +3 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandSerializer.js +21 -23
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/Transmitter.js +11 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/TransmitterWrapper.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/RuntimeNameHandler.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/TcpConnectionData.js +43 -6
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
- 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 +149 -83
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +149 -83
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Javonet.pm +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
- 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 +18 -18
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +7 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +8 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +28 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/RuntimeNameHandler.py +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +7 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +8 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +28 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/RuntimeNameHandler.py +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +7 -5
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +8 -15
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +28 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Windows/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/RuntimeNameHandler.py +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
- data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +5 -6
- data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +8 -24
- data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +21 -12
- data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
- data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +92 -0
- data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +30 -0
- data/lib/javonet-ruby-sdk/sdk/{internal/invocation_context.rb → invocation_context.rb} +6 -6
- data/lib/javonet-ruby-sdk/sdk/javonet.rb +53 -0
- data/lib/javonet-ruby-sdk/sdk/{internal/runtime_context.rb → runtime_context.rb} +35 -35
- data/lib/javonet-ruby-sdk/sdk/{internal/runtime_factory.rb → runtime_factory.rb} +13 -18
- data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +55 -0
- data/lib/javonet-ruby-sdk/utils/command.rb +2 -1
- data/lib/javonet-ruby-sdk/utils/runtime_name.rb +0 -30
- data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +34 -0
- data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +33 -0
- data/lib/javonet-ruby-sdk.rb +1 -42
- metadata +49 -14
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
- /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_invocation_context.rb → abstract_invocation_context.rb} +0 -0
- /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_context.rb → abstract_runtime_context.rb} +0 -0
- /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_factory.rb → abstract_runtime_factory.rb} +0 -0
@@ -0,0 +1,384 @@
|
|
1
|
+
package CPAN::Requirements::Dynamic;
|
2
|
+
$CPAN::Requirements::Dynamic::VERSION = '0.001';
|
3
|
+
use strict;
|
4
|
+
use warnings;
|
5
|
+
|
6
|
+
use Carp 'croak';
|
7
|
+
use Parse::CPAN::Meta;
|
8
|
+
|
9
|
+
sub _version_satisfies {
|
10
|
+
my ($version, $range) = @_;
|
11
|
+
require CPAN::Meta::Requirements::Range;
|
12
|
+
return CPAN::Meta::Requirements::Range->with_string_requirement($range)->accepts($version);
|
13
|
+
}
|
14
|
+
|
15
|
+
sub _is_interactive {
|
16
|
+
return -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
|
17
|
+
}
|
18
|
+
|
19
|
+
sub _read_line {
|
20
|
+
return undef if $ENV{PERL_MM_USE_DEFAULT} || !_is_interactive && eof STDIN;;
|
21
|
+
|
22
|
+
my $answer = <STDIN>;
|
23
|
+
chomp $answer if defined $answer;
|
24
|
+
return $answer;
|
25
|
+
}
|
26
|
+
|
27
|
+
sub _prompt {
|
28
|
+
my ($mess, $default) = @_;
|
29
|
+
|
30
|
+
local $|=1;
|
31
|
+
print "$mess [$default]";
|
32
|
+
my $answer = _read_line;
|
33
|
+
$answer = $default if !defined $answer or !length $answer;
|
34
|
+
|
35
|
+
return $answer;
|
36
|
+
}
|
37
|
+
|
38
|
+
my %default_commands = (
|
39
|
+
can_xs => sub {
|
40
|
+
my ($self) = @_;
|
41
|
+
require ExtUtils::HasCompiler;
|
42
|
+
return ExtUtils::HasCompiler::can_compile_extension(config => $self->{config});
|
43
|
+
},
|
44
|
+
can_run => sub {
|
45
|
+
my ($self, $command) = @_;
|
46
|
+
require IPC::Cmd;
|
47
|
+
return IPC::Cmd::can_run($command);
|
48
|
+
},
|
49
|
+
config_defined => sub {
|
50
|
+
my ($self, $entry) = @_;
|
51
|
+
return $self->{config}->get($entry) eq 'define';
|
52
|
+
},
|
53
|
+
has_env => sub {
|
54
|
+
my ($self, $entry) = @_;
|
55
|
+
return !!$ENV{$entry};
|
56
|
+
},
|
57
|
+
has_module => sub {
|
58
|
+
my ($self, $module, $range) = @_;
|
59
|
+
require Module::Metadata;
|
60
|
+
my $data = Module::Metadata->new_from_module($module);
|
61
|
+
return !!0 unless $data;
|
62
|
+
return !!1 if not defined $range;
|
63
|
+
return _version_satisfies($data->version($module), $range);
|
64
|
+
},
|
65
|
+
has_perl => sub {
|
66
|
+
my ($self, $range) = @_;
|
67
|
+
return _version_satisfies($], $range);
|
68
|
+
},
|
69
|
+
is_extended => sub {
|
70
|
+
return !!$ENV{EXTENDED_TESTING};
|
71
|
+
},
|
72
|
+
is_interactive => sub {
|
73
|
+
return _is_interactive;
|
74
|
+
},
|
75
|
+
is_os => sub {
|
76
|
+
my ($self, @wanted) = @_;
|
77
|
+
return !!grep { $_ eq $^O } @wanted
|
78
|
+
},
|
79
|
+
is_os_type => sub {
|
80
|
+
my ($self, $wanted) = @_;
|
81
|
+
require Perl::OSType;
|
82
|
+
return Perl::OSType::is_os_type($wanted);
|
83
|
+
},
|
84
|
+
is_smoker => sub {
|
85
|
+
return !!$ENV{AUTOMATED_TESTING};
|
86
|
+
},
|
87
|
+
prompt_default_yes => sub {
|
88
|
+
my ($self, $message) = @_;
|
89
|
+
return _prompt("$message [Y/n]", "y") =~ /^y/i;
|
90
|
+
},
|
91
|
+
prompt_default_no => sub {
|
92
|
+
my ($self, $message) = @_;
|
93
|
+
return _prompt("$message [y/N]", "n") =~ /^y/i;
|
94
|
+
},
|
95
|
+
want_pureperl => sub {
|
96
|
+
my ($self) = @_;
|
97
|
+
return !!$self->{pureperl_only};
|
98
|
+
},
|
99
|
+
want_xs => sub {
|
100
|
+
my ($self) = @_;
|
101
|
+
return !!0 if $self->{pureperl_only};
|
102
|
+
require ExtUtils::HasCompiler;
|
103
|
+
return ExtUtils::HasCompiler::can_compile_extension(config => $self->{config});
|
104
|
+
},
|
105
|
+
want_compiled => sub {
|
106
|
+
my ($self) = @_;
|
107
|
+
return defined $self->{pureperl_only} && $self->{pureperl_only} == 0;
|
108
|
+
},
|
109
|
+
);
|
110
|
+
|
111
|
+
sub new {
|
112
|
+
my ($class, %args) = @_;
|
113
|
+
return bless {
|
114
|
+
config => $args{config} || do { require ExtUtils::Config; ExtUtils::Config->new },
|
115
|
+
prereqs => $args{prereqs} || do { require CPAN::Meta::Prereqs; CPAN::Meta::Prereqs->new },
|
116
|
+
commands => $args{commands} || \%default_commands,
|
117
|
+
pureperl_only => $args{pureperl_only},
|
118
|
+
}, $class;
|
119
|
+
}
|
120
|
+
|
121
|
+
sub _get_command {
|
122
|
+
my ($self, $name) = @_;
|
123
|
+
if ($name eq 'or') {
|
124
|
+
return sub {
|
125
|
+
my ($self, @each) = @_;
|
126
|
+
for my $elem (@each) {
|
127
|
+
return !!1 if $self->_run_condition($elem);
|
128
|
+
}
|
129
|
+
return !!0;
|
130
|
+
};
|
131
|
+
} elsif ($name eq 'and') {
|
132
|
+
return sub {
|
133
|
+
my ($self, @each) = @_;
|
134
|
+
for my $elem (@each) {
|
135
|
+
return !!0 if not $self->_run_condition($elem);
|
136
|
+
}
|
137
|
+
return !!1;
|
138
|
+
};
|
139
|
+
} else {
|
140
|
+
return $self->{commands}{$name} || croak "No such command $name";
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
sub _run_condition {
|
145
|
+
my ($self, $condition) = @_;
|
146
|
+
|
147
|
+
my $negate = !!0;
|
148
|
+
my ($function, @arguments) = @{ $condition };
|
149
|
+
while ($function eq 'not') {
|
150
|
+
$function = shift @arguments;
|
151
|
+
$negate = !$negate;
|
152
|
+
}
|
153
|
+
|
154
|
+
my $method = $self->_get_command($function);
|
155
|
+
my $primary = $self->$method(@arguments);
|
156
|
+
return $negate ? !$primary : $primary;
|
157
|
+
}
|
158
|
+
|
159
|
+
sub evaluate {
|
160
|
+
my ($self, $argument) = @_;
|
161
|
+
my $version = $argument->{version};
|
162
|
+
croak "Dynamic prereqs spec version $version is not supported" if int $version > 1;
|
163
|
+
my @prereqs;
|
164
|
+
|
165
|
+
for my $entry (@{ $argument->{expressions} }) {
|
166
|
+
if ($self->_run_condition($entry->{condition})) {
|
167
|
+
if ($entry->{error}) {
|
168
|
+
die "$entry->{error}\n";
|
169
|
+
} elsif (my $prereqs = $entry->{prereqs}) {
|
170
|
+
my $phase = $entry->{phase} || 'runtime';
|
171
|
+
my $relation = $entry->{relation} || 'requires';
|
172
|
+
my $prereqs = { $phase => { $relation => $entry->{prereqs} } };
|
173
|
+
push @prereqs, CPAN::Meta::Prereqs->new($prereqs);
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
|
178
|
+
return $self->{prereqs}->with_merged_prereqs(\@prereqs);
|
179
|
+
}
|
180
|
+
|
181
|
+
sub evaluate_file {
|
182
|
+
my ($self, $filename) = @_;
|
183
|
+
my $structure = Parse::CPAN::Meta->load_file($filename);
|
184
|
+
return $self->evaluate($structure);
|
185
|
+
}
|
186
|
+
|
187
|
+
1;
|
188
|
+
|
189
|
+
# ABSTRACT: Dynamic prerequisites in meta files
|
190
|
+
|
191
|
+
__END__
|
192
|
+
|
193
|
+
=pod
|
194
|
+
|
195
|
+
=encoding UTF-8
|
196
|
+
|
197
|
+
=head1 NAME
|
198
|
+
|
199
|
+
CPAN::Requirements::Dynamic - Dynamic prerequisites in meta files
|
200
|
+
|
201
|
+
=head1 VERSION
|
202
|
+
|
203
|
+
version 0.001
|
204
|
+
|
205
|
+
=head1 SYNOPSIS
|
206
|
+
|
207
|
+
my $result = $dynamic->evaluate({
|
208
|
+
expressions => [
|
209
|
+
{
|
210
|
+
condition => [ 'has_perl' => 'v5.20.0' ],
|
211
|
+
prereqs => { Bar => "1.3" },
|
212
|
+
},
|
213
|
+
{
|
214
|
+
condition => [ is_os => 'linux' ],
|
215
|
+
prereqs => { Baz => "1.4" },
|
216
|
+
},
|
217
|
+
{
|
218
|
+
condition => [ config_defined => 'usethreads' ],
|
219
|
+
prereqs => { Quz => "1.5" },
|
220
|
+
},
|
221
|
+
{
|
222
|
+
condition => [ has_module => 'CPAN::Meta', '2' ],
|
223
|
+
prereqs => { Wuz => "1.6" },
|
224
|
+
},
|
225
|
+
{
|
226
|
+
condition => [ and =>
|
227
|
+
[ config_defined => 'usethreads' ],
|
228
|
+
[ is_os => 'openbsd' ],
|
229
|
+
],
|
230
|
+
prereqs => { Euz => "1.7" },
|
231
|
+
},
|
232
|
+
{
|
233
|
+
condition => [ not => is_os_type => 'Unix'],
|
234
|
+
error => 'OS unsupported',
|
235
|
+
},
|
236
|
+
],
|
237
|
+
});
|
238
|
+
|
239
|
+
=head1 DESCRIPTION
|
240
|
+
|
241
|
+
This module implements a format for describing dynamic prerequisites of a distribution.
|
242
|
+
|
243
|
+
=head1 METHODS
|
244
|
+
|
245
|
+
=head2 new(%options)
|
246
|
+
|
247
|
+
This constructor takes two (optional but recommended) named arguments
|
248
|
+
|
249
|
+
=over 4
|
250
|
+
|
251
|
+
=item * config
|
252
|
+
|
253
|
+
This is an L<ExtUtils::Config|ExtUtils::Config> (compatible) object for reading configuration.
|
254
|
+
|
255
|
+
=item * pureperl_only
|
256
|
+
|
257
|
+
This should be the value of the C<pureperl-only> flag.
|
258
|
+
|
259
|
+
=back
|
260
|
+
|
261
|
+
=head2 evaluate(%options)
|
262
|
+
|
263
|
+
This takes a hash with two named arguments: C<version> and C<expressions>. The former is the version of the format, it currently defaults to 1. The latter is a list of hashes that can contain the following keys:
|
264
|
+
|
265
|
+
=over 4
|
266
|
+
|
267
|
+
=item * condition
|
268
|
+
|
269
|
+
The condition of the dynamic requirement. This is an array with a name as first values and zero or more arguments following it. The semantics are described below under L</Conditions>
|
270
|
+
|
271
|
+
=item * prereqs
|
272
|
+
|
273
|
+
The prereqs is a hash with modules for keys and the required version as values (e.g. C<< { Foo => '1.234' } >>).
|
274
|
+
|
275
|
+
=item * phase
|
276
|
+
|
277
|
+
The phase of the requirements. This defaults to C<'runtime'>. Other valid values include C<'build'> and C<'test'>.
|
278
|
+
|
279
|
+
=item * relation
|
280
|
+
|
281
|
+
The relation of the requirements. This defaults to C<'requires'>, but other valid values include C<'recommends'>, C<'suggests'> and C<'conflicts'>.
|
282
|
+
|
283
|
+
=item * error
|
284
|
+
|
285
|
+
It will die with this error if set. The two messages C<"No support for OS"> and C<"OS unsupported"> have special meaning to CPAN Testers and are generally encouraged for situations that indicate not a failed build but an impossibility to build.
|
286
|
+
|
287
|
+
=back
|
288
|
+
|
289
|
+
C<condition> and one of C<prereqs> or C<error> are mandatory.
|
290
|
+
|
291
|
+
=head2 evaluate_file($filename)
|
292
|
+
|
293
|
+
This takes a filename, that can be either a YAML file or a JSON file, and evaluates it.
|
294
|
+
|
295
|
+
=head2 Conditions
|
296
|
+
|
297
|
+
=head3 can_xs
|
298
|
+
|
299
|
+
This returns true if a compiler appears to be available.
|
300
|
+
|
301
|
+
=head3 can_run($command)
|
302
|
+
|
303
|
+
Returns true if a C<$command> can be run.
|
304
|
+
|
305
|
+
=head3 config_defined($variable)
|
306
|
+
|
307
|
+
This returns true if a specific configuration variable is defined.
|
308
|
+
|
309
|
+
=head3 has_env($variable)
|
310
|
+
|
311
|
+
This returns true if the environmental variable with the name in C<$variable> is true.
|
312
|
+
|
313
|
+
=head3 has_module($module, $version = 0)
|
314
|
+
|
315
|
+
Returns true if a module is installed on the system. If a C<$version> is given, it will also check if that version is provided. C<$version> is interpreted exactly as in the CPAN::Meta spec.
|
316
|
+
|
317
|
+
=head3 has_perl($version)
|
318
|
+
|
319
|
+
Returns true if the perl version satisfies C<$version>. C<$version> is interpreted exactly as in the CPAN::Meta spec (e.g. C<1.2> equals C<< '>= 1.2' >>).
|
320
|
+
|
321
|
+
=head3 is_extended
|
322
|
+
|
323
|
+
Returns true if extended testing is asked for.
|
324
|
+
|
325
|
+
=head3 is_interactive
|
326
|
+
|
327
|
+
Returns true if installed from a terminal that can answer prompts.
|
328
|
+
|
329
|
+
=head3 is_os(@systems)
|
330
|
+
|
331
|
+
Returns true if the OS name equals any of C<@systems>.
|
332
|
+
|
333
|
+
=head3 is_os_type($type)
|
334
|
+
|
335
|
+
Returns true if the OS type equals C<$type>. Typical values of C<$type> are C<'Unix'> or C<'Windows'>.
|
336
|
+
|
337
|
+
=head3 is_smoker
|
338
|
+
|
339
|
+
Returns true when running on a smoker.
|
340
|
+
|
341
|
+
=head3 has_env
|
342
|
+
|
343
|
+
This returns true if the given environmental variable is true.
|
344
|
+
|
345
|
+
=head3 prompt_default_no
|
346
|
+
|
347
|
+
This will ask a yes/no question to the user, defaulting to no.
|
348
|
+
|
349
|
+
=head3 prompt_default_yes
|
350
|
+
|
351
|
+
This will ask a yes/no question to the user, defaulting to yes.
|
352
|
+
|
353
|
+
=head3 want_pureperl
|
354
|
+
|
355
|
+
This returns true if the user has indicated they want a pure-perl build.
|
356
|
+
|
357
|
+
=head3 want_compiled
|
358
|
+
|
359
|
+
This returns true if the user has explicitly indicated they do not want a pure-perl build.
|
360
|
+
|
361
|
+
=head3 not
|
362
|
+
|
363
|
+
This takes an expression and negates its value.
|
364
|
+
|
365
|
+
=head3 or
|
366
|
+
|
367
|
+
This takes list of arrayrefs, each containing a condition expression. If at least one of the conditions is true this will also return true.
|
368
|
+
|
369
|
+
=head3 and
|
370
|
+
|
371
|
+
This takes a list of arrayrefs, each containing a condition expression. If all of the conditions are true this will also return true.
|
372
|
+
|
373
|
+
=head1 AUTHOR
|
374
|
+
|
375
|
+
Leon Timmermans <fawaka@gmail.com>
|
376
|
+
|
377
|
+
=head1 COPYRIGHT AND LICENSE
|
378
|
+
|
379
|
+
This software is copyright (c) 2023 by Leon Timmermans.
|
380
|
+
|
381
|
+
This is free software; you can redistribute it and/or modify it under
|
382
|
+
the same terms as the Perl 5 programming language system itself.
|
383
|
+
|
384
|
+
=cut
|
@@ -0,0 +1,141 @@
|
|
1
|
+
package ExtUtils::Config::MakeMaker;
|
2
|
+
$ExtUtils::Config::MakeMaker::VERSION = '0.009';
|
3
|
+
use strict;
|
4
|
+
use warnings;
|
5
|
+
|
6
|
+
use ExtUtils::MakeMaker::Config;
|
7
|
+
|
8
|
+
sub new {
|
9
|
+
my ($class, $maker) = @_;
|
10
|
+
return bless { maker => $maker }, $class;
|
11
|
+
}
|
12
|
+
|
13
|
+
sub get {
|
14
|
+
my ($self, $key) = @_;
|
15
|
+
return exists $self->{maker}{uc $key} ? $self->{maker}{uc $key} : $Config{$key};
|
16
|
+
}
|
17
|
+
|
18
|
+
sub exists {
|
19
|
+
my ($self, $key) = @_;
|
20
|
+
return exists $Config{$key};
|
21
|
+
}
|
22
|
+
|
23
|
+
sub all_config {
|
24
|
+
my $self = shift;
|
25
|
+
my %result;
|
26
|
+
for my $key (keys %Config) {
|
27
|
+
$result{$key} = $self->get($key);
|
28
|
+
}
|
29
|
+
return \%result;
|
30
|
+
}
|
31
|
+
|
32
|
+
sub values_set {
|
33
|
+
my $self = shift;
|
34
|
+
my %result;
|
35
|
+
for my $key (keys %Config) {
|
36
|
+
next if not exists $self->{maker}{uc $key};
|
37
|
+
next if $self->{maker}{uc $key} eq $Config{$key};
|
38
|
+
$result{$key} = $self->{maker}{uc $key};
|
39
|
+
}
|
40
|
+
return \%result;
|
41
|
+
}
|
42
|
+
|
43
|
+
sub serialize {
|
44
|
+
my $self = shift;
|
45
|
+
require Data::Dumper;
|
46
|
+
return $self->{serialized} ||= Data::Dumper->new($self->values_set)->Terse(1)->Sortkeys(1)->Dump;
|
47
|
+
}
|
48
|
+
|
49
|
+
sub materialize {
|
50
|
+
my $self = shift;
|
51
|
+
require ExtUtils::Config;
|
52
|
+
return ExtUtils::Config->new($self->values_set);
|
53
|
+
}
|
54
|
+
|
55
|
+
sub but {
|
56
|
+
my ($self, %args) = @_;
|
57
|
+
return $self->materialize->but(%args);
|
58
|
+
}
|
59
|
+
|
60
|
+
1;
|
61
|
+
|
62
|
+
#ABSTRACT: A ExtUtils::Config compatible wrapper for ExtUtils::MakeMaker's configuration.
|
63
|
+
|
64
|
+
__END__
|
65
|
+
|
66
|
+
=pod
|
67
|
+
|
68
|
+
=encoding UTF-8
|
69
|
+
|
70
|
+
=head1 NAME
|
71
|
+
|
72
|
+
ExtUtils::Config::MakeMaker - A ExtUtils::Config compatible wrapper for ExtUtils::MakeMaker's configuration.
|
73
|
+
|
74
|
+
=head1 VERSION
|
75
|
+
|
76
|
+
version 0.009
|
77
|
+
|
78
|
+
=head1 SYNOPSIS
|
79
|
+
|
80
|
+
my $config = ExtUtils::Config::MakeMaker->new($makemaker);
|
81
|
+
|
82
|
+
=head1 DESCRIPTION
|
83
|
+
|
84
|
+
This object wraps L<ExtUtils::MakeMaker|ExtUtils::MakeMaker>'s idea of configuration in an L<ExtUtils::Config|ExtUtils::Config> compatible interface. That means that if you pass a configuration argument to or in Makefile.PL (e.g. C<OPTIMIZE=-O3>) it will show up in the config object (e.g. C<$config->get('optimize')>.
|
85
|
+
|
86
|
+
=head1 METHODS
|
87
|
+
|
88
|
+
=head2 new($makemaker)
|
89
|
+
|
90
|
+
This creates a new C<ExtUtils::Config::MakeMaker> object from a MakeMaker object.
|
91
|
+
|
92
|
+
=head2 get($key)
|
93
|
+
|
94
|
+
Get the value of C<$key>. If not overridden it will return the value in %Config.
|
95
|
+
|
96
|
+
=head2 exists($key)
|
97
|
+
|
98
|
+
Tests for the existence of $key.
|
99
|
+
|
100
|
+
=head2 values_set()
|
101
|
+
|
102
|
+
Get a hashref of all overridden values.
|
103
|
+
|
104
|
+
=head2 all_config()
|
105
|
+
|
106
|
+
Get a hashref of the complete configuration, including overrides.
|
107
|
+
|
108
|
+
=head2 serialize()
|
109
|
+
|
110
|
+
This method serializes the object to some kind of string. This can be useful for various caching purposes.
|
111
|
+
|
112
|
+
=head2 materialize()
|
113
|
+
|
114
|
+
This turns this object into an actual C<ExtUtils::Config> object.
|
115
|
+
|
116
|
+
=head2 but(%config)
|
117
|
+
|
118
|
+
This returns a C<ExtUtils::Config> object based on the current one but with the given entries overriden. If any value is C<undef> it will revert to the official C<%Config> value instead.
|
119
|
+
|
120
|
+
=head1 AUTHORS
|
121
|
+
|
122
|
+
=over 4
|
123
|
+
|
124
|
+
=item *
|
125
|
+
|
126
|
+
Ken Williams <kwilliams@cpan.org>
|
127
|
+
|
128
|
+
=item *
|
129
|
+
|
130
|
+
Leon Timmermans <leont@cpan.org>
|
131
|
+
|
132
|
+
=back
|
133
|
+
|
134
|
+
=head1 COPYRIGHT AND LICENSE
|
135
|
+
|
136
|
+
This software is copyright (c) 2006 by Ken Williams, Leon Timmermans.
|
137
|
+
|
138
|
+
This is free software; you can redistribute it and/or modify it under
|
139
|
+
the same terms as the Perl 5 programming language system itself.
|
140
|
+
|
141
|
+
=cut
|
@@ -1,9 +1,8 @@
|
|
1
1
|
package ExtUtils::Config;
|
2
|
-
$ExtUtils::Config::VERSION = '0.
|
2
|
+
$ExtUtils::Config::VERSION = '0.009';
|
3
3
|
use strict;
|
4
4
|
use warnings;
|
5
5
|
use Config;
|
6
|
-
use Data::Dumper ();
|
7
6
|
|
8
7
|
sub new {
|
9
8
|
my ($pack, $args) = @_;
|
@@ -34,7 +33,22 @@ sub all_config {
|
|
34
33
|
|
35
34
|
sub serialize {
|
36
35
|
my $self = shift;
|
37
|
-
|
36
|
+
require Data::Dumper;
|
37
|
+
return $self->{serialized} ||= Data::Dumper->new($self->{values})->Terse(1)->Sortkeys(1)->Dump;
|
38
|
+
}
|
39
|
+
|
40
|
+
sub but {
|
41
|
+
my ($self, $args) = @_;
|
42
|
+
my %new = %{ $self->{values} };
|
43
|
+
for my $key (keys %$args) {
|
44
|
+
if (defined $args->{$key}) {
|
45
|
+
$new{$key} = $args->{$key}
|
46
|
+
}
|
47
|
+
else {
|
48
|
+
delete $new{$key};
|
49
|
+
}
|
50
|
+
}
|
51
|
+
return bless { values => \%new }, ref $self;
|
38
52
|
}
|
39
53
|
|
40
54
|
1;
|
@@ -53,7 +67,7 @@ ExtUtils::Config - A wrapper for perl's configuration
|
|
53
67
|
|
54
68
|
=head1 VERSION
|
55
69
|
|
56
|
-
version 0.
|
70
|
+
version 0.009
|
57
71
|
|
58
72
|
=head1 SYNOPSIS
|
59
73
|
|
@@ -78,6 +92,10 @@ Get the value of C<$key>. If not overridden it will return the value in %Config.
|
|
78
92
|
|
79
93
|
Tests for the existence of $key.
|
80
94
|
|
95
|
+
=head2 but(\%keys)
|
96
|
+
|
97
|
+
This creates a new C<ExtUtils::Config> object based on the current one, but with the values in %keys replacing the current values. Any undefined value means it will be removed from the overriden set.
|
98
|
+
|
81
99
|
=head2 values_set()
|
82
100
|
|
83
101
|
Get a hashref of all overridden values.
|
@@ -88,7 +106,27 @@ Get a hashref of the complete configuration, including overrides.
|
|
88
106
|
|
89
107
|
=head2 serialize()
|
90
108
|
|
91
|
-
This method serializes the object to some kind of string.
|
109
|
+
This method serializes the object to some kind of string. This can be useful for various caching purposes.
|
110
|
+
|
111
|
+
=head1 SEE ALSO
|
112
|
+
|
113
|
+
=over 4
|
114
|
+
|
115
|
+
=item * L<Module::Build::Tiny>
|
116
|
+
|
117
|
+
=item * L<ExtUtils::InstallPaths>
|
118
|
+
|
119
|
+
=item * L<CPAN::Static::Install>
|
120
|
+
|
121
|
+
=item * L<ExtUtils::HasCompiler>
|
122
|
+
|
123
|
+
=item * L<ExtUtils::Builder>
|
124
|
+
|
125
|
+
=item * L<CPAN::Requirements::Dynamic>
|
126
|
+
|
127
|
+
=item * L<Devel::FindPerl>
|
128
|
+
|
129
|
+
=back
|
92
130
|
|
93
131
|
=head1 AUTHORS
|
94
132
|
|