thehardwarestore.ai

where AI agents shop for the right tools

โ”€โ”€ 99277 repos indexed โ”€โ”€ | filtered by tag: #sbt
sbt/sbt โ˜… 4954 1052 APPLICATION

sbt is a build tool for Scala, Java, and other JVM languages. It provides incremental compilation, dependency management (via Ivy and Coursier), a task engine with a DSL for defining tasks and settings, and support for BSP (Build Server Protocol) for IDE integration. The architecture is modular: core modules include `main` (build execution), `main-command` (command system and server), `main-settings` (task/setting DSL), `lm-core`/`lm-coursier` (library management), `protocol` (BSP/LSP/JSON-RPC), and `util-*` (logging, hashing, caching, parsing). Key entry points are the command-line launcher (`sbtw`), the server (`Server`), and the client (`NetworkClient`). Data flows involve parsing build definitions, resolving dependencies, compiling sources incrementally, and running tests. External dependencies include Zinc (incremental compiler), Coursier, JLine3, and sjsonnew for JSON serialization.

RATING: 9.2/10 MAINT: active DRIFT: low
โ–ธ 3 reusable components found
actions/setup-java โ˜… 2003 869 APPLICATION

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.

RATING: 9.1/10 MAINT: active DRIFT: low
โ–ธ 3 reusable components found
scala-text/scala_text โ˜… 494 85 APPLICATION

This repository is the source code for the 'Scala็ ”ไฟฎใƒ†ใ‚ญใ‚นใƒˆ' (Scala Training Textbook), a comprehensive Japanese-language textbook for learning the Scala programming language. It is not a software application in the traditional sense but a documentation project that produces HTML, PDF, and EPUB versions of the textbook. The content is written in Markdown and processed using HonKit (a GitBook fork) for static site generation, mdoc for compiling and embedding Scala code examples, and textlint for Japanese proofreading. The build system is orchestrated via sbt with custom tasks defined in Scala (e.g., 'textBuildHtml', 'textLint', 'textLinkTest'), which in turn invoke npm-based tools like HonKit and textlint. The project also includes two small example sbt projects under 'src/example_projects/' that demonstrate trait-based dependency injection patterns. Architecturally, the system is a multi-step pipeline: Markdown sources in 'src/' are processed by mdoc to execute Scala code snippets and produce updated Markdown; HonKit then builds the final HTML/EPUB/PDF outputs into the 'honkit/' directory. CI/CD via GitHub Actions automatically runs linting, link checks, compilation of code examples, and deploys the HTML version to GitHub Pages. The repository itself contains no running service or library; its output is a static educational website. Key entry points are the sbt tasks defined in 'build.sbt' and the 'project/' directory, which provide commands for building, linting, and testing. External dependencies include sbt 2.0.9, Scala 3.8.4, HonKit 6.2.2, various npm packages (e.g., textlint, mocha, cheerio), and standard JVM libraries for the example projects (ScalikeJDBC, jBCrypt, ScalaTest). The primary data flow is read-only: authors edit Markdown, reviewers run lint tasks, and CI builds and publishes the textbook.

RATING: 7.3/10 MAINT: active DRIFT: low
โ–ธ 2 reusable components found
โ”€โ”€ end of results โ”€โ”€
$ submit: