javonet-ruby-sdk 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  20. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +3 -2
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandSerializer.js +21 -23
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/Transmitter.js +11 -7
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/TransmitterWrapper.js +6 -2
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/RuntimeNameHandler.js +30 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/TcpConnectionData.js +43 -6
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +3 -2
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandSerializer.js +21 -23
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/Transmitter.js +11 -7
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/TransmitterWrapper.js +6 -2
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/RuntimeNameHandler.js +30 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/TcpConnectionData.js +43 -6
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +3 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandSerializer.js +21 -23
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/Transmitter.js +11 -7
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/TransmitterWrapper.js +6 -2
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/RuntimeNameHandler.js +30 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/TcpConnectionData.js +43 -6
  69. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  74. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  76. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  77. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  78. 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
  79. 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
  80. 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
  81. 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
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  83. 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
  84. 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
  85. 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
  86. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  87. 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
  88. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +145 -79
  89. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  90. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  91. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +17 -9
  92. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  93. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +141 -75
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Javonet.pm +17 -9
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  113. 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
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +16 -16
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +17 -9
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  123. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +7 -5
  124. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  125. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +28 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  127. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +29 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +7 -5
  130. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  131. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +28 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
  133. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +29 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +7 -5
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +28 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Windows/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +29 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +5 -6
  194. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +8 -24
  195. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +21 -12
  196. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  197. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +2 -1
  198. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -30
  199. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +34 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +33 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +5 -6
  202. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +8 -24
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +21 -12
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +2 -1
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -30
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +34 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +33 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +5 -6
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +8 -24
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +21 -12
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +2 -1
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -30
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +34 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +33 -0
  217. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  218. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +5 -6
  219. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +8 -24
  220. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +21 -12
  221. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
  222. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +92 -0
  223. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +30 -0
  224. data/lib/javonet-ruby-sdk/sdk/{internal/invocation_context.rb → invocation_context.rb} +6 -6
  225. data/lib/javonet-ruby-sdk/sdk/javonet.rb +53 -0
  226. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_context.rb → runtime_context.rb} +35 -35
  227. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_factory.rb → runtime_factory.rb} +13 -18
  228. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +55 -0
  229. data/lib/javonet-ruby-sdk/utils/command.rb +2 -1
  230. data/lib/javonet-ruby-sdk/utils/runtime_name.rb +0 -30
  231. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +34 -0
  232. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +33 -0
  233. data/lib/javonet-ruby-sdk.rb +1 -42
  234. metadata +49 -14
  235. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  236. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  237. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  238. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_invocation_context.rb → abstract_invocation_context.rb} +0 -0
  239. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_context.rb → abstract_runtime_context.rb} +0 -0
  240. /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.008';
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
- return $self->{serialized} ||= Data::Dumper->new([$self->values_set])->Terse(1)->Sortkeys(1)->Dump;
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.008
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