From 596200a7958541a8e1d2845c95ef12953be6b649 Mon Sep 17 00:00:00 2001 From: Sam Cao Date: Tue, 3 Jan 2023 15:28:31 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=86=20Javet=20v2.0.3=20(#224)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Upgraded V8 to `v10.9.194.9` ([2022-12-20](https://v8.dev/blog/v8-release-109)) * Upgraded to C++ 20 for V8 * Added `compileV8ValueFunction` to `IV8Executor` * Added `getCachedData` to `IV8Executor`, `V8Module` and `V8Script` * Added `getCachedData`, `isWrapped`, `getArguments` to `IV8ValueFunction` * Added `cachedData` to `V8StringExecutor` so that function, module and script support cached data * Fixed a bug in `ZonedDateTime` conversion for Android --- .github/workflows/linux_build_artifact.yml | 4 +- .../workflows/linux_build_node_v8_image.yml | 4 +- README.rst | 12 +- android/javet-android/build.gradle.kts | 2 +- .../src/main/AndroidManifest.xml | 2 +- android/pom.xml | 4 +- build.gradle.kts | 2 +- cpp/CMakeLists.txt | 3 +- cpp/build-android.sh | 2 +- cpp/build-linux.sh | 2 +- cpp/build-macos.sh | 2 +- cpp/build-windows.cmd | 2 +- .../com_caoccao_javet_interop_V8Native.cpp | 215 ++++++++++++- cpp/jni/com_caoccao_javet_interop_V8Native.h | 40 ++- cpp/jni/javet_converter.cpp | 57 +++- cpp/jni/javet_converter.h | 14 +- cpp/jni/javet_exceptions.cpp | 2 +- cpp/jni/javet_resource_node.rc | 12 +- cpp/jni/javet_resource_v8.rc | 12 +- cpp/jni/javet_v8.h | 2 + cpp/jni/javet_v8_internal.h | 1 + docker/android/base.Dockerfile | 18 +- docker/android/build.Dockerfile | 2 +- .../linux-x86_64/base_all_in_one.Dockerfile | 12 +- docker/linux-x86_64/base_gradle.Dockerfile | 2 +- docker/linux-x86_64/base_jvm.Dockerfile | 8 +- docker/linux-x86_64/base_v8.Dockerfile | 6 +- .../linux-x86_64/build_all_in_one.Dockerfile | 2 +- docker/linux-x86_64/build_artifact.Dockerfile | 4 +- docker/windows-x86_64/base.Dockerfile | 4 +- docker/windows-x86_64/build.Dockerfile | 2 +- docs/_static/documentation_options.js | 2 +- docs/conf.py | 2 +- docs/development/build.html | 12 +- docs/development/build.rst | 6 +- .../development/build_javet_from_scratch.html | 6 +- docs/development/build_javet_with_docker.html | 6 +- .../build_javet_with_pre_built_binaries.html | 6 +- .../debug_with_chrome_developer_tools.html | 6 +- docs/development/design.html | 6 +- docs/development/index.html | 6 +- docs/development/test.html | 6 +- docs/development/tools.html | 6 +- docs/faq/background/history_with_j2v8.html | 6 +- docs/faq/background/index.html | 6 +- .../background/what_is_the_motivation.html | 6 +- .../development/how_to_think_in_javet.html | 6 +- docs/faq/development/index.html | 6 +- .../where_are_es6_api_in_v8_mode.html | 6 +- .../development/where_are_the_examples.html | 6 +- ...he_inspector_disabled_in_node_js_mode.html | 6 +- .../can_javet_support_legacy_linux.html | 6 +- .../environment/can_javet_support_mac.html | 6 +- docs/faq/environment/index.html | 6 +- docs/faq/index.html | 6 +- ...ary_dll_initialization_routine_failed.html | 6 +- .../can_i18n_be_supported.html | 6 +- ...can_i_debug_javet_in_chrome_dev_tools.html | 6 +- docs/faq/troubleshooting/index.html | 6 +- ...why_node_js_crashes_when_being_closed.html | 6 +- docs/genindex.html | 6 +- docs/index.html | 18 +- .../converters/bridge_converter.html | 6 +- .../converters/custom_converter.html | 6 +- docs/reference/converters/index.html | 6 +- .../converters/object_converter.html | 6 +- .../converters/primitive_converter.html | 6 +- .../reference/converters/proxy_converter.html | 6 +- docs/reference/index.html | 6 +- docs/reference/javadoc/allclasses-frame.html | 2 +- .../reference/javadoc/allclasses-noframe.html | 2 +- .../javet/annotations/CheckReturnValue.html | 4 +- .../caoccao/javet/annotations/NodeModule.html | 4 +- .../caoccao/javet/annotations/V8Allow.html | 4 +- .../javet/annotations/V8BindingEnabler.html | 4 +- .../caoccao/javet/annotations/V8Block.html | 4 +- .../caoccao/javet/annotations/V8Convert.html | 4 +- .../caoccao/javet/annotations/V8Function.html | 4 +- .../caoccao/javet/annotations/V8Getter.html | 4 +- .../caoccao/javet/annotations/V8Property.html | 4 +- .../annotations/V8ProxyFunctionApply.html | 4 +- .../javet/annotations/V8RuntimeSetter.html | 4 +- .../caoccao/javet/annotations/V8Setter.html | 4 +- .../javet/annotations/package-frame.html | 2 +- .../javet/annotations/package-summary.html | 4 +- .../javet/annotations/package-tree.html | 18 +- .../javet/entities/JavetEntityFunction.html | 4 +- .../javet/entities/JavetEntityMap.html | 4 +- .../javet/entities/JavetEntitySymbol.html | 4 +- .../caoccao/javet/entities/package-frame.html | 2 +- .../javet/entities/package-summary.html | 4 +- .../caoccao/javet/entities/package-tree.html | 4 +- .../caoccao/javet/enums/JSFunctionType.html | 4 +- .../caoccao/javet/enums/JSRuntimeType.html | 4 +- .../com/caoccao/javet/enums/JSScopeType.html | 4 +- .../caoccao/javet/enums/JavetErrorType.html | 4 +- .../javet/enums/JavetPromiseRejectEvent.html | 4 +- .../javet/enums/V8AllocationSpace.html | 4 +- .../caoccao/javet/enums/V8ContextType.html | 4 +- .../caoccao/javet/enums/V8ConversionMode.html | 4 +- .../javet/enums/V8GCCallbackFlags.html | 4 +- .../com/caoccao/javet/enums/V8GCType.html | 4 +- .../com/caoccao/javet/enums/V8ProxyMode.html | 4 +- .../com/caoccao/javet/enums/V8ScopeType.html | 4 +- .../javet/enums/V8ValueInternalType.html | 4 +- .../javet/enums/V8ValueReferenceType.html | 4 +- .../javet/enums/V8ValueSymbolType.html | 4 +- .../caoccao/javet/enums/package-frame.html | 2 +- .../caoccao/javet/enums/package-summary.html | 4 +- .../com/caoccao/javet/enums/package-tree.html | 22 +- .../BaseJavetScriptingException.html | 4 +- .../exceptions/JavetCompilationException.html | 4 +- .../exceptions/JavetConverterException.html | 4 +- .../caoccao/javet/exceptions/JavetError.html | 4 +- .../javet/exceptions/JavetException.html | 4 +- .../exceptions/JavetExecutionException.html | 4 +- .../exceptions/JavetOutOfMemoryException.html | 4 +- .../javet/exceptions/JavetScriptingError.html | 4 +- .../exceptions/JavetTerminatedException.html | 4 +- .../javet/exceptions/package-frame.html | 2 +- .../javet/exceptions/package-summary.html | 4 +- .../javet/exceptions/package-tree.html | 4 +- .../interception/BaseJavetInterceptor.html | 4 +- .../logging/BaseJavetConsoleInterceptor.html | 4 +- .../JavetStandardConsoleInterceptor.html | 4 +- .../interception/logging/package-frame.html | 2 +- .../interception/logging/package-summary.html | 4 +- .../interception/logging/package-tree.html | 4 +- .../javet/interception/package-frame.html | 2 +- .../javet/interception/package-summary.html | 4 +- .../javet/interception/package-tree.html | 4 +- .../caoccao/javet/interfaces/IEnumBitset.html | 4 +- .../javet/interfaces/IJavaFunction.html | 4 +- .../javet/interfaces/IJavaSupplier.html | 4 +- .../javet/interfaces/IJavetAnonymous.html | 4 +- .../javet/interfaces/IJavetBiConsumer.html | 4 +- .../interfaces/IJavetBiIndexedConsumer.html | 4 +- .../javet/interfaces/IJavetClosable.html | 4 +- .../interfaces/IJavetEntityFunction.html | 4 +- .../javet/interfaces/IJavetEntityMap.html | 4 +- .../javet/interfaces/IJavetInterceptor.html | 4 +- .../javet/interfaces/IJavetLogger.html | 4 +- .../javet/interfaces/IJavetMappable.html | 4 +- .../javet/interfaces/IJavetResettable.html | 4 +- .../javet/interfaces/IJavetSupplier.html | 4 +- .../javet/interfaces/IJavetUniConsumer.html | 4 +- .../interfaces/IJavetUniIndexedConsumer.html | 4 +- .../javet/interfaces/IV8ModuleResolver.html | 4 +- .../javet/interfaces/package-frame.html | 2 +- .../javet/interfaces/package-summary.html | 4 +- .../javet/interfaces/package-tree.html | 4 +- .../caoccao/javet/interop/INodeNative.html | 6 +- .../caoccao/javet/interop/IV8Cloneable.html | 4 +- .../caoccao/javet/interop/IV8Convertible.html | 4 +- .../caoccao/javet/interop/IV8Creatable.html | 4 +- .../caoccao/javet/interop/IV8Executable.html | 4 +- .../javet/interop/IV8InspectorListener.html | 4 +- .../com/caoccao/javet/interop/IV8Native.html | 296 +++++++++++------- .../caoccao/javet/interop/NodeRuntime.html | 6 +- .../com/caoccao/javet/interop/V8Host.html | 4 +- .../caoccao/javet/interop/V8Inspector.html | 4 +- .../com/caoccao/javet/interop/V8Internal.html | 205 ++++++++---- .../com/caoccao/javet/interop/V8Locker.html | 4 +- .../com/caoccao/javet/interop/V8Notifier.html | 4 +- .../com/caoccao/javet/interop/V8Runtime.html | 256 +++++++++------ .../com/caoccao/javet/interop/V8Scope.html | 4 +- .../caoccao/javet/interop/V8ScriptOrigin.html | 4 +- .../javet/interop/binding/BindingContext.html | 4 +- .../interop/binding/ClassDescriptor.html | 4 +- .../interop/binding/MethodDescriptor.html | 4 +- .../javet/interop/binding/package-frame.html | 2 +- .../interop/binding/package-summary.html | 4 +- .../javet/interop/binding/package-tree.html | 4 +- .../interop/callback/IJavetGCCallback.html | 4 +- .../callback/IJavetPromiseRejectCallback.html | 4 +- .../callback/JavetCallbackContext.html | 4 +- .../interop/callback/JavetGCCallback.html | 4 +- .../callback/JavetPromiseRejectCallback.html | 4 +- .../interop/callback/V8FunctionCallback.html | 4 +- .../javet/interop/callback/package-frame.html | 2 +- .../interop/callback/package-summary.html | 4 +- .../javet/interop/callback/package-tree.html | 4 +- .../converters/BaseJavetConverter.html | 4 +- .../interop/converters/IJavetConverter.html | 4 +- .../converters/JavetBridgeConverter.html | 4 +- .../converters/JavetConverterConfig.html | 4 +- .../converters/JavetObjectConverter.html | 4 +- .../converters/JavetPrimitiveConverter.html | 4 +- .../converters/JavetProxyConverter.html | 4 +- .../interop/converters/package-frame.html | 2 +- .../interop/converters/package-summary.html | 4 +- .../interop/converters/package-tree.html | 4 +- .../javet/interop/engine/IJavetEngine.html | 4 +- .../interop/engine/IJavetEngineGuard.html | 4 +- .../interop/engine/IJavetEnginePool.html | 4 +- .../javet/interop/engine/JavetEngine.html | 4 +- .../interop/engine/JavetEngineConfig.html | 4 +- .../interop/engine/JavetEngineGuard.html | 4 +- .../javet/interop/engine/JavetEnginePool.html | 4 +- .../interop/engine/JavetEngineUsage.html | 4 +- .../engine/observers/IV8RuntimeObserver.html | 4 +- ...meObserverAverageCallbackContextCount.html | 4 +- ...8RuntimeObserverAverageReferenceCount.html | 4 +- ...eObserverAverageV8HeapSpaceStatistics.html | 4 +- ...untimeObserverAverageV8HeapStatistics.html | 4 +- ...V8RuntimeObserverAverageV8ModuleCount.html | 4 +- .../engine/observers/package-frame.html | 2 +- .../engine/observers/package-summary.html | 4 +- .../engine/observers/package-tree.html | 4 +- .../javet/interop/engine/package-frame.html | 2 +- .../javet/interop/engine/package-summary.html | 4 +- .../javet/interop/engine/package-tree.html | 4 +- .../interop/executors/BaseV8Executor.html | 131 +------- .../javet/interop/executors/IV8Executor.html | 129 +++++++- .../interop/executors/V8FileExecutor.html | 10 +- .../interop/executors/V8PathExecutor.html | 10 +- .../interop/executors/V8StringExecutor.html | 126 ++++++-- .../interop/executors/package-frame.html | 2 +- .../interop/executors/package-summary.html | 4 +- .../javet/interop/executors/package-tree.html | 4 +- .../loader/IJavetLibLoadingListener.html | 4 +- .../javet/interop/loader/JavetLibLoader.html | 4 +- .../loader/JavetLibLoadingListener.html | 4 +- .../javet/interop/loader/package-frame.html | 2 +- .../javet/interop/loader/package-summary.html | 4 +- .../javet/interop/loader/package-tree.html | 4 +- .../monitoring/V8HeapSpaceStatistics.html | 4 +- .../interop/monitoring/V8HeapStatistics.html | 4 +- .../monitoring/V8SharedMemoryStatistics.html | 4 +- .../interop/monitoring/package-frame.html | 2 +- .../interop/monitoring/package-summary.html | 4 +- .../interop/monitoring/package-tree.html | 4 +- .../interop/options/NodeRuntimeOptions.html | 4 +- .../javet/interop/options/RuntimeOptions.html | 4 +- .../javet/interop/options/V8Flags.html | 4 +- .../interop/options/V8RuntimeOptions.html | 4 +- .../javet/interop/options/package-frame.html | 2 +- .../interop/options/package-summary.html | 4 +- .../javet/interop/options/package-tree.html | 4 +- .../caoccao/javet/interop/package-frame.html | 2 +- .../javet/interop/package-summary.html | 4 +- .../caoccao/javet/interop/package-tree.html | 4 +- .../interop/proxy/BaseJavetProxyHandler.html | 4 +- .../proxy/BaseJavetProxySymbolConverter.html | 4 +- .../proxy/IJavetDynamicObjectFactory.html | 4 +- .../interop/proxy/IJavetProxyHandler.html | 4 +- .../proxy/IJavetProxySymbolConverter.html | 4 +- .../proxy/JavetDynamicProxyClassHandler.html | 4 +- .../proxy/JavetDynamicProxyFactory.html | 4 +- .../JavetDynamicProxyFunctionHandler.html | 4 +- .../proxy/JavetDynamicProxyObjectHandler.html | 4 +- ...ProxyV8ValueFunctionInvocationHandler.html | 4 +- ...icProxyV8ValueObjectInvocationHandler.html | 4 +- .../JavetProxySymbolIterableConverter.html | 4 +- .../JavetProxySymbolToPrimitiveConverter.html | 4 +- .../javet/interop/proxy/package-frame.html | 2 +- .../javet/interop/proxy/package-summary.html | 4 +- .../javet/interop/proxy/package-tree.html | 4 +- .../javet/node/modules/BaseNodeModule.html | 4 +- .../javet/node/modules/INodeModule.html | 4 +- .../javet/node/modules/NodeModuleAny.html | 4 +- .../javet/node/modules/NodeModuleModule.html | 4 +- .../javet/node/modules/NodeModuleProcess.html | 4 +- .../javet/node/modules/package-frame.html | 2 +- .../javet/node/modules/package-summary.html | 4 +- .../javet/node/modules/package-tree.html | 4 +- .../javet/utils/JavetDateTimeUtils.html | 4 +- .../javet/utils/JavetDefaultLogger.html | 4 +- .../com/caoccao/javet/utils/JavetOSUtils.html | 4 +- .../javet/utils/JavetReflectionUtils.html | 4 +- .../javet/utils/JavetResourceUtils.html | 4 +- .../caoccao/javet/utils/JavetStringUtils.html | 4 +- .../caoccao/javet/utils/JavetTypeUtils.html | 4 +- .../javet/utils/JavetVirtualObject.html | 4 +- .../javet/utils/SimpleFreeMarkerFormat.html | 4 +- .../com/caoccao/javet/utils/SimpleMap.html | 4 +- .../javet/utils/ThreadSafeMap.Type.html | 4 +- .../caoccao/javet/utils/ThreadSafeMap.html | 4 +- .../com/caoccao/javet/utils/V8ValueUtils.html | 4 +- .../caoccao/javet/utils/package-frame.html | 2 +- .../caoccao/javet/utils/package-summary.html | 4 +- .../com/caoccao/javet/utils/package-tree.html | 4 +- .../receivers/IJavetCallbackReceiver.html | 4 +- .../receivers/JavetCallbackReceiver.html | 4 +- .../javet/utils/receivers/package-frame.html | 2 +- .../utils/receivers/package-summary.html | 4 +- .../javet/utils/receivers/package-tree.html | 4 +- .../com/caoccao/javet/values/IV8Value.html | 4 +- .../com/caoccao/javet/values/V8Data.html | 4 +- .../com/caoccao/javet/values/V8Value.html | 4 +- .../caoccao/javet/values/package-frame.html | 2 +- .../caoccao/javet/values/package-summary.html | 4 +- .../caoccao/javet/values/package-tree.html | 4 +- .../values/primitive/V8ValueBigInteger.html | 4 +- .../values/primitive/V8ValueBoolean.html | 4 +- .../javet/values/primitive/V8ValueDouble.html | 4 +- .../values/primitive/V8ValueInteger.html | 4 +- .../javet/values/primitive/V8ValueLong.html | 4 +- .../javet/values/primitive/V8ValueNull.html | 4 +- .../values/primitive/V8ValuePrimitive.html | 4 +- .../javet/values/primitive/V8ValueString.html | 4 +- .../values/primitive/V8ValueUndefined.html | 4 +- .../values/primitive/V8ValueUnknown.html | 4 +- .../primitive/V8ValueZonedDateTime.html | 4 +- .../javet/values/primitive/package-frame.html | 2 +- .../values/primitive/package-summary.html | 4 +- .../javet/values/primitive/package-tree.html | 4 +- .../javet/values/reference/IV8Context.html | 4 +- .../javet/values/reference/IV8Module.html | 38 ++- .../javet/values/reference/IV8Script.html | 30 +- .../javet/values/reference/IV8ValueArray.html | 4 +- ...IV8ValueFunction.GetScopeInfosOptions.html | 4 +- .../reference/IV8ValueFunction.ScopeInfo.html | 4 +- .../IV8ValueFunction.ScopeInfos.html | 4 +- .../IV8ValueFunction.ScriptSource.html | 4 +- ...IV8ValueFunction.SetSourceCodeOptions.html | 4 +- .../values/reference/IV8ValueFunction.html | 113 +++++-- .../values/reference/IV8ValueIterator.html | 4 +- .../reference/IV8ValueKeyContainer.html | 4 +- .../javet/values/reference/IV8ValueMap.html | 4 +- .../values/reference/IV8ValueObject.html | 4 +- .../values/reference/IV8ValuePromise.html | 4 +- .../javet/values/reference/IV8ValueProxy.html | 4 +- .../values/reference/IV8ValueReference.html | 4 +- .../javet/values/reference/IV8ValueSet.html | 4 +- .../values/reference/IV8ValueTypedArray.html | 4 +- .../javet/values/reference/V8Context.html | 4 +- .../javet/values/reference/V8Module.html | 44 ++- .../javet/values/reference/V8Script.html | 32 +- .../values/reference/V8ValueArguments.html | 4 +- .../javet/values/reference/V8ValueArray.html | 4 +- .../values/reference/V8ValueArrayBuffer.html | 4 +- .../values/reference/V8ValueDataView.html | 4 +- .../javet/values/reference/V8ValueError.html | 4 +- .../values/reference/V8ValueFunction.html | 108 ++++++- .../values/reference/V8ValueGlobalObject.html | 4 +- .../values/reference/V8ValueIterator.html | 4 +- .../javet/values/reference/V8ValueMap.html | 4 +- .../javet/values/reference/V8ValueObject.html | 4 +- .../values/reference/V8ValuePromise.html | 4 +- .../javet/values/reference/V8ValueProxy.html | 4 +- .../values/reference/V8ValueReference.html | 4 +- .../javet/values/reference/V8ValueRegExp.html | 4 +- .../javet/values/reference/V8ValueSet.html | 4 +- .../reference/V8ValueSharedArrayBuffer.html | 4 +- .../javet/values/reference/V8ValueSymbol.html | 4 +- .../values/reference/V8ValueSymbolObject.html | 4 +- .../values/reference/V8ValueTypedArray.html | 4 +- .../values/reference/V8ValueWeakMap.html | 4 +- .../values/reference/V8ValueWeakSet.html | 4 +- .../reference/builtin/V8ValueBuiltInJson.html | 4 +- .../builtin/V8ValueBuiltInObject.html | 4 +- .../builtin/V8ValueBuiltInPromise.html | 6 +- .../builtin/V8ValueBuiltInSymbol.html | 6 +- .../reference/builtin/package-frame.html | 2 +- .../reference/builtin/package-summary.html | 4 +- .../reference/builtin/package-tree.html | 4 +- .../javet/values/reference/package-frame.html | 2 +- .../values/reference/package-summary.html | 4 +- .../javet/values/reference/package-tree.html | 4 +- .../javet/values/virtual/V8VirtualValue.html | 4 +- .../values/virtual/V8VirtualValueList.html | 4 +- .../javet/values/virtual/package-frame.html | 2 +- .../javet/values/virtual/package-summary.html | 4 +- .../javet/values/virtual/package-tree.html | 4 +- docs/reference/javadoc/constant-values.html | 6 +- docs/reference/javadoc/deprecated-list.html | 4 +- docs/reference/javadoc/help-doc.html | 4 +- docs/reference/javadoc/index-all.html | 100 +++++- docs/reference/javadoc/index.html | 2 +- docs/reference/javadoc/overview-frame.html | 2 +- docs/reference/javadoc/overview-summary.html | 6 +- docs/reference/javadoc/overview-tree.html | 4 +- docs/reference/javadoc/serialized-form.html | 4 +- docs/reference/resource_management/index.html | 6 +- .../resource_management/load_and_unload.html | 6 +- docs/reference/resource_management/lock.html | 6 +- .../memory_management.html | 6 +- .../resource_management/modularization.html | 6 +- .../resource_management/performance.html | 6 +- docs/reference/tips/best_practices.html | 6 +- docs/reference/tips/index.html | 6 +- docs/reference/todo_list.html | 6 +- .../troubleshooting/error_codes.html | 6 +- docs/reference/troubleshooting/index.html | 6 +- docs/reference/troubleshooting/logging.html | 6 +- .../troubleshooting/termination.html | 6 +- docs/reference/v8_values/index.html | 6 +- docs/reference/v8_values/v8_collection.html | 6 +- docs/reference/v8_values/v8_function.html | 6 +- docs/reference/v8_values/v8_promise.html | 6 +- docs/release_notes/index.html | 6 +- docs/release_notes/release_notes_0_7.html | 6 +- docs/release_notes/release_notes_0_8.html | 6 +- docs/release_notes/release_notes_0_9.html | 6 +- docs/release_notes/release_notes_1_0.html | 6 +- docs/release_notes/release_notes_1_1.html | 6 +- docs/release_notes/release_notes_2_0.html | 19 +- docs/release_notes/release_notes_2_0.rst | 11 + docs/search.html | 6 +- docs/searchindex.js | 2 +- docs/tutorial/advanced/index.html | 6 +- .../advanced/interact_with_node_js.html | 6 +- .../advanced/java_and_javascript_interop.html | 6 +- docs/tutorial/advanced/object_converter.html | 6 +- docs/tutorial/basic/engine_pool.html | 6 +- docs/tutorial/basic/hello_javet.html | 6 +- docs/tutorial/basic/index.html | 6 +- docs/tutorial/basic/installation.html | 44 ++- docs/tutorial/basic/installation.rst | 27 +- docs/tutorial/basic/interception.html | 6 +- docs/tutorial/basic/javet_shell.html | 6 +- .../basic/node_js_mode_and_v8_mode.html | 6 +- docs/tutorial/basic/polyfill.html | 6 +- docs/tutorial/basic/spring_integration.html | 6 +- docs/tutorial/index.html | 6 +- docs/tutorial/migration_guides/index.html | 6 +- .../migration_guides/migrate_from_j2v8.html | 6 +- pom.xml | 4 +- scripts/node/javet-rebuild/rebuild.cmd | 2 +- scripts/node/javet-rebuild/rebuild.sh | 2 +- scripts/python/change_javet_version.py | 2 +- scripts/python/change_node_v8_version.py | 4 +- scripts/python/patch_v8_build.py | 77 ++--- .../caoccao/javet/enums/JSRuntimeType.java | 2 +- .../com/caoccao/javet/interop/IV8Native.java | 16 +- .../com/caoccao/javet/interop/V8Internal.java | 20 ++ .../com/caoccao/javet/interop/V8Native.java | 20 +- .../com/caoccao/javet/interop/V8Runtime.java | 122 +++++++- .../interop/executors/BaseV8Executor.java | 19 +- .../javet/interop/executors/IV8Executor.java | 48 ++- .../interop/executors/V8FileExecutor.java | 3 +- .../interop/executors/V8PathExecutor.java | 3 +- .../interop/executors/V8StringExecutor.java | 42 ++- .../javet/interop/loader/JavetLibLoader.java | 2 +- .../javet/values/reference/IV8Module.java | 2 + .../javet/values/reference/IV8Script.java | 2 + .../values/reference/IV8ValueFunction.java | 29 ++ .../javet/values/reference/V8Module.java | 6 + .../javet/values/reference/V8Script.java | 5 + .../values/reference/V8ValueFunction.java | 15 + .../converters/TestJavetProxyConverter.java | 32 ++ .../javet/values/reference/TestV8Module.java | 37 +++ .../javet/values/reference/TestV8Script.java | 23 ++ .../values/reference/TestV8ValueError.java | 28 ++ .../values/reference/TestV8ValueFunction.java | 96 ++++++ 446 files changed, 2938 insertions(+), 1528 deletions(-) diff --git a/.github/workflows/linux_build_artifact.yml b/.github/workflows/linux_build_artifact.yml index 5e9de44ac..1589dc216 100644 --- a/.github/workflows/linux_build_artifact.yml +++ b/.github/workflows/linux_build_artifact.yml @@ -18,8 +18,8 @@ env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_REPO_JAVET: ${{ secrets.DOCKERHUB_REPO_JAVET }} JAVET_NODE_VERSION: 18.12.1 - JAVET_V8_VERSION: 10.8.168.20 - JAVET_VERSION: 2.0.2 + JAVET_V8_VERSION: 10.9.194.9 + JAVET_VERSION: 2.0.3 jobs: javet_linux_x86_64: diff --git a/.github/workflows/linux_build_node_v8_image.yml b/.github/workflows/linux_build_node_v8_image.yml index b8a829192..0cbe6cf6a 100644 --- a/.github/workflows/linux_build_node_v8_image.yml +++ b/.github/workflows/linux_build_node_v8_image.yml @@ -22,8 +22,8 @@ env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_REPO_JAVET: ${{ secrets.DOCKERHUB_REPO_JAVET }} JAVET_NODE_VERSION: 18.12.1 - JAVET_V8_VERSION: 10.8.168.20 - JAVET_VERSION: 2.0.2 + JAVET_V8_VERSION: 10.9.194.9 + JAVET_VERSION: 2.0.3 # if we skip a job using a job level `if` condition, then any dependent jobs also don't run. # we can skip a step of the job, using a step level `if` condition. diff --git a/README.rst b/README.rst index 4cc121b7e..321658ec5 100644 --- a/README.rst +++ b/README.rst @@ -33,7 +33,7 @@ Major Features * Linux (x86_64) + Mac OS (x86_64, arm64) + ️Windows (x86_64) * Android (arm, arm64, x86 and x86_64) -* Node.js ``v18.12.1`` + V8 ``v10.8.168.20`` +* Node.js ``v18.12.1`` + V8 ``v10.9.194.9`` * Dynamic switch between Node.js and V8 mode (`Which mode do you prefer? `_) * Polyfill V8 mode with `Javenode `_ * V8 API exposure in JVM @@ -58,7 +58,7 @@ Maven com.caoccao.javet javet - 2.0.2 + 2.0.3 @@ -73,18 +73,18 @@ Gradle Kotlin DSL .. code-block:: kotlin - implementation("com.caoccao.javet:javet:2.0.2") // Linux and Windows (x86_64) + implementation("com.caoccao.javet:javet:2.0.3") // Linux and Windows (x86_64) implementation("com.caoccao.javet:javet-macos:2.0.2") // Mac OS (x86_64 and arm64) - implementation("com.caoccao.javet:javet-android:2.0.2") // Android (arm, arm64, x86 and x86_64) + implementation("com.caoccao.javet:javet-android:2.0.3") // Android (arm, arm64, x86 and x86_64) Gradle Groovy DSL ^^^^^^^^^^^^^^^^^ .. code-block:: groovy - implementation 'com.caoccao.javet:javet:2.0.2' // Linux and Windows (x86_64) + implementation 'com.caoccao.javet:javet:2.0.3' // Linux and Windows (x86_64) implementation 'com.caoccao.javet:javet-macos:2.0.2' // Mac OS (x86_64 and arm64) - implementation 'com.caoccao.javet:javet-android:2.0.2' // Android (arm, arm64, x86 and x86_64) + implementation 'com.caoccao.javet:javet-android:2.0.3' // Android (arm, arm64, x86 and x86_64) Hello Javet ----------- diff --git a/android/javet-android/build.gradle.kts b/android/javet-android/build.gradle.kts index d0a0ee247..96cf9d92a 100644 --- a/android/javet-android/build.gradle.kts +++ b/android/javet-android/build.gradle.kts @@ -21,7 +21,7 @@ plugins { id("com.android.library") } -version = "2.0.2" +version = "2.0.3" android { compileSdk = 30 diff --git a/android/javet-android/src/main/AndroidManifest.xml b/android/javet-android/src/main/AndroidManifest.xml index 13b18d824..863f32b66 100644 --- a/android/javet-android/src/main/AndroidManifest.xml +++ b/android/javet-android/src/main/AndroidManifest.xml @@ -2,7 +2,7 @@ \ No newline at end of file diff --git a/android/pom.xml b/android/pom.xml index 269cbfd9e..6815db3b5 100644 --- a/android/pom.xml +++ b/android/pom.xml @@ -3,7 +3,7 @@ com.caoccao.javet javet-android - 2.0.2 + 2.0.3 javet aar Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding V8 in Java. @@ -29,7 +29,7 @@ scm:git:git://github.com/caoccao/Javet.git scm:git:git@github.com:caoccao/caoccao.git https://github.com/caoccao/Javet - 2.0.2 + 2.0.3 diff --git a/build.gradle.kts b/build.gradle.kts index bfbaec396..b8988183e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -25,7 +25,7 @@ repositories { } group = "com.caoccao.javet" -version = "2.0.2" +version = "2.0.3" dependencies { testImplementation("org.eclipse.jetty.websocket:websocket-server:9.4.49.v20220914") diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index a1475d4a9..800020241 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -68,7 +68,6 @@ set(importLibraries) set(JAVET_LIB_PREFIX) set(JAVET_LIB_TYPE) set(JAVET_LIB_SYSTEM) -set(CMAKE_CXX_STANDARD 17) set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "limited configs" FORCE) if(DEFINED ENABLE_LOGGING) @@ -77,6 +76,7 @@ endif() # Preparation if(DEFINED V8_DIR) + set(CMAKE_CXX_STANDARD 20) if(CMAKE_SYSTEM_NAME STREQUAL "Android") if(CMAKE_ANDROID_ARCH STREQUAL "arm64") set(V8_RELEASE_DIR ${V8_DIR}/out.gn/arm64.release) @@ -107,6 +107,7 @@ if(DEFINED V8_DIR) set(JAVET_LIB_TYPE "v8") endif() if(DEFINED NODE_DIR) + set(CMAKE_CXX_STANDARD 17) list(APPEND includeDirs ${NODE_DIR}/deps/uv/include ${NODE_DIR}/deps/v8 diff --git a/cpp/build-android.sh b/cpp/build-android.sh index a346c44ff..b0821a523 100755 --- a/cpp/build-android.sh +++ b/cpp/build-android.sh @@ -2,7 +2,7 @@ # Usage for V8: sh build-android.sh -DV8_DIR=${HOME}/v8 -DCMAKE_ANDROID_NDK=${HOME}/android -DCMAKE_ANDROID_ARCH=arm64 # Usage for Node: sh build-android.sh -DNODE_DIR=${HOME}/node -DCMAKE_ANDROID_NDK=${HOME}/android -DCMAKE_ANDROID_ARCH=arm64 -JAVET_VERSION=2.0.2 +JAVET_VERSION=2.0.3 rm -rf build mkdir build cd build diff --git a/cpp/build-linux.sh b/cpp/build-linux.sh index 482923ce6..86307c8fc 100755 --- a/cpp/build-linux.sh +++ b/cpp/build-linux.sh @@ -2,7 +2,7 @@ # Usage for V8: sh build-linux.sh -DV8_DIR=${HOME}/v8 # Usage for Node: sh build-linux.sh -DNODE_DIR=${HOME}/node -JAVET_VERSION=2.0.2 +JAVET_VERSION=2.0.3 rm -rf build mkdir build cd build diff --git a/cpp/build-macos.sh b/cpp/build-macos.sh index f112603fa..e84148bc6 100755 --- a/cpp/build-macos.sh +++ b/cpp/build-macos.sh @@ -2,7 +2,7 @@ # Usage for V8: sh build-macos.sh -DV8_DIR=${HOME}/v8 # Usage for Node: sh build-macos.sh -DNODE_DIR=${HOME}/node -JAVET_VERSION=2.0.2 +JAVET_VERSION=2.0.3 rm -rf build mkdir build cd build diff --git a/cpp/build-windows.cmd b/cpp/build-windows.cmd index 8d8ebefa5..c937fe6e7 100644 --- a/cpp/build-windows.cmd +++ b/cpp/build-windows.cmd @@ -1,7 +1,7 @@ @echo off REM Usage for V8: build -DV8_DIR=C:\v8 REM Usage for Node: build -DNODE_DIR=C:\node -SET JAVET_VERSION=2.0.2 +SET JAVET_VERSION=2.0.3 rd /s/q build mkdir build cd build diff --git a/cpp/jni/com_caoccao_javet_interop_V8Native.cpp b/cpp/jni/com_caoccao_javet_interop_V8Native.cpp index 22b1929ef..02a59308a 100644 --- a/cpp/jni/com_caoccao_javet_interop_V8Native.cpp +++ b/cpp/jni/com_caoccao_javet_interop_V8Native.cpp @@ -74,6 +74,7 @@ namespace Javet { #endif static jclass jclassByteBuffer; + static jclass jclassString; static jclass jclassV8Host; static jmethodID jmethodIDV8HostIsLibraryReloadable; @@ -111,6 +112,7 @@ namespace Javet { */ void Initialize(JNIEnv* jniEnv) { jclassByteBuffer = (jclass)jniEnv->NewGlobalRef(jniEnv->FindClass("java/nio/ByteBuffer")); + jclassString = (jclass)jniEnv->NewGlobalRef(jniEnv->FindClass("java/lang/String")); jclassV8Host = (jclass)jniEnv->NewGlobalRef(jniEnv->FindClass("com/caoccao/javet/interop/V8Host")); jmethodIDV8HostIsLibraryReloadable = jniEnv->GetStaticMethodID(jclassV8Host, "isLibraryReloadable", "()Z"); @@ -288,7 +290,7 @@ JNIEXPORT void JNICALL Java_com_caoccao_javet_interop_V8Native_closeV8Runtime } JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_compile -(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jstring mScript, jboolean mResultRequired, +(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jstring mScript, jbyteArray mCachedData, jboolean mResultRequired, jstring mResourceName, jint mResourceLineOffset, jint mResourceColumnOffset, jint mScriptId, jboolean mIsWASM, jboolean mIsModule) { RUNTIME_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle); V8TryCatch v8TryCatch(v8Context->GetIsolate()); @@ -296,29 +298,102 @@ JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_compile auto scriptOriginPointer = Javet::Converter::ToV8ScriptOringinPointer( jniEnv, v8Context, mResourceName, mResourceLineOffset, mResourceColumnOffset, mScriptId, mIsWASM, mIsModule); if (mIsModule) { - V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); - auto v8MaybeLocalCompiledModule = v8::ScriptCompiler::CompileModule(v8Context->GetIsolate(), &scriptSource); + v8::MaybeLocal v8MaybeLocalCompiledModule; + if (mCachedData) { + V8ScriptCompilerSource scriptSource( + umScript, *scriptOriginPointer.get(), Javet::Converter::ToCachedDataPointer(jniEnv, mCachedData)); + v8MaybeLocalCompiledModule = v8::ScriptCompiler::CompileModule( + v8Context->GetIsolate(), &scriptSource, v8::ScriptCompiler::kConsumeCodeCache); + LOG_DEBUG("Module cache is " << (scriptSource.GetCachedData()->rejected ? "rejected" : "accepted") << "."); + } + else { + V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); + v8MaybeLocalCompiledModule = v8::ScriptCompiler::CompileModule(v8Context->GetIsolate(), &scriptSource); + } if (v8TryCatch.HasCaught()) { return Javet::Exceptions::ThrowJavetCompilationException(jniEnv, v8Runtime, v8Context, v8TryCatch); } else if (mResultRequired && !v8MaybeLocalCompiledModule.IsEmpty()) { - jobject externalV8Module = Javet::Converter::ToExternalV8Module( + return Javet::Converter::ToExternalV8Module( jniEnv, v8Runtime->externalV8Runtime, v8Context, v8MaybeLocalCompiledModule.ToLocalChecked()); - return externalV8Module; } } else { - auto v8MaybeLocalCompiledScript = v8::Script::Compile(v8Context, umScript, scriptOriginPointer.get()); + v8::MaybeLocal v8MaybeLocalScript; + if (mCachedData) { + V8ScriptCompilerSource scriptSource( + umScript, *scriptOriginPointer.get(), Javet::Converter::ToCachedDataPointer(jniEnv, mCachedData)); + auto v8InternalIsolate = reinterpret_cast(v8Context->GetIsolate()); + V8InternalDisallowCompilation v8InternalDisallowCompilation(v8InternalIsolate); + v8MaybeLocalScript = v8::ScriptCompiler::Compile(v8Context, &scriptSource, v8::ScriptCompiler::kConsumeCodeCache); + LOG_DEBUG("Script cache is " << (scriptSource.GetCachedData()->rejected ? "rejected" : "accepted") << "."); + } + else { + V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); + v8MaybeLocalScript = v8::ScriptCompiler::Compile(v8Context, &scriptSource); + } if (v8TryCatch.HasCaught()) { return Javet::Exceptions::ThrowJavetCompilationException(jniEnv, v8Runtime, v8Context, v8TryCatch); } - else if (mResultRequired && !v8MaybeLocalCompiledScript.IsEmpty()) { - jobject externalV8Script = Javet::Converter::ToExternalV8Script( - jniEnv, v8Runtime->externalV8Runtime, v8Context, v8MaybeLocalCompiledScript.ToLocalChecked()); - return externalV8Script; + else if (mResultRequired && !v8MaybeLocalScript.IsEmpty()) { + return Javet::Converter::ToExternalV8Script( + jniEnv, v8Runtime->externalV8Runtime, v8Context, v8MaybeLocalScript.ToLocalChecked()); } } - return Javet::Converter::ToExternalV8ValueUndefined(jniEnv, v8Runtime); + return nullptr; +} + +JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_compileFunction +(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jstring mScript, jbyteArray mCachedData, + jstring mResourceName, jint mResourceLineOffset, jint mResourceColumnOffset, jint mScriptId, jboolean mIsWASM, + jobjectArray mArguments, jobjectArray mContextExtensions) { + RUNTIME_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle); + V8TryCatch v8TryCatch(v8Context->GetIsolate()); + auto umScript = Javet::Converter::ToV8String(jniEnv, v8Context, mScript); + jboolean isModule = false; + auto scriptOriginPointer = Javet::Converter::ToV8ScriptOringinPointer( + jniEnv, v8Context, mResourceName, mResourceLineOffset, mResourceColumnOffset, mScriptId, mIsWASM, isModule); + size_t argumentCount = 0; + size_t contextExtensionCount = 0; + std::unique_ptr argumentsPointer; + std::unique_ptr contextExtensionsPointer; + if (mArguments != nullptr) { + argumentCount = jniEnv->GetArrayLength(mArguments); + if (argumentCount > 0) { + argumentsPointer = Javet::Converter::ToV8Strings(jniEnv, v8Context, mArguments); + } + } + if (mContextExtensions != nullptr) { + contextExtensionCount = jniEnv->GetArrayLength(mContextExtensions); + if (contextExtensionCount > 0) { + contextExtensionsPointer = Javet::Converter::ToV8Objects(jniEnv, v8Context, mContextExtensions); + } + } + v8::MaybeLocal v8MaybeLocalFunction; + if (mCachedData) { + V8ScriptCompilerSource scriptSource( + umScript, *scriptOriginPointer.get(), Javet::Converter::ToCachedDataPointer(jniEnv, mCachedData)); + v8MaybeLocalFunction = v8::ScriptCompiler::CompileFunction( + v8Context, &scriptSource, + argumentCount, argumentsPointer.get(), + contextExtensionCount, contextExtensionsPointer.get(), + v8::ScriptCompiler::kConsumeCodeCache); + LOG_DEBUG("Function cache is " << (scriptSource.GetCachedData()->rejected ? "rejected" : "accepted") << "."); + } + else { + V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); + v8MaybeLocalFunction = v8::ScriptCompiler::CompileFunction( + v8Context, &scriptSource, + argumentCount, argumentsPointer.get(), + contextExtensionCount, contextExtensionsPointer.get()); + } + if (v8TryCatch.HasCaught()) { + return Javet::Exceptions::ThrowJavetCompilationException(jniEnv, v8Runtime, v8Context, v8TryCatch); + } + else if (!v8MaybeLocalFunction.IsEmpty()) { + return v8Runtime->SafeToExternalV8Value(jniEnv, v8Context, v8MaybeLocalFunction.ToLocalChecked()); + } + return nullptr; } JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_contextGet @@ -556,7 +631,7 @@ JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_equals } JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_execute -(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jstring mScript, jboolean mResultRequired, +(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jstring mScript, jbyteArray mCachedData, jboolean mResultRequired, jstring mResourceName, jint mResourceLineOffset, jint mResourceColumnOffset, jint mScriptId, jboolean mIsWASM, jboolean mIsModule) { RUNTIME_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle); V8TryCatch v8TryCatch(v8Context->GetIsolate()); @@ -564,8 +639,18 @@ JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_execute auto scriptOriginPointer = Javet::Converter::ToV8ScriptOringinPointer( jniEnv, v8Context, mResourceName, mResourceLineOffset, mResourceColumnOffset, mScriptId, mIsWASM, mIsModule); if (mIsModule) { - V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); - auto v8MaybeLocalCompiledModule = v8::ScriptCompiler::CompileModule(v8Context->GetIsolate(), &scriptSource); + v8::MaybeLocal v8MaybeLocalCompiledModule; + if (mCachedData) { + V8ScriptCompilerSource scriptSource( + umScript, *scriptOriginPointer.get(), Javet::Converter::ToCachedDataPointer(jniEnv, mCachedData)); + v8MaybeLocalCompiledModule = v8::ScriptCompiler::CompileModule( + v8Context->GetIsolate(), &scriptSource, v8::ScriptCompiler::kConsumeCodeCache); + LOG_DEBUG("Module cache is " << (scriptSource.GetCachedData()->rejected ? "rejected" : "accepted") << "."); + } + else { + V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); + v8MaybeLocalCompiledModule = v8::ScriptCompiler::CompileModule(v8Context->GetIsolate(), &scriptSource); + } if (v8TryCatch.HasCaught()) { return Javet::Exceptions::ThrowJavetCompilationException(jniEnv, v8Runtime, v8Context, v8TryCatch); } @@ -588,12 +673,24 @@ JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_execute } } else { - auto v8MaybeLocalCompiledScript = v8::Script::Compile(v8Context, umScript, scriptOriginPointer.get()); + v8::MaybeLocal v8MaybeLocalScript; + if (mCachedData) { + V8ScriptCompilerSource scriptSource( + umScript, *scriptOriginPointer.get(), Javet::Converter::ToCachedDataPointer(jniEnv, mCachedData)); + auto v8InternalIsolate = reinterpret_cast(v8Context->GetIsolate()); + V8InternalDisallowCompilation v8InternalDisallowCompilation(v8InternalIsolate); + v8MaybeLocalScript = v8::ScriptCompiler::Compile(v8Context, &scriptSource, v8::ScriptCompiler::kConsumeCodeCache); + LOG_DEBUG("Script cache is " << (scriptSource.GetCachedData()->rejected ? "rejected" : "accepted") << "."); + } + else { + V8ScriptCompilerSource scriptSource(umScript, *scriptOriginPointer.get()); + v8MaybeLocalScript = v8::ScriptCompiler::Compile(v8Context, &scriptSource); + } if (v8TryCatch.HasCaught()) { return Javet::Exceptions::ThrowJavetCompilationException(jniEnv, v8Runtime, v8Context, v8TryCatch); } - else if (!v8MaybeLocalCompiledScript.IsEmpty()) { - auto compliedScript = v8MaybeLocalCompiledScript.ToLocalChecked(); + else if (!v8MaybeLocalScript.IsEmpty()) { + auto compliedScript = v8MaybeLocalScript.ToLocalChecked(); auto v8MaybeLocalValueResult = compliedScript->Run(v8Context); if (v8TryCatch.HasCaught()) { return Javet::Exceptions::ThrowJavetExecutionException(jniEnv, v8Runtime, v8Context, v8TryCatch); @@ -670,6 +767,32 @@ JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionDisca return false; } +JNIEXPORT jobjectArray JNICALL Java_com_caoccao_javet_interop_V8Native_functionGetArguments +(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jlong v8ValueHandle, jint v8ValueType) { + RUNTIME_AND_VALUE_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); + if (IS_V8_FUNCTION(v8ValueType)) { + auto v8InternalFunction = Javet::Converter::ToV8InternalJSFunction(v8LocalValue); + auto v8InternalShared = v8InternalFunction.shared(); + if (IS_USER_DEFINED_FUNCTION(v8InternalShared) && v8InternalShared.is_wrapped()) { + auto v8InternalIsolate = reinterpret_cast(v8Context->GetIsolate()); + auto v8InternalScript = V8InternalScript::cast(v8InternalShared.script()); + auto wrappedArguments = v8InternalScript.wrapped_arguments(); + auto length = wrappedArguments.length(); + if (length > 0) { + jobjectArray arguments = jniEnv->NewObjectArray(length, Javet::V8Native::jclassString, nullptr); + for (int i = 0; i < length; ++i) { + auto v8InternalObjectHandle = v8::internal::Handle(wrappedArguments.get(i), v8InternalIsolate); + auto v8LocalString = v8::Utils::ToLocal(v8InternalObjectHandle).As(); + jstring argument = Javet::Converter::ToJavaString(jniEnv, v8Context, v8LocalString); + jniEnv->SetObjectArrayElement(arguments, i, argument); + } + return arguments; + } + } + } + return nullptr; +} + JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_functionGetContext (JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jlong v8ValueHandle, jint v8ValueType) { RUNTIME_AND_VALUE_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); @@ -779,6 +902,19 @@ JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionIsCom return false; } +JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionIsWrapped +(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jlong v8ValueHandle, jint v8ValueType) { + RUNTIME_AND_VALUE_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); + if (IS_V8_FUNCTION(v8ValueType)) { + auto v8InternalFunction = Javet::Converter::ToV8InternalJSFunction(v8LocalValue); + auto v8InternalShared = v8InternalFunction.shared(); + if (IS_USER_DEFINED_FUNCTION(v8InternalShared)) { + return v8InternalShared.is_wrapped(); + } + } + return false; +} + JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionSetContext (JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jlong v8ValueHandle, jint v8ValueType, jobject mV8ContextValue) { RUNTIME_AND_VALUE_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); @@ -1013,6 +1149,51 @@ JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_get return Javet::Converter::ToExternalV8ValueUndefined(jniEnv, v8Runtime); } +JNIEXPORT jbyteArray JNICALL Java_com_caoccao_javet_interop_V8Native_getCachedData +(JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle, jlong v8ValueHandle, jint v8ValueType) { + std::unique_ptr cachedDataPointer; + if (IS_V8_SCRIPT(v8ValueType)) { + RUNTIME_AND_SCRIPT_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); + if (!v8LocalScript.IsEmpty()) { + V8TryCatch v8TryCatch(v8Context->GetIsolate()); + cachedDataPointer.reset(v8::ScriptCompiler::CreateCodeCache(v8LocalScript->GetUnboundScript())); + if (v8TryCatch.HasCaught()) { + Javet::Exceptions::ThrowJavetExecutionException(jniEnv, v8Runtime, v8Context, v8TryCatch); + return nullptr; + } + } + } + else if (IS_V8_FUNCTION(v8ValueType)) { + RUNTIME_AND_VALUE_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); + auto v8InternalFunction = Javet::Converter::ToV8InternalJSFunction(v8LocalValue); + auto v8InternalShared = v8InternalFunction.shared(); + if (IS_USER_DEFINED_FUNCTION(v8InternalShared)) { + auto v8InternalScript = V8InternalScript::cast(v8InternalShared.script()); + if (v8InternalScript.is_wrapped()) { + V8TryCatch v8TryCatch(v8Context->GetIsolate()); + cachedDataPointer.reset(v8::ScriptCompiler::CreateCodeCacheForFunction(v8LocalValue.As())); + if (v8TryCatch.HasCaught()) { + Javet::Exceptions::ThrowJavetExecutionException(jniEnv, v8Runtime, v8Context, v8TryCatch); + return nullptr; + } + } + } + } + else if (IS_V8_MODULE(v8ValueType)) { + RUNTIME_AND_MODULE_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle, v8ValueHandle); + V8TryCatch v8TryCatch(v8Context->GetIsolate()); + cachedDataPointer.reset(v8::ScriptCompiler::CreateCodeCache(v8LocalModule->GetUnboundModuleScript())); + if (v8TryCatch.HasCaught()) { + Javet::Exceptions::ThrowJavetExecutionException(jniEnv, v8Runtime, v8Context, v8TryCatch); + return nullptr; + } + } + if (cachedDataPointer) { + return Javet::Converter::ToJavaByteArray(jniEnv, cachedDataPointer.get()); + } + return nullptr; +} + JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_getGlobalObject (JNIEnv* jniEnv, jobject caller, jlong v8RuntimeHandle) { RUNTIME_HANDLES_TO_OBJECTS_WITH_SCOPE(v8RuntimeHandle); diff --git a/cpp/jni/com_caoccao_javet_interop_V8Native.h b/cpp/jni/com_caoccao_javet_interop_V8Native.h index f5e08a528..258dbe793 100644 --- a/cpp/jni/com_caoccao_javet_interop_V8Native.h +++ b/cpp/jni/com_caoccao_javet_interop_V8Native.h @@ -82,10 +82,18 @@ JNIEXPORT void JNICALL Java_com_caoccao_javet_interop_V8Native_closeV8Runtime /* * Class: com_caoccao_javet_interop_V8Native * Method: compile - * Signature: (JLjava/lang/String;ZLjava/lang/String;IIIZZ)Ljava/lang/Object; + * Signature: (JLjava/lang/String;[BZLjava/lang/String;IIIZZ)Ljava/lang/Object; */ JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_compile - (JNIEnv *, jobject, jlong, jstring, jboolean, jstring, jint, jint, jint, jboolean, jboolean); + (JNIEnv *, jobject, jlong, jstring, jbyteArray, jboolean, jstring, jint, jint, jint, jboolean, jboolean); + +/* + * Class: com_caoccao_javet_interop_V8Native + * Method: compileFunction + * Signature: (JLjava/lang/String;[BLjava/lang/String;IIIZ[Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; + */ +JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_compileFunction + (JNIEnv *, jobject, jlong, jstring, jbyteArray, jstring, jint, jint, jint, jboolean, jobjectArray, jobjectArray); /* * Class: com_caoccao_javet_interop_V8Native @@ -170,10 +178,10 @@ JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_equals /* * Class: com_caoccao_javet_interop_V8Native * Method: execute - * Signature: (JLjava/lang/String;ZLjava/lang/String;IIIZZ)Ljava/lang/Object; + * Signature: (JLjava/lang/String;[BZLjava/lang/String;IIIZZ)Ljava/lang/Object; */ JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_execute - (JNIEnv *, jobject, jlong, jstring, jboolean, jstring, jint, jint, jint, jboolean, jboolean); + (JNIEnv *, jobject, jlong, jstring, jbyteArray, jboolean, jstring, jint, jint, jint, jboolean, jboolean); /* * Class: com_caoccao_javet_interop_V8Native @@ -199,6 +207,14 @@ JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionCopyS JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionDiscardCompiled (JNIEnv *, jobject, jlong, jlong, jint); +/* + * Class: com_caoccao_javet_interop_V8Native + * Method: functionGetArguments + * Signature: (JJI)[Ljava/lang/String; + */ +JNIEXPORT jobjectArray JNICALL Java_com_caoccao_javet_interop_V8Native_functionGetArguments + (JNIEnv *, jobject, jlong, jlong, jint); + /* * Class: com_caoccao_javet_interop_V8Native * Method: functionGetContext @@ -239,6 +255,14 @@ JNIEXPORT jstring JNICALL Java_com_caoccao_javet_interop_V8Native_functionGetSou JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionIsCompiled (JNIEnv *, jobject, jlong, jlong, jint); +/* + * Class: com_caoccao_javet_interop_V8Native + * Method: functionIsWrapped + * Signature: (JJI)Z + */ +JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionIsWrapped + (JNIEnv *, jobject, jlong, jlong, jint); + /* * Class: com_caoccao_javet_interop_V8Native * Method: functionSetContext @@ -271,6 +295,14 @@ JNIEXPORT jboolean JNICALL Java_com_caoccao_javet_interop_V8Native_functionSetSo JNIEXPORT jobject JNICALL Java_com_caoccao_javet_interop_V8Native_get (JNIEnv *, jobject, jlong, jlong, jint, jobject); +/* + * Class: com_caoccao_javet_interop_V8Native + * Method: getCachedData + * Signature: (JJI)[B + */ +JNIEXPORT jbyteArray JNICALL Java_com_caoccao_javet_interop_V8Native_getCachedData + (JNIEnv *, jobject, jlong, jlong, jint); + /* * Class: com_caoccao_javet_interop_V8Native * Method: getGlobalObject diff --git a/cpp/jni/javet_converter.cpp b/cpp/jni/javet_converter.cpp index a161651bc..d647588f9 100644 --- a/cpp/jni/javet_converter.cpp +++ b/cpp/jni/javet_converter.cpp @@ -208,6 +208,25 @@ namespace Javet { jmethodIDJavetScriptingErrorConstructor = jniEnv->GetMethodID(jclassJavetScriptingError, "", "(Lcom/caoccao/javet/values/V8Value;Ljava/lang/String;Ljava/lang/String;IIIII)V"); } + V8ScriptCompilerCachedData* ToCachedDataPointer(JNIEnv* jniEnv, jbyteArray mCachedArray) { + jsize length = jniEnv->GetArrayLength(mCachedArray); + uint8_t* bytes = new uint8_t[length]; + jboolean isCopy; + jbyte* bytePointer = jniEnv->GetByteArrayElements(mCachedArray, &isCopy); + memcpy(bytes, bytePointer, length); + jniEnv->ReleaseByteArrayElements(mCachedArray, bytePointer, JNI_ABORT); + return new V8ScriptCompilerCachedData(bytes, length, V8ScriptCompilerCachedDataBufferPolicy::BufferOwned); + } + + jbyteArray ToJavaByteArray(JNIEnv* jniEnv, V8ScriptCompilerCachedData* cachedDataPointer) { + jbyteArray byteArray = jniEnv->NewByteArray((jsize)cachedDataPointer->length); + jboolean isCopy; + jbyte* bytePointer = jniEnv->GetByteArrayElements(byteArray, &isCopy); + memcpy(bytePointer, cachedDataPointer->data, cachedDataPointer->length); + jniEnv->ReleaseByteArrayElements(byteArray, bytePointer, JNI_COMMIT); + return byteArray; + } + jobject ToExternalV8ValueArray( JNIEnv* jniEnv, V8Runtime* v8Runtime, const V8LocalContext& v8Context, const v8::FunctionCallbackInfo& args) { @@ -670,7 +689,7 @@ namespace Javet { return ToV8Long(v8Context, longObject); } else if (IS_JAVA_ZONED_DATE_TIME(jniEnv, obj)) { - jlong longObject = (jlong)jniEnv->CallObjectMethod(obj, jmethodIDV8ValueZonedDateTimeToPrimitive); + jlong longObject = (jlong)jniEnv->CallLongMethod(obj, jmethodIDV8ValueZonedDateTimeToPrimitive); return ToV8Date(v8Context, longObject); } else if (IS_JAVA_BIG_INTEGER(jniEnv, obj)) { @@ -730,12 +749,40 @@ namespace Javet { return ToV8Undefined(v8Context); } + std::unique_ptr ToV8Objects(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobjectArray& mObjects) { + std::unique_ptr umObjectsPointer; + uint32_t count = mObjects == nullptr ? 0 : jniEnv->GetArrayLength(mObjects); + if (count > 0) { + umObjectsPointer.reset(new V8LocalObject[count]); + for (uint32_t i = 0; i < count; ++i) { + jobject element = jniEnv->GetObjectArrayElement(mObjects, i); + umObjectsPointer.get()[i] = ToV8Value(jniEnv, v8Context, element).As(); + DELETE_LOCAL_REF(jniEnv, element); + } + } + return umObjectsPointer; + } + + std::unique_ptr ToV8Strings(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobjectArray& mStrings) { + std::unique_ptr umStringsPointer; + uint32_t count = mStrings == nullptr ? 0 : jniEnv->GetArrayLength(mStrings); + if (count > 0) { + umStringsPointer.reset(new V8LocalString[count]); + for (uint32_t i = 0; i < count; ++i) { + jstring element = (jstring) jniEnv->GetObjectArrayElement(mStrings, i); + umStringsPointer.get()[i] = ToV8String(jniEnv, v8Context, element); + DELETE_LOCAL_REF(jniEnv, element); + } + } + return umStringsPointer; + } + std::unique_ptr ToV8Values(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobjectArray& mValues) { std::unique_ptr umValuesPointer; - uint32_t valueCount = mValues == nullptr ? 0 : jniEnv->GetArrayLength(mValues); - if (valueCount > 0) { - umValuesPointer.reset(new V8LocalValue[valueCount]); - for (uint32_t i = 0; i < valueCount; ++i) { + uint32_t count = mValues == nullptr ? 0 : jniEnv->GetArrayLength(mValues); + if (count > 0) { + umValuesPointer.reset(new V8LocalValue[count]); + for (uint32_t i = 0; i < count; ++i) { jobject element = jniEnv->GetObjectArrayElement(mValues, i); umValuesPointer.get()[i] = ToV8Value(jniEnv, v8Context, element); DELETE_LOCAL_REF(jniEnv, element); diff --git a/cpp/jni/javet_converter.h b/cpp/jni/javet_converter.h index c3b8bd61b..2657f5b88 100644 --- a/cpp/jni/javet_converter.h +++ b/cpp/jni/javet_converter.h @@ -38,7 +38,7 @@ namespace Javet { static jmethodID jmethodIDV8RuntimeCreateV8ValueNull; static jmethodID jmethodIDV8RuntimeCreateV8ValueUndefined; static jmethodID jmethodIDV8RuntimeCreateV8ValueZonedDateTime; - + // Primitive static jclass jclassV8ValueBigInteger; @@ -175,6 +175,10 @@ namespace Javet { void Initialize(JNIEnv* jniEnv); + V8ScriptCompilerCachedData* ToCachedDataPointer(JNIEnv* jniEnv, jbyteArray mCachedArray); + + jbyteArray ToJavaByteArray(JNIEnv* jniEnv, V8ScriptCompilerCachedData* cachedDataPointer); + static inline jstring ToJavaString(JNIEnv* jniEnv, const char* utfString) { return jniEnv->NewStringUTF(utfString); } @@ -289,10 +293,18 @@ namespace Javet { std::unique_ptr ToV8ScriptOringinPointer(JNIEnv* jniEnv, const V8LocalContext& v8Context, jstring& mResourceName, jint& mResourceLineOffset, jint& mResourceColumnOffset, jint& mScriptId, jboolean& mIsWASM, jboolean& mIsModule); + static inline V8LocalString ToV8String(const V8LocalContext& v8Context, const char* str) { + return v8::String::NewFromUtf8(v8Context->GetIsolate(), str).ToLocalChecked(); + } + V8LocalString ToV8String(JNIEnv* jniEnv, const V8LocalContext& v8Context, jstring& mString); V8LocalValue ToV8Value(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobject& obj); + std::unique_ptr ToV8Objects(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobjectArray& mObjects); + + std::unique_ptr ToV8Strings(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobjectArray& mStrings); + std::unique_ptr ToV8Values(JNIEnv* jniEnv, const V8LocalContext& v8Context, jobjectArray& mValues); static inline V8InternalContext ToV8InternalContext(const V8LocalContext& v8LocalContext) { diff --git a/cpp/jni/javet_exceptions.cpp b/cpp/jni/javet_exceptions.cpp index 5679731d6..e39422bf4 100644 --- a/cpp/jni/javet_exceptions.cpp +++ b/cpp/jni/javet_exceptions.cpp @@ -204,7 +204,7 @@ namespace Javet { } V8LocalString v8ErrorMessage; if (externalErrorMessage == nullptr) { - v8ErrorMessage = v8::String::NewFromUtf8(v8Isolate, defaultMessage).ToLocalChecked(); + v8ErrorMessage = Javet::Converter::ToV8String(v8Context, defaultMessage); } else { v8ErrorMessage = Javet::Converter::ToV8String(jniEnv, v8Context, externalErrorMessage); diff --git a/cpp/jni/javet_resource_node.rc b/cpp/jni/javet_resource_node.rc index 23e5257a3..56709dd6b 100644 --- a/cpp/jni/javet_resource_node.rc +++ b/cpp/jni/javet_resource_node.rc @@ -61,8 +61,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,0,2,0 - PRODUCTVERSION 2,0,2,0 + FILEVERSION 2,0,3,0 + PRODUCTVERSION 2,0,3,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -79,12 +79,12 @@ BEGIN BEGIN VALUE "CompanyName", "caoccao.com" VALUE "FileDescription", "caoccao.com" - VALUE "FileVersion", "2.0.2.0" - VALUE "InternalName", "libjavet-node-windows-x86_64.v.2.0.2.dll" + VALUE "FileVersion", "2.0.3.0" + VALUE "InternalName", "libjavet-node-windows-x86_64.v.2.0.3.dll" VALUE "LegalCopyright", "Copyright (C) 2021" - VALUE "OriginalFilename", "libjavet-node-windows-x86_64.v.2.0.2.dll" + VALUE "OriginalFilename", "libjavet-node-windows-x86_64.v.2.0.3.dll" VALUE "ProductName", "Javet Windows" - VALUE "ProductVersion", "2.0.2.0" + VALUE "ProductVersion", "2.0.3.0" END END BLOCK "VarFileInfo" diff --git a/cpp/jni/javet_resource_v8.rc b/cpp/jni/javet_resource_v8.rc index 93007397b..2225bb94e 100644 --- a/cpp/jni/javet_resource_v8.rc +++ b/cpp/jni/javet_resource_v8.rc @@ -61,8 +61,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,0,2,0 - PRODUCTVERSION 2,0,2,0 + FILEVERSION 2,0,3,0 + PRODUCTVERSION 2,0,3,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -79,12 +79,12 @@ BEGIN BEGIN VALUE "CompanyName", "caoccao.com" VALUE "FileDescription", "caoccao.com" - VALUE "FileVersion", "2.0.2.0" - VALUE "InternalName", "libjavet-v8-windows-x86_64.v.2.0.2.dll" + VALUE "FileVersion", "2.0.3.0" + VALUE "InternalName", "libjavet-v8-windows-x86_64.v.2.0.3.dll" VALUE "LegalCopyright", "Copyright (C) 2021" - VALUE "OriginalFilename", "libjavet-v8-windows-x86_64.v.2.0.2.dll" + VALUE "OriginalFilename", "libjavet-v8-windows-x86_64.v.2.0.3.dll" VALUE "ProductName", "Javet Windows" - VALUE "ProductVersion", "2.0.2.0" + VALUE "ProductVersion", "2.0.3.0" END END BLOCK "VarFileInfo" diff --git a/cpp/jni/javet_v8.h b/cpp/jni/javet_v8.h index 79b53f96c..349c484dd 100644 --- a/cpp/jni/javet_v8.h +++ b/cpp/jni/javet_v8.h @@ -100,6 +100,8 @@ using V8Platform = v8::Platform; using V8StringUtf8Value = v8::String::Utf8Value; using V8StringValue = v8::String::Value; using V8TryCatch = v8::TryCatch; +using V8ScriptCompilerCachedData = v8::ScriptCompiler::CachedData; +using V8ScriptCompilerCachedDataBufferPolicy = v8::ScriptCompiler::CachedData::BufferPolicy; using V8ScriptCompilerSource = v8::ScriptCompiler::Source; // To Java diff --git a/cpp/jni/javet_v8_internal.h b/cpp/jni/javet_v8_internal.h index 62aab4900..baf45cb2a 100644 --- a/cpp/jni/javet_v8_internal.h +++ b/cpp/jni/javet_v8_internal.h @@ -58,6 +58,7 @@ using V8InternalAllowNullsFlag = v8::internal::AllowNullsFlag; using V8internalBlockingBehavior = v8::internal::BlockingBehavior; using V8InternalBuiltin = v8::internal::Builtin; using V8InternalContext = v8::internal::Context; +using V8InternalDisallowCompilation = v8::internal::DisallowCompilation; using V8InternalDisallowGarbageCollection = v8::internal::DisallowGarbageCollection; using V8InternalFlagList = v8::internal::FlagList; using V8InternalHeapObject = v8::internal::HeapObject; diff --git a/docker/android/base.Dockerfile b/docker/android/base.Dockerfile index 585aa59c4..9af386fc2 100644 --- a/docker/android/base.Dockerfile +++ b/docker/android/base.Dockerfile @@ -13,9 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Usage: docker build -t sjtucaocao/javet-android:2.0.2 -f docker/android/base.Dockerfile . +# Usage: docker build -t sjtucaocao/javet-android:2.0.3 -f docker/android/base.Dockerfile . -ARG JAVET_V8_VERSION=10.8.168.20 +ARG JAVET_V8_VERSION=10.9.194.9 FROM ubuntu:20.04 WORKDIR / @@ -29,13 +29,13 @@ RUN apt-get upgrade -y RUN pip3 install coloredlogs # Install CMake -RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.sh -RUN chmod 755 cmake-3.21.4-linux-x86_64.sh +RUN wget https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-linux-x86_64.sh +RUN chmod 755 cmake-3.25.1-linux-x86_64.sh RUN mkdir -p /usr/lib/cmake -RUN ./cmake-3.21.4-linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/lib/cmake +RUN ./cmake-3.25.1-linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/lib/cmake RUN ln -sf /usr/lib/cmake/bin/cmake /usr/bin/cmake RUN ln -sf /usr/lib/cmake/bin/cmake /bin/cmake -RUN rm cmake-3.21.4-linux-x86_64.sh +RUN rm cmake-3.25.1-linux-x86_64.sh # Prepare V8 RUN mkdir google @@ -58,9 +58,9 @@ RUN echo V8 preparation is completed. # Prepare Android NDK WORKDIR / -RUN wget https://dl.google.com/android/repository/android-ndk-r23b-linux.zip -RUN unzip android-ndk-r23b-linux.zip -RUN rm android-ndk-r23b-linux.zip +RUN wget https://dl.google.com/android/repository/android-ndk-r25b-linux.zip +RUN unzip android-ndk-r25b-linux.zip +RUN rm android-ndk-r25b-linux.zip # Prepare Android SDK WORKDIR /google/v8/third_party/android_sdk/public/cmdline-tools/latest/bin diff --git a/docker/android/build.Dockerfile b/docker/android/build.Dockerfile index 2f3eec682..eb90ff44a 100644 --- a/docker/android/build.Dockerfile +++ b/docker/android/build.Dockerfile @@ -15,7 +15,7 @@ # Usage: docker build -t javet-android:local -f docker/android/build.Dockerfile . -FROM sjtucaocao/javet-android:2.0.2 +FROM sjtucaocao/javet-android:2.0.3 WORKDIR / # Copy Javet diff --git a/docker/linux-x86_64/base_all_in_one.Dockerfile b/docker/linux-x86_64/base_all_in_one.Dockerfile index 48ce22944..d68d6324a 100644 --- a/docker/linux-x86_64/base_all_in_one.Dockerfile +++ b/docker/linux-x86_64/base_all_in_one.Dockerfile @@ -13,10 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Usage: docker build -t sjtucaocao/javet:2.0.2 -f docker/linux-x86_64/base_all_in_one.Dockerfile . +# Usage: docker build -t sjtucaocao/javet:2.0.3 -f docker/linux-x86_64/base_all_in_one.Dockerfile . ARG JAVET_NODE_VERSION=18.12.1 -ARG JAVET_V8_VERSION=10.8.168.20 +ARG JAVET_V8_VERSION=10.9.194.9 FROM ubuntu:20.04 WORKDIR / @@ -30,13 +30,13 @@ RUN apt-get upgrade -y RUN pip3 install coloredlogs # Install CMake -RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.sh -RUN chmod 755 cmake-3.21.4-linux-x86_64.sh +RUN wget https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-linux-x86_64.sh +RUN chmod 755 cmake-3.25.1-linux-x86_64.sh RUN mkdir -p /usr/lib/cmake -RUN ./cmake-3.21.4-linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/lib/cmake +RUN ./cmake-3.25.1-linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/lib/cmake RUN ln -sf /usr/lib/cmake/bin/cmake /usr/bin/cmake RUN ln -sf /usr/lib/cmake/bin/cmake /bin/cmake -RUN rm cmake-3.21.4-linux-x86_64.sh +RUN rm cmake-3.25.1-linux-x86_64.sh # Prepare V8 RUN mkdir google diff --git a/docker/linux-x86_64/base_gradle.Dockerfile b/docker/linux-x86_64/base_gradle.Dockerfile index bc4b3b284..e292a6e62 100644 --- a/docker/linux-x86_64/base_gradle.Dockerfile +++ b/docker/linux-x86_64/base_gradle.Dockerfile @@ -14,7 +14,7 @@ # limitations under the License. # Usage: docker build \ -# -t sjtucaocao/javet:x86_64-2.0.2 \ +# -t sjtucaocao/javet:x86_64-2.0.3 \ # --build-arg JAVET_REPO=sjtucaocao/javet \ # -f docker/linux-x86_64/base_gradle.Dockerfile . diff --git a/docker/linux-x86_64/base_jvm.Dockerfile b/docker/linux-x86_64/base_jvm.Dockerfile index 8845f68e5..54170f93b 100644 --- a/docker/linux-x86_64/base_jvm.Dockerfile +++ b/docker/linux-x86_64/base_jvm.Dockerfile @@ -32,13 +32,13 @@ RUN apt-get update --yes \ && apt-get clean --yes # Install CMake -RUN wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4-linux-x86_64.sh \ - && chmod 755 cmake-3.21.4-linux-x86_64.sh \ +RUN wget https://github.com/Kitware/CMake/releases/download/v3.25.1/cmake-3.25.1-linux-x86_64.sh \ + && chmod 755 cmake-3.25.1-linux-x86_64.sh \ && mkdir -p /usr/lib/cmake \ - && ./cmake-3.21.4-linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/lib/cmake \ + && ./cmake-3.25.1-linux-x86_64.sh --skip-license --exclude-subdir --prefix=/usr/lib/cmake \ && ln -sf /usr/lib/cmake/bin/cmake /usr/bin/cmake \ && ln -sf /usr/lib/cmake/bin/cmake /bin/cmake \ - && rm cmake-3.21.4-linux-x86_64.sh + && rm cmake-3.25.1-linux-x86_64.sh # Prepare Javet Build Environment ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 diff --git a/docker/linux-x86_64/base_v8.Dockerfile b/docker/linux-x86_64/base_v8.Dockerfile index 1bbda46be..50a7e2f8d 100644 --- a/docker/linux-x86_64/base_v8.Dockerfile +++ b/docker/linux-x86_64/base_v8.Dockerfile @@ -14,13 +14,13 @@ # limitations under the License. # Usage: docker build \ -# -t sjtucaocao/javet:x86_64-base-v8_10.8.168.20 \ +# -t sjtucaocao/javet:x86_64-base-v8_10.9.194.9 \ # --build-arg JAVET_REPO=sjtucaocao/javet \ -# --build-arg JAVET_V8_VERSION=10.8.168.20 \ +# --build-arg JAVET_V8_VERSION=10.9.194.9 \ # -f docker/linux-x86_64/base_v8.Dockerfile . ARG JAVET_REPO=sjtucaocao/javet -ARG JAVET_V8_VERSION=10.8.168.20 +ARG JAVET_V8_VERSION=10.9.194.9 FROM ${JAVET_REPO}:x86_64-base-jvm diff --git a/docker/linux-x86_64/build_all_in_one.Dockerfile b/docker/linux-x86_64/build_all_in_one.Dockerfile index d5d345825..6110014b0 100644 --- a/docker/linux-x86_64/build_all_in_one.Dockerfile +++ b/docker/linux-x86_64/build_all_in_one.Dockerfile @@ -15,7 +15,7 @@ # Usage: docker build -t javet:local -f docker/linux-x86_64/build_all_in_one.Dockerfile . -FROM sjtucaocao/javet:2.0.2 +FROM sjtucaocao/javet:2.0.3 WORKDIR / # Copy Javet diff --git a/docker/linux-x86_64/build_artifact.Dockerfile b/docker/linux-x86_64/build_artifact.Dockerfile index 6ffd6f42a..b99127af9 100644 --- a/docker/linux-x86_64/build_artifact.Dockerfile +++ b/docker/linux-x86_64/build_artifact.Dockerfile @@ -18,13 +18,13 @@ # --build-arg JAVET_REPO=sjtucaocao/javet \ # --build-arg JAVET_NODE_VERSION=18.12.1 \ # --build-arg JAVET_V8_VERSION=10.8.168.20 \ -# --build-arg JAVET_VERSION=2.0.2 \ +# --build-arg JAVET_VERSION=2.0.3 \ # -f docker/linux-x86_64/build_artifact.Dockerfile . ARG JAVET_REPO=sjtucaocao/javet ARG JAVET_NODE_VERSION=18.12.1 ARG JAVET_V8_VERSION=10.8.168.20 -ARG JAVET_VERSION=2.0.2 +ARG JAVET_VERSION=2.0.3 FROM ${JAVET_REPO}:x86_64-base-node_${JAVET_NODE_VERSION} as base-v8 diff --git a/docker/windows-x86_64/base.Dockerfile b/docker/windows-x86_64/base.Dockerfile index fcf31b467..5713cd062 100644 --- a/docker/windows-x86_64/base.Dockerfile +++ b/docker/windows-x86_64/base.Dockerfile @@ -29,10 +29,10 @@ # The following dockerfile has been out of date because it still uses # Visual Studio 2019 Community. Please contact the maintainer if you want an upgrade. -# Usage: docker build -t sjtucaocao/javet-windows:2.0.2 -m 4G -f docker/windows-x86_64/base.Dockerfile . +# Usage: docker build -t sjtucaocao/javet-windows:2.0.3 -m 4G -f docker/windows-x86_64/base.Dockerfile . ARG JAVET_NODE_VERSION=18.12.1 -ARG JAVET_V8_VERSION=10.8.168.20 +ARG JAVET_V8_VERSION=10.9.194.9 # https://hub.docker.com/_/microsoft-windows FROM mcr.microsoft.com/windows:20H2-amd64 diff --git a/docker/windows-x86_64/build.Dockerfile b/docker/windows-x86_64/build.Dockerfile index 7e4a3dcab..b4fb9ac7d 100644 --- a/docker/windows-x86_64/build.Dockerfile +++ b/docker/windows-x86_64/build.Dockerfile @@ -15,7 +15,7 @@ # Usage: docker build -t javet:local -f docker/windows-x86_64/build.Dockerfile . -FROM sjtucaocao/javet-windows:2.0.2 +FROM sjtucaocao/javet-windows:2.0.3 SHELL ["cmd", "/S", "/C"] WORKDIR / diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 85b993247..8b006672b 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '2.0.2', + VERSION: '2.0.3', LANGUAGE: 'en, zh-CN', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/conf.py b/docs/conf.py index ab6d3eb1c..89980f211 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ author = 'Sam Cao' # The full version, including alpha/beta/rc tags -release = '2.0.2' +release = '2.0.3' # -- General configuration --------------------------------------------------- diff --git a/docs/development/build.html b/docs/development/build.html index 18c2c2207..335c790ce 100644 --- a/docs/development/build.html +++ b/docs/development/build.html @@ -5,7 +5,7 @@ - Build Javet - Javet 2.0.2 documentation + Build Javet - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/build_javet_with_docker.html b/docs/development/build_javet_with_docker.html index 879cbc733..ed193a6c9 100644 --- a/docs/development/build_javet_with_docker.html +++ b/docs/development/build_javet_with_docker.html @@ -5,7 +5,7 @@ - Build Javet with Docker - Javet 2.0.2 documentation + Build Javet with Docker - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/build_javet_with_pre_built_binaries.html b/docs/development/build_javet_with_pre_built_binaries.html index 3bb825c88..299ace48a 100644 --- a/docs/development/build_javet_with_pre_built_binaries.html +++ b/docs/development/build_javet_with_pre_built_binaries.html @@ -5,7 +5,7 @@ - Build Javet with Pre-built Binaries - Javet 2.0.2 documentation + Build Javet with Pre-built Binaries - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/debug_with_chrome_developer_tools.html b/docs/development/debug_with_chrome_developer_tools.html index a150b58c1..5ac950393 100644 --- a/docs/development/debug_with_chrome_developer_tools.html +++ b/docs/development/debug_with_chrome_developer_tools.html @@ -5,7 +5,7 @@ - Debug with Chrome Developer Tools - Javet 2.0.2 documentation + Debug with Chrome Developer Tools - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/design.html b/docs/development/design.html index 5df64804c..99785d260 100644 --- a/docs/development/design.html +++ b/docs/development/design.html @@ -5,7 +5,7 @@ - Javet Design - Javet 2.0.2 documentation + Javet Design - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/index.html b/docs/development/index.html index 3eb450340..e5f4103a7 100644 --- a/docs/development/index.html +++ b/docs/development/index.html @@ -5,7 +5,7 @@ - Development - Javet 2.0.2 documentation + Development - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/test.html b/docs/development/test.html index 5dfe20867..f45bf768e 100644 --- a/docs/development/test.html +++ b/docs/development/test.html @@ -5,7 +5,7 @@ - Test Javet - Javet 2.0.2 documentation + Test Javet - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/development/tools.html b/docs/development/tools.html index f68223bd7..5a5232ced 100644 --- a/docs/development/tools.html +++ b/docs/development/tools.html @@ -5,7 +5,7 @@ - Development Tools - Javet 2.0.2 documentation + Development Tools - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/background/history_with_j2v8.html b/docs/faq/background/history_with_j2v8.html index 184e2d3be..831478efd 100644 --- a/docs/faq/background/history_with_j2v8.html +++ b/docs/faq/background/history_with_j2v8.html @@ -5,7 +5,7 @@ - History with J2V8 - Javet 2.0.2 documentation + History with J2V8 - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/background/index.html b/docs/faq/background/index.html index cb6b300da..c5937bdba 100644 --- a/docs/faq/background/index.html +++ b/docs/faq/background/index.html @@ -5,7 +5,7 @@ - Background - Javet 2.0.2 documentation + Background - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/background/what_is_the_motivation.html b/docs/faq/background/what_is_the_motivation.html index 9a82804cd..9eea35928 100644 --- a/docs/faq/background/what_is_the_motivation.html +++ b/docs/faq/background/what_is_the_motivation.html @@ -5,7 +5,7 @@ - What is the Motivation? - Javet 2.0.2 documentation + What is the Motivation? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/development/how_to_think_in_javet.html b/docs/faq/development/how_to_think_in_javet.html index 5b3eb07e5..212a08da9 100644 --- a/docs/faq/development/how_to_think_in_javet.html +++ b/docs/faq/development/how_to_think_in_javet.html @@ -5,7 +5,7 @@ - How to Think in Javet? - Javet 2.0.2 documentation + How to Think in Javet? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/development/index.html b/docs/faq/development/index.html index fb8de81bd..ef1a1741e 100644 --- a/docs/faq/development/index.html +++ b/docs/faq/development/index.html @@ -5,7 +5,7 @@ - Development - Javet 2.0.2 documentation + Development - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/development/where_are_es6_api_in_v8_mode.html b/docs/faq/development/where_are_es6_api_in_v8_mode.html index 8fd2d64a2..d98908249 100644 --- a/docs/faq/development/where_are_es6_api_in_v8_mode.html +++ b/docs/faq/development/where_are_es6_api_in_v8_mode.html @@ -5,7 +5,7 @@ - Where are ES6 API in V8 Mode? - Javet 2.0.2 documentation + Where are ES6 API in V8 Mode? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/development/where_are_the_examples.html b/docs/faq/development/where_are_the_examples.html index 2ac19257d..ed33c55da 100644 --- a/docs/faq/development/where_are_the_examples.html +++ b/docs/faq/development/where_are_the_examples.html @@ -5,7 +5,7 @@ - Where are the Examples? - Javet 2.0.2 documentation + Where are the Examples? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/development/why_is_the_inspector_disabled_in_node_js_mode.html b/docs/faq/development/why_is_the_inspector_disabled_in_node_js_mode.html index ba10eb435..90cac284c 100644 --- a/docs/faq/development/why_is_the_inspector_disabled_in_node_js_mode.html +++ b/docs/faq/development/why_is_the_inspector_disabled_in_node_js_mode.html @@ -5,7 +5,7 @@ - Why is the Inspector Disabled in Node.js Mode? - Javet 2.0.2 documentation + Why is the Inspector Disabled in Node.js Mode? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/environment/can_javet_support_legacy_linux.html b/docs/faq/environment/can_javet_support_legacy_linux.html index c1fd9d8b6..c9e299d45 100644 --- a/docs/faq/environment/can_javet_support_legacy_linux.html +++ b/docs/faq/environment/can_javet_support_legacy_linux.html @@ -5,7 +5,7 @@ - Can Javet Support Legacy Linux? - Javet 2.0.2 documentation + Can Javet Support Legacy Linux? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/environment/can_javet_support_mac.html b/docs/faq/environment/can_javet_support_mac.html index 837b02da6..a9cc79468 100644 --- a/docs/faq/environment/can_javet_support_mac.html +++ b/docs/faq/environment/can_javet_support_mac.html @@ -5,7 +5,7 @@ - Can Javet Support Mac? - Javet 2.0.2 documentation + Can Javet Support Mac? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/environment/index.html b/docs/faq/environment/index.html index 0a89274ec..a946852d7 100644 --- a/docs/faq/environment/index.html +++ b/docs/faq/environment/index.html @@ -5,7 +5,7 @@ - Environment - Javet 2.0.2 documentation + Environment - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/index.html b/docs/faq/index.html index 03913b7f7..44638d75d 100644 --- a/docs/faq/index.html +++ b/docs/faq/index.html @@ -5,7 +5,7 @@ - FAQ - Javet 2.0.2 documentation + FAQ - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/troubleshooting/a_dynamic_link_library_dll_initialization_routine_failed.html b/docs/faq/troubleshooting/a_dynamic_link_library_dll_initialization_routine_failed.html index 32829c82b..1bcf5d5e1 100644 --- a/docs/faq/troubleshooting/a_dynamic_link_library_dll_initialization_routine_failed.html +++ b/docs/faq/troubleshooting/a_dynamic_link_library_dll_initialization_routine_failed.html @@ -5,7 +5,7 @@ - A dynamic link library (DLL) initialization routine failed - Javet 2.0.2 documentation + A dynamic link library (DLL) initialization routine failed - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/troubleshooting/can_i18n_be_supported.html b/docs/faq/troubleshooting/can_i18n_be_supported.html index 144a06539..ead01cc71 100644 --- a/docs/faq/troubleshooting/can_i18n_be_supported.html +++ b/docs/faq/troubleshooting/can_i18n_be_supported.html @@ -5,7 +5,7 @@ - Can i18n be Supported? - Javet 2.0.2 documentation + Can i18n be Supported? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/troubleshooting/can_i_debug_javet_in_chrome_dev_tools.html b/docs/faq/troubleshooting/can_i_debug_javet_in_chrome_dev_tools.html index a83ea0732..720c70f20 100644 --- a/docs/faq/troubleshooting/can_i_debug_javet_in_chrome_dev_tools.html +++ b/docs/faq/troubleshooting/can_i_debug_javet_in_chrome_dev_tools.html @@ -5,7 +5,7 @@ - Can I Debug Javet in Chrome DevTools? - Javet 2.0.2 documentation + Can I Debug Javet in Chrome DevTools? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/troubleshooting/index.html b/docs/faq/troubleshooting/index.html index 73749d086..36ca7da3e 100644 --- a/docs/faq/troubleshooting/index.html +++ b/docs/faq/troubleshooting/index.html @@ -5,7 +5,7 @@ - Troubleshooting - Javet 2.0.2 documentation + Troubleshooting - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/faq/troubleshooting/why_node_js_crashes_when_being_closed.html b/docs/faq/troubleshooting/why_node_js_crashes_when_being_closed.html index b20bfc8c5..9abad6971 100644 --- a/docs/faq/troubleshooting/why_node_js_crashes_when_being_closed.html +++ b/docs/faq/troubleshooting/why_node_js_crashes_when_being_closed.html @@ -5,7 +5,7 @@ - Why Node.js Crashes When being Closed? - Javet 2.0.2 documentation + Why Node.js Crashes When being Closed? - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/genindex.html b/docs/genindex.html index 320edc050..875e65f33 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -4,7 +4,7 @@ - Index - Javet 2.0.2 documentation + Index - Javet 2.0.3 documentation @@ -123,7 +123,7 @@
@@ -149,7 +149,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/index.html b/docs/index.html index 15eadbe24..ca1913c21 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,7 +5,7 @@ - Javet 2.0.2 documentation + Javet 2.0.3 documentation @@ -124,7 +124,7 @@

Gradle Kotlin DSL

-
implementation("com.caoccao.javet:javet:2.0.2") // Linux and Windows (x86_64)
+
implementation("com.caoccao.javet:javet:2.0.3") // Linux and Windows (x86_64)
 implementation("com.caoccao.javet:javet-macos:2.0.2") // Mac OS (x86_64 and arm64)
-implementation("com.caoccao.javet:javet-android:2.0.2") // Android (arm, arm64, x86 and x86_64)
+implementation("com.caoccao.javet:javet-android:2.0.3") // Android (arm, arm64, x86 and x86_64)
 

Gradle Groovy DSL

-
implementation 'com.caoccao.javet:javet:2.0.2' // Linux and Windows (x86_64)
+
implementation 'com.caoccao.javet:javet:2.0.3' // Linux and Windows (x86_64)
 implementation 'com.caoccao.javet:javet-macos:2.0.2' // Mac OS (x86_64 and arm64)
-implementation 'com.caoccao.javet:javet-android:2.0.2' // Android (arm, arm64, x86 and x86_64)
+implementation 'com.caoccao.javet:javet-android:2.0.3' // Android (arm, arm64, x86 and x86_64)
 
diff --git a/docs/reference/converters/bridge_converter.html b/docs/reference/converters/bridge_converter.html index f2742337d..fce37b3bd 100644 --- a/docs/reference/converters/bridge_converter.html +++ b/docs/reference/converters/bridge_converter.html @@ -5,7 +5,7 @@ - Bridge Converter - Javet 2.0.2 documentation + Bridge Converter - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/converters/custom_converter.html b/docs/reference/converters/custom_converter.html index b3c3485f5..f92bedc73 100644 --- a/docs/reference/converters/custom_converter.html +++ b/docs/reference/converters/custom_converter.html @@ -5,7 +5,7 @@ - Custom Converter - Javet 2.0.2 documentation + Custom Converter - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/converters/index.html b/docs/reference/converters/index.html index 41d7a9165..536f2d3c1 100644 --- a/docs/reference/converters/index.html +++ b/docs/reference/converters/index.html @@ -5,7 +5,7 @@ - Converters - Javet 2.0.2 documentation + Converters - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/converters/object_converter.html b/docs/reference/converters/object_converter.html index 0a87061b2..d1c5281f0 100644 --- a/docs/reference/converters/object_converter.html +++ b/docs/reference/converters/object_converter.html @@ -5,7 +5,7 @@ - Object Converter - Javet 2.0.2 documentation + Object Converter - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/converters/primitive_converter.html b/docs/reference/converters/primitive_converter.html index 0d036f8a1..c54e58728 100644 --- a/docs/reference/converters/primitive_converter.html +++ b/docs/reference/converters/primitive_converter.html @@ -5,7 +5,7 @@ - Primitive Converter - Javet 2.0.2 documentation + Primitive Converter - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/converters/proxy_converter.html b/docs/reference/converters/proxy_converter.html index b2d3e4f64..70c08f22d 100644 --- a/docs/reference/converters/proxy_converter.html +++ b/docs/reference/converters/proxy_converter.html @@ -5,7 +5,7 @@ - Proxy Converter - Javet 2.0.2 documentation + Proxy Converter - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/index.html b/docs/reference/index.html index 33b13880b..700b04e2e 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -5,7 +5,7 @@ - Reference - Javet 2.0.2 documentation + Reference - Javet 2.0.3 documentation @@ -124,7 +124,7 @@
@@ -150,7 +150,7 @@
- Javet 2.0.2 documentation + Javet 2.0.3 documentation diff --git a/docs/reference/javadoc/allclasses-frame.html b/docs/reference/javadoc/allclasses-frame.html index 8e9a37277..001a06861 100644 --- a/docs/reference/javadoc/allclasses-frame.html +++ b/docs/reference/javadoc/allclasses-frame.html @@ -3,7 +3,7 @@ -All Classes (javet 2.0.2 API) +All Classes (javet 2.0.3 API) diff --git a/docs/reference/javadoc/allclasses-noframe.html b/docs/reference/javadoc/allclasses-noframe.html index 62e8d6cd9..cce2983db 100644 --- a/docs/reference/javadoc/allclasses-noframe.html +++ b/docs/reference/javadoc/allclasses-noframe.html @@ -3,7 +3,7 @@ -All Classes (javet 2.0.2 API) +All Classes (javet 2.0.3 API) diff --git a/docs/reference/javadoc/com/caoccao/javet/annotations/CheckReturnValue.html b/docs/reference/javadoc/com/caoccao/javet/annotations/CheckReturnValue.html index b3302d003..3ceed58fb 100644 --- a/docs/reference/javadoc/com/caoccao/javet/annotations/CheckReturnValue.html +++ b/docs/reference/javadoc/com/caoccao/javet/annotations/CheckReturnValue.html @@ -3,7 +3,7 @@ -CheckReturnValue (javet 2.0.2 API) +CheckReturnValue (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/annotations/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/annotations/package-summary.html index eccc251a2..50417b0fc 100644 --- a/docs/reference/javadoc/com/caoccao/javet/annotations/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/annotations/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.annotations (javet 2.0.2 API) +com.caoccao.javet.annotations (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/entities/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/entities/package-summary.html index 21307a89d..cb301d74d 100644 --- a/docs/reference/javadoc/com/caoccao/javet/entities/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/entities/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.entities (javet 2.0.2 API) +com.caoccao.javet.entities (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/enums/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/enums/package-summary.html index 2e6a180c6..f78cf6828 100644 --- a/docs/reference/javadoc/com/caoccao/javet/enums/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/enums/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.enums (javet 2.0.2 API) +com.caoccao.javet.enums (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/exceptions/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/exceptions/package-summary.html index 674b1d888..1fec1fc6d 100644 --- a/docs/reference/javadoc/com/caoccao/javet/exceptions/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/exceptions/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.exceptions (javet 2.0.2 API) +com.caoccao.javet.exceptions (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interception/logging/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interception/logging/package-summary.html index 29ee625f0..24e51bf07 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interception/logging/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interception/logging/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interception.logging (javet 2.0.2 API) +com.caoccao.javet.interception.logging (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interception/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interception/package-summary.html index 4c301e2db..ff5689a26 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interception/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interception/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interception (javet 2.0.2 API) +com.caoccao.javet.interception (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interfaces/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interfaces/package-summary.html index 51983cfd6..8dc84994e 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interfaces/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interfaces/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interfaces (javet 2.0.2 API) +com.caoccao.javet.interfaces (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/binding/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/binding/package-summary.html index 3bed017fb..f296c29fb 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/binding/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/binding/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.binding (javet 2.0.2 API) +com.caoccao.javet.interop.binding (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/callback/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/callback/package-summary.html index 78d7ccb7d..4cea9dbbd 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/callback/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/callback/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.callback (javet 2.0.2 API) +com.caoccao.javet.interop.callback (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/converters/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/converters/package-summary.html index 1498de5bc..8171fa9c2 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/converters/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/converters/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.converters (javet 2.0.2 API) +com.caoccao.javet.interop.converters (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/engine/observers/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/engine/observers/package-summary.html index c08da0b0c..e654b77d4 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/engine/observers/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/engine/observers/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.engine.observers (javet 2.0.2 API) +com.caoccao.javet.interop.engine.observers (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/engine/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/engine/package-summary.html index 12aecee20..afa702ac5 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/engine/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/engine/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.engine (javet 2.0.2 API) +com.caoccao.javet.interop.engine (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,14 +11,14 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/executors/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/executors/package-summary.html index 8394df7ed..fc35b06a5 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/executors/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/executors/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.executors (javet 2.0.2 API) +com.caoccao.javet.interop.executors (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/loader/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/loader/package-summary.html index 0a3052223..8caad51a6 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/loader/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/loader/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.loader (javet 2.0.2 API) +com.caoccao.javet.interop.loader (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/monitoring/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/monitoring/package-summary.html index 5bccfc6df..8c2414a8a 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/monitoring/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/monitoring/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.monitoring (javet 2.0.2 API) +com.caoccao.javet.interop.monitoring (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/options/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/options/package-summary.html index 9ca2bc23b..52e2e49ce 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/options/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/options/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.options (javet 2.0.2 API) +com.caoccao.javet.interop.options (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/package-summary.html index 6beb65b78..f3d6e7bd6 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop (javet 2.0.2 API) +com.caoccao.javet.interop (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/interop/proxy/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/interop/proxy/package-summary.html index 21e4e6c77..411f5e6fa 100644 --- a/docs/reference/javadoc/com/caoccao/javet/interop/proxy/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/interop/proxy/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.interop.proxy (javet 2.0.2 API) +com.caoccao.javet.interop.proxy (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/node/modules/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/node/modules/package-summary.html index 20d176777..f9f3a9067 100644 --- a/docs/reference/javadoc/com/caoccao/javet/node/modules/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/node/modules/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.node.modules (javet 2.0.2 API) +com.caoccao.javet.node.modules (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/utils/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/utils/package-summary.html index 14a333828..0a15cb77c 100644 --- a/docs/reference/javadoc/com/caoccao/javet/utils/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/utils/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.utils (javet 2.0.2 API) +com.caoccao.javet.utils (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/utils/receivers/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/utils/receivers/package-summary.html index dc769cc8c..e067243e6 100644 --- a/docs/reference/javadoc/com/caoccao/javet/utils/receivers/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/utils/receivers/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.utils.receivers (javet 2.0.2 API) +com.caoccao.javet.utils.receivers (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/values/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/values/package-summary.html index 2dbdd8c2d..23b408ed6 100644 --- a/docs/reference/javadoc/com/caoccao/javet/values/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/values/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.values (javet 2.0.2 API) +com.caoccao.javet.values (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/values/primitive/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/values/primitive/package-summary.html index 0dbd2ed6d..f0a5e8fc0 100644 --- a/docs/reference/javadoc/com/caoccao/javet/values/primitive/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/values/primitive/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.values.primitive (javet 2.0.2 API) +com.caoccao.javet.values.primitive (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,13 +11,13 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/values/reference/builtin/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/values/reference/builtin/package-summary.html index 2118304bb..b2987ed58 100644 --- a/docs/reference/javadoc/com/caoccao/javet/values/reference/builtin/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/values/reference/builtin/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.values.reference.builtin (javet 2.0.2 API) +com.caoccao.javet.values.reference.builtin (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/values/reference/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/values/reference/package-summary.html index 5bfadd250..b4b3c763b 100644 --- a/docs/reference/javadoc/com/caoccao/javet/values/reference/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/values/reference/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.values.reference (javet 2.0.2 API) +com.caoccao.javet.values.reference (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/com/caoccao/javet/values/virtual/package-summary.html b/docs/reference/javadoc/com/caoccao/javet/values/virtual/package-summary.html index b2ffdb605..ad6829efe 100644 --- a/docs/reference/javadoc/com/caoccao/javet/values/virtual/package-summary.html +++ b/docs/reference/javadoc/com/caoccao/javet/values/virtual/package-summary.html @@ -3,7 +3,7 @@ -com.caoccao.javet.values.virtual (javet 2.0.2 API) +com.caoccao.javet.values.virtual (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ diff --git a/docs/reference/javadoc/overview-summary.html b/docs/reference/javadoc/overview-summary.html index 81103c649..49c56907b 100644 --- a/docs/reference/javadoc/overview-summary.html +++ b/docs/reference/javadoc/overview-summary.html @@ -3,7 +3,7 @@ -Overview (javet 2.0.2 API) +Overview (javet 2.0.3 API) @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@ @@ -11,7 +11,7 @@