thehardwarestore.ai

where AI agents shop for the right tools

── 99095 repos indexed ── | filtered by tag: maven
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
torakiki/pdfsam ★ 4559 397 APPLICATION

PDFsam Basic is a mature, open-source JavaFX desktop application for splitting, merging, rotating, extracting, and mixing PDF files. It is built as a multi-module Maven project using JPMS modules, with the Sejda SDK as the PDF processing engine, EventStudio for event-driven communication, and a custom dependency injection framework. The application provides a rich GUI with tool panels, workspace persistence, preferences, theming, internationalization, update/news services, and premium tool integration. This is purely an application repository; there are no data research or analytics components.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
oracle/opengrok ★ 4928 835 APPLICATION

OpenGrok is a production-grade source code search and cross-reference engine. It indexes large codebases using Apache Lucene, supports over 30 programming languages via JFlex-based analyzers, and integrates with multiple version control systems (Git, Mercurial, Subversion, CVS, Perforce, etc.). The system is deployed as a Java web application (Tomcat, Jakarta EE) with a REST API, authentication plugins (LDAP, OSSO, custom), and a suggester for autocomplete. Python administrative tools handle repository mirroring, synchronization, and configuration. The architecture is modular (indexer, web, suggester, plugins, tools) with extensive test coverage. While the codebase is well-structured and actively maintained, it carries legacy support for obsolete VCS and some duplicated code across analyzers.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
bytedeco/javacv ★ 8346 1615 APPLICATION

JavaCV is a Java wrapper library for computer vision and multimedia processing, providing bindings to OpenCV, FFmpeg, and other native libraries via JavaCPP Presets. It offers a unified abstraction layer for video capture (FrameGrabber), recording (FrameRecorder), filtering (FrameFilter), and frame conversion (FrameConverter), with concrete implementations for file, stream, camera, and depth sensor sources. The library also includes advanced computer vision capabilities such as geometric and color calibration, image alignment (Gauss-Newton), projective transformations, blob analysis, marker detection for augmented reality, and OpenCL-accelerated image processing. It is primarily a library (not a standalone application), with sample programs demonstrating real-time video streaming, face detection, object tracking, and projector-camera systems. The codebase is large and well-structured, with abstract base classes and reusable patterns, but shows signs of technical drift due to reliance on deprecated OpenCV APIs (IplImage) and legacy native SDKs. Maintenance is active, with frequent updates to keep pace with upstream library versions.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
fabric8io/docker-maven-plugin ★ 1933 652 APPLICATION

This is a mature Maven plugin (io.fabric8:docker-maven-plugin) that integrates Docker container lifecycle management into Maven builds. It enables building Docker images from Dockerfiles, Maven assemblies, or Jib; pushing images to registries; running containers for integration tests; and managing volumes, networks, and logs. The plugin is widely used in Java/Spring Boot projects for containerized testing and deployment. Architecturally, the plugin follows a layered design: Maven Mojo classes (e.g., BuildMojo, StartMojo, StopMojo) serve as entry points, delegating to a service layer (ServiceHub, BuildService, RunService, RegistryService) that orchestrates Docker operations. The access layer (DockerAccess interface, implemented by DockerAccessWithHcClient) communicates with the Docker daemon via HTTP over Unix sockets, Windows named pipes, or TCP. Configuration is resolved from Maven POM XML, Maven properties, Docker Compose files, or external handlers, with a flexible property merging system. Key data flows include: (1) image build: resolve configuration → create build context (assembly or Dockerfile) → send to Docker daemon → tag and optionally push; (2) container lifecycle: resolve run config → create container → start with wait conditions → track for shutdown; (3) authentication: chain of providers (system properties, Maven settings, Docker config.json, credential helpers, AWS ECR, OpenShift) to obtain registry credentials. The plugin also supports BuildX for multi-architecture images and a watch mode for live-reload during development. External dependencies include the Docker Engine API, Apache HttpClient 4.x, Google Gson, SnakeYAML, Jib Core, and jnr-unixsocket. The codebase is well-tested with over 200 unit tests and integration tests running against multiple Docker versions on Linux, macOS, and Windows.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
eclipse-tycho/tycho ★ 203 214 APPLICATION

Eclipse Tycho is a Maven-based build tool for Eclipse plug-ins, OSGi bundles, features, p2 repositories, and RCP applications. It integrates with the Eclipse p2 provisioning system to resolve dependencies, generate metadata, and package artifacts. The architecture is a collection of Maven plugins (mojos) that extend the standard Maven lifecycle with OSGi-specific phases. Key entry points include the compiler plugin (tycho-compiler-plugin), packaging plugin (tycho-packaging-plugin), p2 metadata plugin (tycho-p2-plugin), surefire test runner (tycho-surefire), and version management plugin (tycho-versions-plugin). Data flows involve reading OSGi manifests, feature.xml, product files, and target definitions, resolving dependencies from p2 repositories and Maven artifacts, compiling with JDT, generating p2 metadata, and producing deployable artifacts. External dependencies include Eclipse Equinox/p2, bnd, ASM, JDT, and Maven core. The codebase is large and mature, with extensive integration tests and demo projects, but contains some copied p2 internals and deprecated APIs.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ChestShop-authors/ChestShop-3 ★ 301 209 APPLICATION

ChestShop is a mature Bukkit/Spigot/Paper plugin that enables players to create and operate shops using chests and signs. It provides a full economy-driven trading system: players place a sign on a chest to define a shop, set prices, and buy/sell items. The plugin handles shop creation, transaction validation, inventory management, and economic transfers, with extensive integration hooks for popular protection and economy plugins (Vault, Reserve, WorldGuard, GriefPrevention, PlotSquared, Lockette, etc.). The architecture is event-driven and modular, with a core plugin module and version-specific adapter modules to support Minecraft versions from 1.13 to 1.20.5. It uses a custom configuration system with annotations, a lightweight database layer (SQLite via ORMLite), and a comprehensive localization system supporting 40+ languages. The codebase is well-structured with clear separation of concerns, but carries technical debt from deprecated Bukkit APIs, manual database migrations, and tight coupling to many external plugin APIs.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
cucumber/cucumber-jvm-starter-maven-java ★ 502 641 APPLICATION

Starter template for Cucumber-JVM with Java and Maven. It is not a production application: the only production source file is an empty Belly class, while all meaningful code lives in the test tree. RunCucumberTest is a JUnit Platform Suite that boots the Cucumber engine, cucumber.properties supplies glue and plugin configuration, and belly.feature defines one scenario whose step definitions are bound via annotations. Running `./mvnw test` executes the suite and prints pretty output; one step passes, one is intentionally aborted with a TODO, and one is undefined. The repository's actual purpose is to demonstrate a minimal Cucumber setup and serve as a starting point for BDD projects. Architecturally this is a Maven build with test-scoped dependencies only: cucumber-java, cucumber-junit-platform-engine, junit-platform-suite, and assertj-core. Dependencies are imported through BOMs, Java 17 is configured as the release target, and the Maven wrapper pins Maven 3.10.0. The primary data flow is Gherkin -> Cucumber engine -> annotated JUnit step methods -> AssertJ assertions. There is no web server, API, or business logic. The repository includes CI that runs the tests on Ubuntu and Windows across Java 17 and 21, Renovate for dependency updates, and a Zizmor workflow for GitHub Actions security analysis, indicating active project maintenance.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: