presto-build

Orchestrate local Presto Java and C++ builds across OSS and FB trunk.

1|Updated Nov 29, 2021
One-click install
npx skills add https://github.com/mkarrmann/dotfiles --skill presto-build
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: presto-build
Source: https://github.com/mkarrmann/dotfiles/tree/main/agent_config/skills/presto-build
Command: npx skills add https://github.com/mkarrmann/dotfiles --skill presto-build

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires eden, mvn, buck2.

What problem does it solve?

This tool automates local Presto development builds by coordinating Java and C++ compilation across multiple checkouts and trunk branches, reducing manual configuration.

Core Features & Use Cases

  • Automates module and full builds for Presto OSS and FB trunk.
  • Supports Java and C++ pipelines, tests, and checkstyle with deterministic outputs.
  • Use Case: A developer can run a full local build to validate changes across Presto's Java modules and native code before pushing changes.

Quick Start

Run presto-build with no arguments to run a full local OSS+FB build.

Frequently Asked Questions about presto-build

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate local Presto builds for Java and C++ across multiple trunk branches?

Local Presto builds for Java and C++ are automated by orchestrating Maven and Buck2 pipelines across OSS and FB trunk. It auto-detects repo context and isolates workspaces to reduce manual configuration.

What's the best way to run a full local Presto OSS and FB trunk build?

A full local Presto OSS and FB trunk build is executed by running the build tool with no arguments. This triggers module builds, native C++ binaries, tests, and checkstyle validation across both branches.

Does presto-build require Buck2 and Maven to compile Presto native binaries?

Yes, compiling Presto native C++ binaries requires Buck2 integration. Java modules are handled through Maven integration, with deterministic build roots preventing clobbering across checkouts.

How does workspace isolation prevent clobbering during Presto module builds?

Workspace isolation prevents clobbering by assigning deterministic build roots for Presto module builds. This mechanism manages multiple checkouts and trunk branches safely without overwriting outputs.

Can I run checkstyle and tests for Presto C++ native code locally?

Yes, local checkstyle and tests for Presto C++ native code are supported. The tool coordinates these pipelines alongside Java compilation to validate changes before pushing.

Why do my local Presto builds fail when switching between OSS and FB trunk checkouts?

Local Presto builds fail across checkouts due to clobbering without deterministic build roots. The tool auto-detects repo context and isolates workspaces to safely manage OSS and FB trunk builds.