This repository is a community-maintained, curated registry of EVM-compatible blockchain networks. It contains thousands of JSON files under `_data/chains/`, each defining a chain's metadata: RPC endpoints, native currency, explorers, icons (IPFS CIDs), status (active/deprecated/incubating), parent L2 relationships, and feature flags. The dataset is the primary asset, designed for consumption by wallets, dApps, block explorers, and infrastructure tooling that needs up-to-date chain information. Beyond the data, the repository includes a Kotlin-based processor that validates all chain definitions (schema compliance, icon size/format, IPFS retrievability, ENS address checks) and produces aggregated `chains.json` and `chains_mini.json` outputs. A published Kotlin model library (`model/`) and an HTTP loader (`httpsloader/`) enable programmatic access. CI pipelines enforce formatting, schema validation, and per-PR checks. The project is hybrid: its core value is the dataset, but it also delivers a well-engineered application layer for validation, aggregation, and distribution. The registry answers questions like 'What RPC endpoints are available for chain X?', 'What is the native currency of chain Y?', 'Which chains are L2s of Ethereum?', and 'What explorers support EIP3091?'. It serves as a single source of truth for EVM chain metadata, reducing fragmentation across the ecosystem.
This repository implements a GitHub Action (`actions/setup-java`) that installs a Java JDK or JRE in CI environments. It supports 17+ distributions (Adoptium Temurin, Azul Zulu, Microsoft, Amazon Corretto, GraalVM, Liberica, etc.) and resolves versions from user input, version files (`.java-version`, `.tool-versions`, `.sdkmanrc`), or the `latest` alias. The action also sets up dependency caching for Maven, Gradle, and sbt, generates Maven settings.xml with server credentials and GPG signing profiles, and handles Maven toolchains.xml merging across workflow steps. It includes signature verification (GPG) for Temurin and Microsoft distributions and checksum verification for downloaded archives. The architecture is modular: a factory pattern lazily loads distribution-specific installer classes (each extending an abstract `JavaBase`), which handle version resolution, download, extraction, and tool-cache registration. A separate cache system (JDK binary cache, dependency cache, and resolution cache) uses GitHub Actions cache primitives with configurable retention. The codebase is written in TypeScript and heavily leverages the `@actions/*` toolkit. Tests mock all external dependencies and use static JSON fixtures to simulate vendor APIs. The action is deployed as compiled bundles in `dist/` and is actively maintained with comprehensive CI workflows for e2e testing across OS, architecture, and distribution variants. The core value of this repository is its reliability and breadth of support: it automates the brittle process of Java version management in CI, handles edge cases like early-access builds, floating version tags, and platform-specific package types (jdk+fx, jdk+jmods, etc.). The caching and retry logic reduce pipeline execution time and failure rates. While tightly integrated with GitHub Actions, several internal modules (retrying HTTP client, checksum verification, XML escaping) are isolated enough for potential extraction into other TypeScript projects.
This repository contains a single Kotlin script, `deep-clean.main.kts`, which is a command-line tool for cleaning build caches and temporary files in Gradle and Android projects. The script provides options to clean local project directories (like 'build' and '.gradle'), remove IDE project files, and optionally clear global caches (Gradle, Maven, IDE settings) when the '--nuke' flag is used. It also kills related processes such as the Gradle daemon and ADB server. The script is built using the Clikt library for command-line argument parsing and features a set of well-designed helper functions for safe file operations (including dry-run, backup, and verbose modes). These helper functions, particularly the extension functions on File and Sequence<File> for deletion and backup, are well-crafted and could be reused in other projects with minimal modification.
The Gradle Changelog Plugin is a library that provides tasks and helper methods for managing changelogs in the 'Keep a Changelog' format. It parses Markdown changelog files to extract versioned sections, supports rendering in multiple formats (Markdown, HTML, plain text), and provides three main Gradle tasks: getChangelog (retrieves changelog for a version), initializeChangelog (creates a new changelog file), and patchChangelog (releases the unreleased section). The plugin features robust handling of various line separators, preservation of inline links in version headers, and flexible configuration for different Git hosting platforms.
pg-index-health is an embeddable Java library and schema linter for PostgreSQL that detects common database anti-patterns and promotes best practices. It provides over 40 diagnostic checks covering duplicated/intersected indexes, bloat, missing indexes, inappropriate column types, naming violations, unlogged tables, sequence overflow, and many more. The library is designed for integration into applications (via Spring Boot starter) or use in CI pipelines to enforce schema quality. It supports both single-host and high-availability PostgreSQL clusters, with checks that can run statically (against schema only) or require accumulated statistics. The architecture is a multi-module Gradle project: `pg-index-health-model` defines immutable domain objects (Table, Index, Column, ForeignKey, etc.) with validation and composable predicates; `pg-index-health-core` implements host-level checks using a template pattern (`AbstractCheckOnHost`) with SQL queries loaded from a separate submodule; `pg-index-health` wraps these into cluster-level checks (`AbstractCheckOnCluster`) that aggregate results across primary and standby nodes; `pg-index-health-jdbc-connection` provides connection factories with primary host detection and multi-host URL parsing; `pg-index-health-generator` produces corrective SQL migrations; `pg-index-health-logger` formats results; and `pg-index-health-testing` offers Testcontainers-based test fixtures. Optional Jackson 2/3 modules enable JSON serialization of results. Key entry points include `StandardChecksOnHost` and `StandardChecksOnCluster` which enumerate all available checks, and the Spring Boot auto-configuration (`DatabaseStructureHealthAutoConfiguration`) that registers check beans. Data flows involve querying PostgreSQL system catalogs (`pg_catalog`, `pg_stat_*`), mapping result sets to domain objects via `ResultSetExtractor` implementations, applying exclusion predicates (e.g., skip Flyway/Liquibase tables, small tables, named objects), and returning lists of deviations. External dependencies are minimal: PostgreSQL JDBC driver, Apache DBCP2 connection pool, and Testcontainers for testing. The library is published to Maven Central and includes a BOM for dependency management.
Kopy is a Kotlin compiler plugin that generates an ergonomic DSL for immutable updates on data classes. It adds `copy`, `set`, `update`, and `updateEach` functions to data classes annotated with `@Kopy`, enabling deep nested property changes without manual `copy` chains. The plugin uses `kotlin.concurrent.atomics.AtomicReference` for thread-safe snapshots and integrates as a Gradle plugin. The codebase is a multi-module Gradle project with a compiler plugin module (`kopy-compiler`), a Gradle plugin module (`kopy-gradle-plugin`), a runtime annotations module (`kopy-runtime`), and a configuration enums module (`kopy-args`). It includes extensive test data for FIR and IR transformations, covering diagnostics, box tests, visibility, inheritance, serialization, and edge cases. The project is actively maintained, with a well-structured architecture and high test coverage.
Termux is an Android terminal emulator and Linux environment app that provides a full command-line experience on Android devices. It combines a VT100/xterm-compatible terminal emulator (written in Java with JNI for PTY creation) with a bootstrap Linux environment containing common command-line tools (bash, ssh, compilers, etc.). The architecture is modular: a core terminal-emulator library handles escape sequences, Unicode, sixel graphics, and session management; a terminal-view module provides the Android View widget for rendering; a termux-shared library contains reusable utilities for file I/O, IPC, preferences, error handling, and shell execution; and the app module ties everything together with activities, services, and a plugin ecosystem (API, Float, Tasker, Widget, etc.). Key entry points include TermuxActivity (main UI), TermuxService (foreground service managing sessions), RunCommandService (plugin command execution), and TermuxInstaller (bootstrap setup). External dependencies include Android SDK (target 28, compile 36), Gradle, NDK for native code, and libraries like Apache Commons IO, Guava, and Markwon for markdown rendering.
This repository is an IntelliJ Platform plugin that integrates ktlint, the Kotlin linter, into JetBrains IDEs. It runs ktlint automatically on Kotlin files, highlights violations in the editor, provides quick fixes, and supports custom rulesets and baseline files. The plugin is built as a Gradle multi-module project with a dedicated ktlint-lib module that bundles the ktlint engine, and a ktlint-plugin module containing the IntelliJ-specific integration. It uses the IntelliJ Platform Gradle Plugin, convention plugins in build-logic, and a set of shell scripts for release and IDE compatibility checks. Architecturally, the plugin is a standard IntelliJ plugin: it registers an external annotator for real-time diagnostics, a local inspection for batch analysis, and persistent settings components for application and project configuration. It caches baseline violations to avoid re-reporting known issues and loads external ruleset JARs at runtime. The build is automated with GitHub Actions for build verification, UI tests, IDE release checks, and Gradle wrapper updates. The code is written in Kotlin and follows IntelliJ plugin best practices, with JUnit4 tests and a release pipeline that generates plugin descriptions from the README.
Baritone is a Minecraft client-side automation bot that provides autonomous pathfinding, mining, building, exploration, and entity following. It operates as a mod for Fabric, Forge, and NeoForge, integrating deeply with the Minecraft client via mixins to control player movement, block interaction, and chat commands. The system is architected around a central `Baritone` class that orchestrates behaviors (pathing, look, inventory), processes (mine, build, follow, elytra flight), a command system with tab completion, world caching for long-distance pathing, and a schematic system for declarative building. It exposes a public API (`baritone.api`) for embedding in custom utility clients. The core pathfinding engine uses A* with custom movement costs, supporting ground movement (walking, jumping, parkour, swimming) and elytra flight through a Java port of a native nether pathfinder. The world is cached in a compressed 2-bit format (air, solid, water, avoid) with disk persistence, enabling pathfinding across large distances. The command system supports dozens of chat commands (`#goto`, `#mine`, `#build`, `#follow`, `#farm`, `#explore`) with argument parsing and datatype validation. The schematic system allows loading and building structures from various formats (MCEdit, Sponge, Litematica) with composable masks, rotations, and substitutions. External dependencies include the Minecraft client itself (via mixins), optional integration with Litematica and Schematica mods, and a native library for elytra pathfinding (with a Java fallback). The build system uses Gradle with ProGuard for jar shrinking and a custom `Determinizer` for reproducible builds. The codebase is actively maintained with frequent commits, though it carries technical debt from version-specific mixins, commented-out code, and some monolithic process files. It is a high-quality example of game automation and pathfinding research, but its tight coupling to Minecraft internals limits reusability outside that domain.
python-for-android (p4a) is a build toolchain that packages Python applications into Android APK, AAB, and AAR binaries. It cross-compiles Python interpreters, native libraries, and Python packages for Android architectures (arm64-v8a, armeabi-v7a, x86_64, x86) using the Android NDK and SDK. The system is driven by a recipe system where each Python package or native library defines its download, patching, and build steps. A bootstrap system (SDL2, SDL3, webview, Qt, service-only) generates the Android project structure and Gradle build files. The tool is primarily used via CLI (`p4a` or `python-for-android`) or integrated with Buildozer. It resolves dependencies via a graph algorithm that handles conflicts, alternatives, and optional dependencies. The codebase is large and mature, with hundreds of recipes and extensive CI testing, but carries technical debt from version-specific patches and workarounds for Android's evolving ecosystem.
Gratatouille is a framework for building Gradle plugins using a functional programming approach. It processes Kotlin functions annotated with @GTask, @GPlugin, and @GExtension via KSP to generate complete Gradle plugin implementations including task classes, workers, entry points, and descriptor files. The framework enforces classloader isolation to prevent dependency conflicts and provides automatic build caching, parallel execution, and automatic task wiring. Generated code follows Gradle best practices with proper input/output annotations and up-to-date checks.
This repository is an educational resource that accompanies the 'Understanding Gradle' video series. It contains a series of self-contained example Gradle projects, each demonstrating a specific concept of the Gradle build tool, from basic settings files to advanced topics like artifact transforms and Java module path. The examples are structured as independent projects with their own build configurations, often using composite builds and convention plugins to illustrate best practices. The code is well-crafted, following modern Gradle patterns (Kotlin DSL, lazy configuration, variant-aware dependency management). While not a production application, the repository serves as a reference implementation for Gradle best practices and provides reusable patterns for structuring real-world Gradle projects. The architecture is a collection of example projects, each with a my-build-logic directory containing reusable convention plugins, and a my-project directory demonstrating the concept. The examples cover the full spectrum of Gradle functionality, from settings files to CI integration.
This repository is a GitHub template for bootstrapping Kotlin Android projects with a modern, opinionated build setup. It provides a multi-module structure (app, library-android, library-kotlin, library-compose) with pre-configured static analysis via detekt, CI/CD via GitHub Actions, and publishing to Maven Central. The codebase demonstrates best practices for Gradle Kotlin DSL, version catalogs, and precompiled script plugins. The sample modules include a simple factorial calculator to illustrate cross-module dependencies and testing patterns (unit, instrumentation, and Compose UI tests). While the template is not a production application itself, it serves as a solid foundation for new Android projects, emphasizing code quality and automation from the start.
AppUpdater is a multi-module Android library that provides in-app update functionality: it checks a remote version, downloads the APK, shows progress via notification or dialog, and installs the APK across Android versions. The core `app-updater` module contains the update orchestration, download/install services, notification handling, and file/checksum utilities; the `app-dialog` module provides a ready-made update dialog; the `app` module is a sample. The main entry point is the `AppUpdater` builder/facade, which accepts an `UpdateConfig` and optional custom parser/strategy implementations, so consumers can plug in their own update-info JSON schema.
Grazel is a Gradle plugin that migrates Android projects from Gradle to Bazel build systems. It analyzes Gradle project configuration, extracts Android-specific information (dependencies, variants, resources, manifest), and generates equivalent Bazel BUILD and WORKSPACE files. The plugin supports incremental migration, allowing parts of a project to use Bazel while others remain on Gradle. Architecture follows Gradle plugin conventions with modular separation: core plugin implementation, extension points for configuration, dependency analysis/resolution components, Android-specific extraction logic, Bazel rule generation using a type-safe Kotlin DSL for Starlark, and task management for orchestrating the migration process. Dependency injection via Dagger/Hilt ensures loose coupling and testability.
Android Code Studio (formerly AndroidIDE) is a full-featured Integrated Development Environment (IDE) designed to run natively on Android devices. It enables users to write, compile, and debug Android and Java applications directly on mobile hardware. The architecture is a modular monolith built with Kotlin and Java, utilizing a composite build system to bundle critical dependencies like the OpenJDK compiler, Logback, and XML parsers directly into the application rather than relying on external Maven repositories. Key functionality includes a custom code editor powered by Tree-sitter, a Language Server Protocol (LSP) implementation for Java and XML, a UI Designer for visual layout editing, and a terminal integration via Termux.
Ark-Pets is a desktop pet simulator application built on Java 17, designed to render Spine 2D character models on the user's desktop with physics simulation and interactive behaviors. The architecture employs a dual-process model: a JavaFX-based Launcher (`DesktopLauncher`) handles the UI, configuration, and asset management, while a libGDX-based Core (`EmbeddedLauncher`) runs the rendering loop and physics engine. These processes communicate via a socket-based IPC protocol, allowing multiple pet instances to run simultaneously. The application integrates deeply with the operating system, particularly Windows, using JNA to manage window handles, taskbar visibility, and mouse event forwarding. It features a custom physics engine (`Plane.java`) that handles gravity, friction, and repulsion, alongside a shader pipeline for visual effects like outlines and shadows. Network capabilities include version checking, announcement fetching, and model downloads via a CDN, with configuration stored in JSON files. While the codebase demonstrates solid engineering practices in its separation of concerns and modular UI design, it exhibits significant platform lock-in due to heavy reliance on Windows-specific APIs. Security debt is present in the form of SSL verification bypasses in network utilities. The project is actively maintained with recent commits and version updates, though cross-platform support remains incomplete.
Dependency Guard is a Gradle plugin that monitors and protects against unintentional dependency changes in JVM-based projects. It creates baseline files of project dependencies for specified configurations and compares current dependencies against these baselines during build execution. When unintended changes are detected, it fails the build and provides a clear diff of what changed, allowing developers to either re-baseline for intentional changes or investigate problematic dependency drift. The plugin supports both simple list format and hierarchical tree format for dependency reporting, with the list format being recommended for CI usage due to less noise. It integrates with Gradle's lifecycle by automatically attaching to the 'check' task and provides clear commands for creating and updating baselines.
The 21-Points Health application is a full-stack health tracking system built with a Spring Boot backend and an Angular frontend. It allows users to register, log in, and track various health metrics including weight, blood pressure, and activity points (from exercises, meals, and alcohol). Users can set personal preferences such as weekly goals and weight units (kg/lb). The application provides data visualization through lists, calendars, and charts, and includes administrative features for user management. The architecture follows a standard monolithic pattern with a clear separation of concerns. The backend exposes a RESTful API secured with JWT authentication, uses Spring Data JPA for persistence with a PostgreSQL database (H2 for development), and integrates Elasticsearch for search capabilities. The frontend is a modular Angular application that consumes the API, implements reactive state management with RxJS, and uses Bootstrap for responsive styling. The application also includes internationalization (English and French), Docker Compose configurations for development dependencies, and monitoring setups with Prometheus and Grafana. While the application leverages the JHipster generator for much of its boilerplate, it contains several custom components that demonstrate good engineering practices. Notable among these are a custom Logback converter for handling multi-line log messages, a utility service for file operations (base64 encoding and blob downloading), and a pipe for formatting time durations. These components are relatively isolated and could be reused in other projects with minimal modification.
SparklyPaper is a fork of PaperMC/Paper, the high-performance Minecraft server implementation. It applies a curated set of custom performance and feature patches on top of upstream Paper, with a focus on server tick optimization and configuration via a sparklypaper.yml file. The build is Gradle-based and produces a patched server jar; CI workflows automatically track upstream Paper and build the project. The repository is structured as a standard Paper fork: a Gradle multi-project build with a sparklypaper-api module and a patched server module. The runtime entry point is the standard Paper patched Minecraft server main class; custom behavior is introduced through patches that modify world ticking, chunk loading, and player data handling. The sparklypaper.yml file controls per-world settings, with defaults and per-world overrides. External dependencies include upstream Paper, Minecraft server jars, Gradle, and GitHub Actions. The repository also contains design notes (PARALLEL_NOTES.md), performance results (RESULTS.md), and a curated list of known-broken patches from other forks (BORKED_PATCHES.md). It is not a library or service; it is a server distribution for running Minecraft servers. No test suite is visible; CI focuses on build and auto-update.