### Project and Dependency Setup Source: https://github.com/apache/thrift/blob/master/compiler/cpp/CMakeLists.txt Initializes the CMake project and finds required packages like Flex and Bison. Ensure these tools are installed and discoverable by CMake. ```cmake cmake_minimum_required(VERSION 3.16) project("thrift-compiler" VERSION ${PACKAGE_VERSION}) ``` ```cmake find_package(FLEX REQUIRED) find_package(BISON REQUIRED) ``` -------------------------------- ### Run Cross Test Server with Gradle Source: https://github.com/apache/thrift/blob/master/lib/kotlin/README.md Execute this Gradle command to start the cross-test server. This is part of the testing setup for Kotlin code generation. ```bash gradle :cross-test-server:run ``` -------------------------------- ### Installing Development Tools and Kernel Headers Source: https://github.com/apache/thrift/blob/master/contrib/vagrant/centos-6.5/README.md Commands to install necessary packages for building and VirtualBox guest additions. ```bash yum -y install perl yum -y --enablerepo epel install dkms yum -y groupinstall "Development Tools" yum -y install kernel-devel ``` -------------------------------- ### Install HaxeLibs for C++ Target Source: https://github.com/apache/thrift/blob/master/lib/haxe/README.md Install the Haxe C++ target library. This is an example of installing HaxeLibs for a specific target. ```bash haxelib install hxcpp ``` -------------------------------- ### Build and Install Thrift Ruby from Source Source: https://github.com/apache/thrift/blob/master/lib/rb/README.md Install the Thrift Ruby library from source. This method involves bundling dependencies, building the gem, and then installing it. The native accelerator is built during installation on supported runtimes. ```bash bundle install gem build thrift.gemspec ``` -------------------------------- ### Install JavaScript Library and Documentation Source: https://github.com/apache/thrift/blob/master/lib/js/CMakeLists.txt Installs the compiled JavaScript library files (matching 'thrift*.js') to the configured JavaScript installation directory and installs the documentation files. ```cmake install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/dist/" DESTINATION "${JAVASCRIPT_INSTALL_DIR}" FILES_MATCHING PATTERN "thrift*.js") install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/doc/" DESTINATION "${JAVASCRIPT_DOC_INSTALL_DIR}") ``` -------------------------------- ### Install Distribution for Kotlin Test Library Source: https://github.com/apache/thrift/blob/master/lib/kotlin/README.md Run this command to install the distribution for the Kotlin test library. This is useful for deployment or further testing. ```bash gradle installDist ``` -------------------------------- ### Build and Install Thrift Source: https://github.com/apache/thrift/blob/master/doc/install/windows.md Execute make and make install from the top Thrift directory to build the compiler and runtime libraries. ```bash make make install ``` -------------------------------- ### Install Thrift Node.js Library Source: https://github.com/apache/thrift/blob/master/lib/nodejs/README.md Use npm to install the Thrift Node.js library. Ensure Node.js 10.18 or later is installed. ```bash npm install thrift ``` -------------------------------- ### Example: Generate Compact Protocol Corpus Source: https://github.com/apache/thrift/blob/master/lib/rb/test/fuzz/README.md Example command to generate 1000 compact protocol corpus files with specified buffer and random sizes. ```bash cargo run --manifest-path lib/rs/test/fuzz/Cargo.toml --bin corpus_generator -- \ --output-dir ./lib/rs/test/fuzz/corpus/compact \ --protocol compact \ --generate 1000 \ --buffer-size 16384 \ --random-size 16384 ``` -------------------------------- ### Run Tutorial with Make (All-in-One) Source: https://github.com/apache/thrift/blob/master/tutorial/java/README.md Start the tutorial server and client simultaneously using 'make tutorial'. ```bash thrift/tutorial/java$ make tutorial ``` -------------------------------- ### Install Thrift Source: https://github.com/apache/thrift/blob/master/README.md Install Thrift system-wide after building, typically requiring superuser privileges. ```bash make install ``` -------------------------------- ### Example: Generate Binary Protocol Corpus Source: https://github.com/apache/thrift/blob/master/lib/rb/test/fuzz/README.md Example command to generate 1000 binary protocol corpus files with specified buffer and random sizes. ```bash cargo run --manifest-path lib/rs/test/fuzz/Cargo.toml --bin corpus_generator -- \ --output-dir ./lib/rs/test/fuzz/corpus/binary \ --protocol binary \ --generate 1000 \ --buffer-size 65536 \ --random-size 16384 ``` -------------------------------- ### Node.js Thrift Client for Browsers with WebSocket Source: https://github.com/apache/thrift/blob/master/lib/nodejs/README.md This example demonstrates creating a Thrift client for browsers using WebSocket for transport, BufferedTransport, and BinaryProtocol. It includes connection setup and error handling. ```javascript import thrift from 'thrift'; import { MyServiceClient } from '../gen-nodejs/MyService'; const host = window.location.hostname; const port = 9090; const opts = { transport: thrift.TBufferedTransport, protocol: thrift.TBinaryProtocol } const connection = thrift.createWSConnection(host, port, opts); connection.open(); const thriftClient = thrift.createWSClient(MyServiceClient, connection); connection.on('error', (err) => { console.error(err); }); thriftClient.myService(param) .then((result) => { console.log(result); }) .catch((err) => { .... }); ``` -------------------------------- ### Updating System and Installing VirtualBox Guest Additions Source: https://github.com/apache/thrift/blob/master/contrib/vagrant/centos-6.5/README.md Commands to update all packages, reboot, and install VirtualBox Guest Additions from the mounted CD-ROM. ```bash yum update reboot mount /dev/cdrom /mnt /mnt/VBoxLinuxAdditions.run umount /mnt ``` -------------------------------- ### Install Thrift Haxe Bindings (Development Version) Source: https://github.com/apache/thrift/blob/master/lib/haxe/README.md Install the latest development version of the Thrift Haxe bindings using haxelib from the master branch. ```bash haxelib git thrift https://github.com/apache/thrift.git master lib/haxe ``` -------------------------------- ### Install Build Tools and Libraries on Debian/Ubuntu Source: https://github.com/apache/thrift/blob/master/doc/install/debian.md Installs essential tools and libraries for building the Apache Thrift compiler and C++ libraries on Debian/Ubuntu. Run this command first. ```bash sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config ``` -------------------------------- ### Compile and Install Boost on OS X Source: https://github.com/apache/thrift/blob/master/doc/install/os_x.md Steps to compile and install the Boost library on an OS X system. Ensure you download the library from boost.org first. ```bash ./bootstrap.sh sudo ./b2 threading=multi address-model=64 variant=release stage install ``` -------------------------------- ### Installing EPEL Repository on Centos 6.5 Source: https://github.com/apache/thrift/blob/master/contrib/vagrant/centos-6.5/README.md Commands to install the EPEL repository, protecting base repositories. ```bash yum -y install yum-plugin-protectbase rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm ``` -------------------------------- ### Build and Install Apache Thrift Source: https://github.com/apache/thrift/blob/master/doc/install/centos.md Clones the Thrift repository, configures the build, and installs the Thrift IDL compiler and libraries. ```bash git clone https://github.com/apache/thrift.git cd thrift ./bootstrap.sh ./configure --with-lua=no make sudo make install ``` -------------------------------- ### Cassandra Client Example (Node.js) Source: https://github.com/apache/thrift/blob/master/lib/nodejs/README.md Example of creating a Thrift connection and a Cassandra client to perform a get_slice operation. Handles connection errors and processes the returned data. ```javascript var thrift = require('thrift'), Cassandra = require('./gen-nodejs/Cassandra') ttypes = require('./gen-nodejs/cassandra_types'); var connection = thrift.createConnection("localhost", 9160), client = thrift.createClient(Cassandra, connection); connection.on('error', function(err) { console.error(err); }); client.get_slice("Keyspace", "key", new ttypes.ColumnParent({column_family: "ExampleCF"}), new ttypes.SlicePredicate({slice_range: new ttypes.SliceRange({start: '', finish: ''})}), ttypes.ConsistencyLevel.ONE, function(err, data) { if (err) { // handle err } else { // data == [ttypes.ColumnOrSuperColumn, ...] } connection.end(); }); ``` -------------------------------- ### Install Clang and Ruzzy for Fuzzing Source: https://github.com/apache/thrift/blob/master/lib/rb/test/fuzz/README.md Installs the required clang compiler and the Ruzzy fuzzing tool. Ensure you are in the repository root when running these commands. ```bash apt install -y clang-19 # from https://github.com/trailofbits/ruzzy?tab=readme-ov-file#installing MAKE="make --environment-overrides V=1" \ CC="/usr/bin/clang-19" \ CXX="/usr/bin/clang++-19" \ LDSHARED="/usr/bin/clang-19 -shared" \ LDSHAREDXX="/usr/bin/clang++-19 -shared" \ gem install ruzzy ``` -------------------------------- ### Install Grunt Build Dependencies Source: https://github.com/apache/thrift/blob/master/lib/js/README.md Installs the necessary support files for the Grunt build tool by reading the package.json file. ```bash npm install ``` -------------------------------- ### Install D Language Compiler and Tools Source: https://github.com/apache/thrift/blob/master/doc/install/debian.md Installs the D language compiler (DMD) and associated tools using a script from the official D website. ```bash curl -fsS https://dlang.org/install.sh | bash -s dmd ``` -------------------------------- ### Install C++ Thrift Dependencies Source: https://github.com/apache/thrift/blob/master/doc/install/centos.md Installs development libraries required for building the C++ shared library for Apache Thrift. ```bash sudo yum -y install libevent-devel zlib-devel openssl-devel ``` -------------------------------- ### Install Thrift Go Package Source: https://github.com/apache/thrift/blob/master/lib/go/README.md Add the most recent version of the Thrift Go package to your project after initializing Go modules. ```bash $ go get github.com/apache/thrift ``` -------------------------------- ### Install Thrift Haxe Bindings (Stable Version) Source: https://github.com/apache/thrift/blob/master/lib/haxe/README.md Install a specific stable version of the Thrift Haxe bindings using haxelib. Replace '0.14.1' with the desired version. ```bash haxelib git thrift https://github.com/apache/thrift.git 0.14.1 lib/haxe ``` -------------------------------- ### Build Apache Thrift Compiler on OS X Source: https://github.com/apache/thrift/blob/master/doc/install/os_x.md Instructions to compile and install the Apache Thrift compiler after downloading the source. Ensure Boost and libevent are installed. ```bash ./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local ``` -------------------------------- ### Install Gradle for Thrift Java Build Source: https://github.com/apache/thrift/blob/master/lib/java/README.md Installs a specific version of Gradle and its dependencies, essential for building the Thrift Java source when not using the wrapper. ```bash export GRADLE_VERSION="8.4" # install dependencies apt-get install -y --no-install-recommends openjdk-17-jdk-headless wget unzip # download gradle distribution wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip # check binary integrity echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c - # unzip and install unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle ln -s /usr/local/gradle/bin/gradle /usr/local/bin ``` -------------------------------- ### Compile and Install libevent on OS X Source: https://github.com/apache/thrift/blob/master/doc/install/os_x.md Steps to compile and install the libevent library on an OS X system. Download the library from the official libevent website. ```bash ./configure --prefix=/usr/local make sudo make install ``` -------------------------------- ### Example AI-Assisted Commit Message Source: https://github.com/apache/thrift/blob/master/AGENTS.md An example demonstrating how to format a commit message when using AI assistance, including the JIRA ticket, description, affected client, and AI co-author information. ```text THRIFT-9999: Fix connection timeout handling in Go client Client: go Co-Authored-By: Claude Sonnet 4.6 ``` -------------------------------- ### Install SharpFuzz IL-rewriter CLI Source: https://github.com/apache/thrift/blob/master/lib/netstd/README.md Installs the SharpFuzz IL-rewriter as a global .NET tool. Ensure the PATH environment variable is updated to include the tools directory for persistent access. ```bash dotnet tool install --global SharpFuzz.CommandLine export PATH="$PATH:$HOME/.dotnet/tools" ``` -------------------------------- ### Download and Install Autoconf 2.69 Source: https://github.com/apache/thrift/blob/master/doc/install/centos.md Upgrades autoconf to version 2.69, a crucial build utility. ```bash wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar xvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure --prefix=/usr make sudo make install cd .. ``` -------------------------------- ### Download and Install Automake 1.14 Source: https://github.com/apache/thrift/blob/master/doc/install/centos.md Upgrades automake to version 1.14, another essential build utility. ```bash wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz tar xvf automake-1.14.tar.gz cd automake-1.14 ./configure --prefix=/usr make sudo make install cd .. ``` -------------------------------- ### 64-bit Integer Constant Example Source: https://github.com/apache/thrift/blob/master/lib/js/README.md Demonstrates the generation of 64-bit integer constants using the 'node-int64' library in newer versions. ```javascript var x = new Int64("7fffffffffffffff"); ``` -------------------------------- ### Run Tutorial Server and Client Separately with Make Source: https://github.com/apache/thrift/blob/master/tutorial/java/README.md Start the tutorial server and client independently using 'make tutorialserver' and 'make tutorialclient'. ```bash thrift/tutorial/java$ make tutorialserver thrift/tutorial/java$ make tutorialclient ``` -------------------------------- ### Thrift StringCache Service Example Source: https://github.com/apache/thrift/blob/master/doc/specs/thrift.tex An example of a Thrift service definition for a StringCache, demonstrating set, get, and delete operations. ```thrift service StringCache { void set(1:i32 key, 2:string value), string get(1:i32 key) throws (1:KeyNotFound knf), void delete(1:i32 key) } ``` -------------------------------- ### Run Tutorial Server and Client Separately with Ant Source: https://github.com/apache/thrift/blob/master/tutorial/java/README.md Start the tutorial server and client independently using 'ant tutorialserver' and 'ant tutorialclient'. ```bash thrift/tutorial/java$ ant tutorialserver thrift/tutorial/java$ ant tutorialclient ``` -------------------------------- ### Build TutorialServer Executable Source: https://github.com/apache/thrift/blob/master/tutorial/cpp/CMakeLists.txt Defines the TutorialServer executable, linking it with the generated C++ library and the core Thrift library. Optionally links zlib if found. ```cmake add_executable(TutorialServer CppServer.cpp) target_link_libraries(TutorialServer tutorialgencpp) target_link_libraries(TutorialServer thrift) if (ZLIB_FOUND) target_link_libraries(TutorialServer ${ZLIB_LIBRARIES}) endif () ``` -------------------------------- ### Setup Thrift WebSocket Client Source: https://github.com/apache/thrift/blob/master/lib/js/test/test-es6.html Establishes a WebSocket connection and initializes a Thrift client for testing. Ensure Thrift library is loaded and the server is accessible. ```javascript const loc = window.location; const ws_uri = ((loc.protocol === "https:") ? "wss://" : "ws://") + loc.hostname + ":" + loc.port + loc.pathname; const transport = new Thrift.TWebSocketTransport(ws_uri); const protocol = new Thrift.Protocol(transport); const client = new ThriftTest.ThriftTestClient(protocol); transport.open(); ``` -------------------------------- ### Build TutorialClient Executable Source: https://github.com/apache/thrift/blob/master/tutorial/cpp/CMakeLists.txt Defines the TutorialClient executable, linking it with the generated C++ library and the core Thrift library. Optionally links zlib if found. ```cmake add_executable(TutorialClient CppClient.cpp) target_link_libraries(TutorialClient tutorialgencpp) target_link_libraries(TutorialClient thrift) if (ZLIB_FOUND) target_link_libraries(TutorialClient ${ZLIB_LIBRARIES}) endif () ``` -------------------------------- ### Setup OASIS Build Tool Source: https://github.com/apache/thrift/blob/master/tutorial/ocaml/README.md Initializes the build environment using the OASIS build tool. This prepares the project for compilation. ```bash oasis setup ``` -------------------------------- ### Install JavaScript Dependencies Source: https://github.com/apache/thrift/blob/master/lib/js/CMakeLists.txt Adds a custom target to install JavaScript dependencies using npm. This command runs 'npm install' in the current source directory. ```cmake add_custom_target(ThriftJavascriptPreDeps ALL COMMENT "Installing Javascript dependencies using npm" DEPENDS copy-thrift-compiler COMMAND npm install WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) ``` -------------------------------- ### Install Java Library and Docs Source: https://github.com/apache/thrift/blob/master/lib/java/CMakeLists.txt CMake install commands for the Java library JARs and Javadoc. These commands ensure the built artifacts are placed in the correct installation directories. ```cmake install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build/libs/ DESTINATION ${JAVA_INSTALL_DIR} FILES_MATCHING PATTERN "libthrift-${thrift_version}.jar") install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build/deps/ DESTINATION ${JAVA_INSTALL_DIR} FILES_MATCHING PATTERN "*.jar") install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/build/docs/javadoc/ DESTINATION ${JAVA_DOC_INSTALL_DIR}) ``` -------------------------------- ### Install Jazzer.js Source: https://github.com/apache/thrift/blob/master/lib/nodejs/test/fuzz/README.md Install Jazzer.js as a development dependency using npm. ```bash npm install --save-dev @jazzer.js/core ``` -------------------------------- ### Install Development Tools on CentOS Source: https://github.com/apache/thrift/blob/master/doc/install/centos.md Installs the necessary group of packages for software development on CentOS. ```bash sudo yum -y groupinstall "Development Tools" ``` -------------------------------- ### Run Thrift Node.js Server Source: https://github.com/apache/thrift/blob/master/lib/nodejs/examples/README.md Start the Node.js Thrift server. Ensure the NODE_PATH is set correctly to include the Thrift library. ```bash NODE_PATH=../lib:../lib/thrift node server.js ``` -------------------------------- ### Install Thrift Ruby Gem Source: https://github.com/apache/thrift/blob/master/lib/rb/README.md Install the Thrift Ruby library using RubyGems. This is the recommended method for most users. ```bash gem install thrift ``` -------------------------------- ### Accessing and Verifying Thrift Installation in Vagrant VM Source: https://github.com/apache/thrift/blob/master/contrib/vagrant/centos-6.5/README.md How to SSH into the Vagrant VM and check the installed Thrift version. ```bash vagrant ssh [vagrant@thrift ~]$ cd /thrift [vagrant@thrift thrift]$ compiler/cpp/thrift --version ``` -------------------------------- ### Configure Qt5 and Build Executable Source: https://github.com/apache/thrift/blob/master/lib/cpp/test/qt/CMakeLists.txt Finds the required Qt5 components and defines the executable for the TCP server test. Ensure Qt5 is installed and discoverable by CMake. ```cmake set(CMAKE_AUTOMOC ON) find_package(Qt5 REQUIRED COMPONENTS Test Network) set(TQTcpServerTest_Qt5_SOURCES TQTcpServerTest.cpp ) add_executable(TQTcpServerTest_Qt5 ${TQTcpServerTest_Qt5_SOURCES}) ``` -------------------------------- ### Set JavaScript Installation Directory Source: https://github.com/apache/thrift/blob/master/lib/js/CMakeLists.txt Configures the installation directory for JavaScript files. It checks if the provided LIB_INSTALL_DIR is absolute and constructs the JAVASCRIPT_INSTALL_DIR accordingly. ```cmake if(NOT JAVASCRIPT_INSTALL_DIR) if(IS_ABSOLUTE "${LIB_INSTALL_DIR}") set(JAVASCRIPT_INSTALL_DIR "${LIB_INSTALL_DIR}/js") else() set(JAVASCRIPT_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/js") endif() endif() ``` -------------------------------- ### Basic Ruby Thrift Client Source: https://github.com/apache/thrift/blob/master/lib/rb/README.md Example of setting up and using a basic Thrift client in Ruby. Ensure the generated 'gen-rb' directory is in the load path and Thrift is required. ```ruby $:.push File.expand_path('gen-rb', __dir__) require 'thrift' require 'calculator' socket = Thrift::Socket.new('localhost', 9090) transport = Thrift::BufferedTransport.new(socket) protocol = Thrift::BinaryProtocol.new(transport) client = Calculator::Client.new(protocol) transport.open puts client.add(1, 1) transport.close ``` -------------------------------- ### Cloning Apache Thrift and Starting Vagrant VM Source: https://github.com/apache/thrift/blob/master/contrib/vagrant/centos-6.5/README.md Steps to clone the Apache Thrift repository and initiate the Vagrant environment for Centos 6.5. ```bash git clone https://github.com/apache/thrift cd thrift/contrib/vagrant/centos-6.5 vagrant up ``` -------------------------------- ### Basic Ruby Thrift Server Source: https://github.com/apache/thrift/blob/master/lib/rb/README.md Example of setting up a basic Thrift server in Ruby. This includes defining a handler class and configuring the server transport, factories, and processor. ```ruby $:.push File.expand_path('gen-rb', __dir__) require 'thrift' require 'calculator' class CalculatorHandler def add(a, b) a + b end end handler = CalculatorHandler.new processor = Calculator::Processor.new(handler) server_transport = Thrift::ServerSocket.new(9090) transport_factory = Thrift::BufferedTransportFactory.new protocol_factory = Thrift::BinaryProtocolFactory.new server = Thrift::ThreadedServer.new(processor, server_transport, transport_factory, protocol_factory) server.serve ``` -------------------------------- ### Run SSL Server Source: https://github.com/apache/thrift/blob/master/test/keys/README.md Starts an SSL server on port 9090 that serves web content using 'openssl s_server'. ```bash openssl s_server -accept 9090 -www ``` -------------------------------- ### Set JavaScript Documentation Installation Directory Source: https://github.com/apache/thrift/blob/master/lib/js/CMakeLists.txt Configures the installation directory for JavaScript documentation. It checks if the provided DOC_INSTALL_DIR is absolute and constructs the JAVASCRIPT_DOC_INSTALL_DIR accordingly. ```cmake if(IS_ABSOLUTE "${DOC_INSTALL_DIR}") set(JAVASCRIPT_DOC_INSTALL_DIR "${DOC_INSTALL_DIR}/js") else() set(JAVASCRIPT_DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}/js") endif() ``` -------------------------------- ### Install Thrift Headers Source: https://github.com/apache/thrift/blob/master/lib/cpp/CMakeLists.txt Installs Thrift header files from the 'src/thrift' directory to the specified include destination, matching files with .h or .tcc extensions. ```cmake install(DIRECTORY "src/thrift" DESTINATION "${INCLUDE_INSTALL_DIR}" FILES_MATCHING PATTERN "*.h" PATTERN "*.tcc") ``` -------------------------------- ### Basic CMake Configuration Source: https://github.com/apache/thrift/blob/master/build/cmake/README.md Use this command to generate a build framework for Thrift using CMake. Ensure you are in an out-of-tree build directory. ```bash mkdir /tmp/build cd /tmp/build cmake /location/to/thrift ``` -------------------------------- ### Run All Client Library Tests Source: https://github.com/apache/thrift/blob/master/README.md Execute all unit tests for the client libraries from the top-level directory. The -k flag ensures that the process continues even if some tests fail. ```bash make -k check ``` -------------------------------- ### Build Thrift Libraries and C++ SDK Source: https://github.com/apache/thrift/blob/master/build/docker/msvc/README.md Execute this command within the Docker container to build, test, and install the C++ SDK for Thrift into the C:\Install directory. ```powershell docker run -v C:\thrift:C:\thrift^ -v C:\install:C:\install^ -m 4096 --rm -t thrift/thrift-build:msvc2017^ C:\thrift\build\docker\msvc2017\build.bat ``` -------------------------------- ### Run All Platform Matrix Tests for Thrift Docker Image Source: https://github.com/apache/thrift/blob/master/docker/README.md Execute tests across the supported platform matrix for the Thrift Docker image. This may utilize Buildx and require QEMU/binfmt support. ```bash cd docker ./test.sh --all-platforms ```