meta-ast 0.4.0

Polyglot static-analysis engine: extract symbols and cross-language dependency graphs from 8 supported source languages, with optional MetaCall deployment manifest generation.
Documentation
#
#	MetaCall Library by Parra Studios
#	Docker compose infrastructure for MetaCall.
#
#	Copyright (C) 2016 - 2026 Vicente Eduardo Ferrer Garcia <vic798@gmail.com>
#
#	Licensed under the Apache License, Version 2.0 (the "License");
#	you may not use this file except in compliance with the License.
#	You may obtain a copy of the License at
#
#		http://www.apache.org/licenses/LICENSE-2.0
#
#	Unless required by applicable law or agreed to in writing, software
#	distributed under the License is distributed on an "AS IS" BASIS,
#	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#	See the License for the specific language governing permissions and
#	limitations under the License.
#

services:
  deps:
    image: metacall/core:deps
    container_name: metacall_core_deps
    build:
      context: .
      dockerfile: tools/docker/Dockerfile
      target: deps
      args:
        METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE
        METACALL_PATH: $METACALL_PATH
        METACALL_TOOLS_PATH: $METACALL_PATH/tools
        METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE
        METACALL_INSTALL_OPTIONS: base ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox # clangformat v8rep51
        METACALL_BUILD_OPTIONS:  ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks # v8
        METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8
    environment:
      DEBIAN_FRONTEND: noninteractive
      # Work around https://github.com/dotnet/cli/issues/1582 until Docker releases a
      # fix (https://github.com/docker/docker/issues/20818). This workaround allows
      # the container to be run with the default seccomp Docker settings by avoiding
      # the restart_syscall made by LTTng which causes a failed assertion.
      LTTNG_UST_REGISTER_TIMEOUT: 0
      # Trigger the population of the local NuGet package cache
      NUGET_XMLDOC_MODE: skip
      # Disable NetCore telemetry
      DOTNET_CLI_TELEMETRY_OPTOUT: "true"

  dev:
    image: metacall/core:dev
    container_name: metacall_core_dev
    build:
      context: .
      dockerfile: tools/docker/Dockerfile
      target: dev
      args:
        METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE
        METACALL_PATH: $METACALL_PATH
        METACALL_TOOLS_PATH: $METACALL_PATH/tools
        METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE
        METACALL_INSTALL_OPTIONS: base ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox # clangformat v8rep51
        METACALL_BUILD_OPTIONS:  ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks # v8
        METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8
    environment:
      LTTNG_UST_REGISTER_TIMEOUT: 0
      NUGET_XMLDOC_MODE: skip
      DOTNET_CLI_TELEMETRY_OPTOUT: "true"

  runtime:
    image: metacall/core:runtime
    container_name: metacall_core_runtime
    build:
      context: .
      dockerfile: tools/docker/Dockerfile
      target: runtime
      args:
        METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE
        METACALL_PATH: $METACALL_PATH
        METACALL_TOOLS_PATH: $METACALL_PATH/tools
        METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE
        METACALL_INSTALL_OPTIONS: base ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox # clangformat v8rep51
        METACALL_BUILD_OPTIONS:  ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks # v8
        METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8
    environment:
      LTTNG_UST_REGISTER_TIMEOUT: 0
      NUGET_XMLDOC_MODE: skip
      DOTNET_CLI_TELEMETRY_OPTOUT: "true"

  cli:
    image: metacall/core:cli
    container_name: metacall_core_cli
    build:
      context: .
      dockerfile: tools/docker/Dockerfile
      target: cli
      args:
        METACALL_BASE_IMAGE: $METACALL_BASE_IMAGE
        METACALL_PATH: $METACALL_PATH
        METACALL_TOOLS_PATH: $METACALL_PATH/tools
        METACALL_BUILD_TYPE: $METACALL_BUILD_TYPE
        METACALL_INSTALL_OPTIONS: base ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust rapidjson pack backtrace sandbox # clangformat v8rep51
        METACALL_BUILD_OPTIONS:  ${METACALL_BUILD_SANITIZER} ${METACALL_BUILD_MEMCHECK} ${METACALL_BUILD_COVERAGE} ${METACALL_BUILD_CLANG} python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust examples tests scripts ports install pack sandbox benchmarks # v8
        METACALL_RUNTIME_OPTIONS: base python ruby netcore8 nodejs typescript file rpc wasm java c cobol go rust backtrace ports clean # v8
    environment:
      LTTNG_UST_REGISTER_TIMEOUT: 0
      NUGET_XMLDOC_MODE: skip
      DOTNET_CLI_TELEMETRY_OPTOUT: "true"