javonet-ruby-sdk 2.3.0 → 2.4.0

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.
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