Tag

Build System

0 views collected around this technical thread.

Continuous Delivery 2.0
Continuous Delivery 2.0
Jun 21, 2024 · Operations

Automated Dead Code Deletion at Scale: Google’s Sesenmann Project

The article explains how Google tackles the costly problem of dead code in its massive monorepo by using the Sesenmann automated deletion system, which leverages build‑system dependency graphs, activity signals, and graph‑analysis algorithms to safely identify and remove unused C++ code while addressing cultural resistance among engineers.

Build SystemDependency AnalysisMonorepo
0 likes · 10 min read
Automated Dead Code Deletion at Scale: Google’s Sesenmann Project
Continuous Delivery 2.0
Continuous Delivery 2.0
Jun 13, 2024 · Backend Development

Comparison of Meson and Bazel Build Systems

Meson and Bazel are modern build systems with distinct design philosophies, target users, and features; Meson emphasizes simplicity, Python‑like DSL, and fast incremental builds for beginners, while Bazel, developed by Google, focuses on scalability, reproducibility, remote caching, and complex dependency management for large‑scale projects.

BazelBuild SystemComparison
0 likes · 4 min read
Comparison of Meson and Bazel Build Systems
Deepin Linux
Deepin Linux
Oct 7, 2023 · Fundamentals

Comprehensive CMake Tutorial: Basics, Advanced Features, and Integration with CLion

This article provides a step‑by‑step guide to using CMake for cross‑platform builds, covering fundamental concepts, basic project setup, adding versioning and configuration headers, creating libraries, optional components, installation, testing, packaging with CPack, dashboard integration, and practical usage within JetBrains CLion for C/C++ development.

Build SystemC++CI/CD
0 likes · 33 min read
Comprehensive CMake Tutorial: Basics, Advanced Features, and Integration with CLion
Bilibili Tech
Bilibili Tech
Jul 14, 2023 · Mobile Development

Bazel Modules, rules_xcodeproj, and Fastbuild Rule for iOS Monorepo at Bilibili

Bilibili’s iOS team migrated from the cumbersome WORKSPACE model to Bazel Modules, adopted the community‑maintained rules_xcodeproj to replace Tulsi, and built a custom Fastbuild rule that hashes source files to reuse binaries, cutting incremental build times from dozens of minutes to under two.

BazelBuild SystemFastbuild
0 likes · 22 min read
Bazel Modules, rules_xcodeproj, and Fastbuild Rule for iOS Monorepo at Bilibili
ByteDance Terminal Technology
ByteDance Terminal Technology
Jul 6, 2023 · Mobile Development

In-depth Comparison of Bazel and Gradle Build Systems for Android

This article provides a comprehensive comparison of Bazel and Gradle build systems, examining their design philosophies, concurrency, incremental compilation, configuration phases, performance benchmarks, and ecosystem support, particularly in the context of large‑scale Android monorepo projects, to help developers choose the appropriate tool.

AndroidBazelBuild System
0 likes · 26 min read
In-depth Comparison of Bazel and Gradle Build Systems for Android
ByteDance Terminal Technology
ByteDance Terminal Technology
Jun 29, 2023 · Mobile Development

Migrating ByteDance's iOS Build System to Bazel: Challenges, Architecture, and Outcomes

The article details ByteDance's transition from CocoaPods‑based component management to a Bazel‑driven monorepo build system, describing the problems faced, the two‑stage migration process, the BitSky build service architecture, custom plugin mechanisms, and the performance gains achieved after the migration.

BazelBuild SystemCI/CD
0 likes · 24 min read
Migrating ByteDance's iOS Build System to Bazel: Challenges, Architecture, and Outcomes
Continuous Delivery 2.0
Continuous Delivery 2.0
Jun 14, 2023 · Backend Development

Large‑Scale Code Deletion at Google (Sensenmann Project)

The article examines Google’s massive monorepo, the challenges of dead code, the Sensenmann project’s automated deletion using build‑graph analysis and Tarjan’s algorithm, discusses whitelist handling and communication strategies, and concludes with a brief promotion for a Python continuous‑deployment course.

Build SystemMonorepoTarjan algorithm
0 likes · 11 min read
Large‑Scale Code Deletion at Google (Sensenmann Project)
ByteDance Terminal Technology
ByteDance Terminal Technology
Mar 30, 2023 · Mobile Development

Monorepo Full-Source Strategy for Mobile Development: Challenges, Solutions, and Practice

This article examines the drawbacks of multi‑repo development for large mobile apps, explains the concepts of monorepo and full‑source, and details ByteDance's BitSky implementation—including migration phases, Bazel build migration, dependency management, developer tools, and measurable efficiency gains.

BazelBuild SystemDevOps
0 likes · 17 min read
Monorepo Full-Source Strategy for Mobile Development: Challenges, Solutions, and Practice
Sohu Tech Products
Sohu Tech Products
Mar 16, 2023 · Mobile Development

Understanding Xcode Project Files and the Xcodeproj Ruby Library

This article explains how Xcode organizes projects through xcworkspace and xcodeproj bundles, details the structure of the project.pbxproj file, describes the role of PBX objects such as PBXFileReference and PBXGroup, and shows how to manipulate Xcode projects programmatically using the Xcodeproj Ruby gem.

Build SystemRubyXcode
0 likes · 24 min read
Understanding Xcode Project Files and the Xcodeproj Ruby Library
Bilibili Tech
Bilibili Tech
Jun 21, 2022 · Mobile Development

Adopting Monorepo and Bazel for Bilibili iOS Development

Bilibili migrated its iOS codebase from a fragmented polyrepo to a unified monorepo and adopted Google‑backed Bazel, enabling clear BUILD files, atomic commits, fast parallel and cached builds, reliable dependency resolution, easy Xcode integration via Tulsi, and extensible custom rules for scalable, maintainable development.

BazelBuild SystemCI/CD
0 likes · 21 min read
Adopting Monorepo and Bazel for Bilibili iOS Development
Sohu Tech Products
Sohu Tech Products
Dec 22, 2021 · Fundamentals

Introduction to Gradle and Android Gradle Plugin: Build System Basics

This article introduces the fundamentals of Gradle as a universal build automation tool and explains how the Android Gradle Plugin integrates with it, covering project structure, build files, tasks, the three build lifecycle phases, DSL syntax, and provides example Groovy/Kotlin scripts for configuring Android applications.

AGPAndroidBuild System
0 likes · 8 min read
Introduction to Gradle and Android Gradle Plugin: Build System Basics
Sohu Tech Products
Sohu Tech Products
Nov 4, 2021 · Mobile Development

Understanding Xcode Project Files and the Xcodeproj Ruby Library

This article explains the structure of Xcode workspace and project bundles, the role of the project.pbxproj file and its Property List format, how Xcodeproj maps these objects in Ruby, and demonstrates practical code for adding files and dependencies to an Xcode project.

Build SystemRubyXcode
0 likes · 20 min read
Understanding Xcode Project Files and the Xcodeproj Ruby Library
Laravel Tech Community
Laravel Tech Community
Dec 21, 2020 · Fundamentals

CMake 3.19.2 Release: Apple Silicon Support and Various Improvements

CMake 3.19.2 introduces Apple ARM support, new variables for host processor selection, enhanced error handling, updated FindHDF5, Java test controls, CI job updates, and numerous bug fixes across compilers, PCH, and platform detection, making the cross‑platform build system more robust and flexible.

Apple SiliconBuild SystemVersion 3.19.2
0 likes · 3 min read
CMake 3.19.2 Release: Apple Silicon Support and Various Improvements
iQIYI Technical Product Team
iQIYI Technical Product Team
Nov 20, 2020 · Mobile Development

Componentization Architecture and Implementation for iQIYI Knowledge Mobile App

iQIYI Knowledge implemented a three‑layer componentization architecture—base, functional, and business components—combined with protocol‑based service registration, URL routing, and an automated build pipeline, enabling cross‑platform code reuse, independent testing, and faster integration while reducing coupling and maintenance overhead.

AndroidBuild Systemarchitecture
0 likes · 14 min read
Componentization Architecture and Implementation for iQIYI Knowledge Mobile App
Baidu App Technology
Baidu App Technology
Nov 23, 2019 · Frontend Development

Baidu's Large-Scale App Engineering Architecture and Tekes Platform

Senior Baidu engineer Guo Jin explains how the company tackles large‑scale front‑end challenges through a “big” engineering approach, using architectural splitting, componentization frameworks, advanced dependency tools, and the EasyBox solution—integrating MGIT, binary management, and a build system—while the Tekes platform automates version publishing and streamlines development across matrix products.

Build SystemParallel Developmentbinary management
0 likes · 11 min read
Baidu's Large-Scale App Engineering Architecture and Tekes Platform
Amap Tech
Amap Tech
Nov 14, 2019 · Mobile Development

Evolution of Amap Client and Engine Architecture: Fusion, Governance, and Dynamization

At the 2019 Hangzhou Yunqi Conference, Amap’s technical team detailed how they fused separate car‑machine and mobile clients into a unified engine, instituted architecture governance that cut compile and release times dramatically, and built a C++‑based dynamic rendering system that unifies Android and iOS, enabling rapid, cross‑platform feature delivery.

Build SystemDynamicNative
0 likes · 11 min read
Evolution of Amap Client and Engine Architecture: Fusion, Governance, and Dynamization
HomeTech
HomeTech
Apr 10, 2019 · Operations

Design and Implementation of a Plugin‑Based CI/CD Platform for Mobile App Development

The article describes a comprehensive CI/CD platform built on Jenkins and JBPM that streamlines compilation, process control, and external system integration for a large‑scale, plugin‑driven mobile app, addressing challenges such as build speed, code download, and task tracking.

Build SystemCI/CDJBPM
0 likes · 9 min read
Design and Implementation of a Plugin‑Based CI/CD Platform for Mobile App Development
Didi Tech
Didi Tech
Sep 22, 2017 · Operations

Didi’s “Jianmu” Build System: Architecture, Advantages, and Future Enhancements

Didi’s self‑developed “Jianmu” build system replaces Jenkins with a master‑slave architecture that colocates build scripts with source code, offering stable, high‑performance, permission‑controlled builds across multiple OSes via lightweight scheduling, workspace reuse, two‑level caching, Docker image management, and an “Env As Code” approach, while roadmap plans auto‑upgrades, elastic scaling, and further 30% efficiency gains.

Build SystemCI/CDContainerized Build
0 likes · 9 min read
Didi’s “Jianmu” Build System: Architecture, Advantages, and Future Enhancements
Hujiang Technology
Hujiang Technology
Apr 12, 2017 · Mobile Development

Understanding Android Soong Build System and Android.bp File Format

This article explains the Android Soong build system, its JSON‑like Android.bp file format, module definitions, variables, comments, types, operators, default modules, formatting tools, conversion from Android.mk, build logic, and common questions for mobile developers.

AndroidAndroid.bpBuild System
0 likes · 7 min read
Understanding Android Soong Build System and Android.bp File Format
Qunar Tech Salon
Qunar Tech Salon
Feb 17, 2017 · Fundamentals

Key Software Engineering Practices at Google

This article outlines Google’s comprehensive software engineering practices—including monolithic source repository management, the Blaze build system, automated testing, code review processes, defect tracking, language policies, debugging tools, release engineering, and project and personnel management—providing a concise overview for organizations seeking to adopt similar methods.

Build SystemCode ReviewGoogle
0 likes · 35 min read
Key Software Engineering Practices at Google