A collection of reusable Java & Groovy libraries for Seqera platform components. This multi-module project provides common functionality across Wave and other Seqera services.
- wave-api - API models and DTOs for Wave container service
- wave-utils - Utility classes for Wave (Docker helpers, file operations, template rendering)
- lib-activator - Conditional activation markers for enabling components based on infrastructure availability
- lib-crypto - Cryptographic utilities (asymmetric encryption, HMAC signatures, secure tokens)
- lib-httpx - Enhanced HTTP client with automatic retry logic and JWT token refresh
- lib-mail - Email functionality with Micronaut integration
- lib-retry - Retry mechanisms with exponential backoff
- lib-pool - Simple object pooling utilities
- lib-lang - Language and type utilities
- lib-trace - Tracing and logging utilities
- lib-commons-io - Common I/O utilities for logging and streaming
- jedis-lock - Redis-based distributed locking using Jedis
- lib-data-queue-redis - Message queue abstraction with Redis and local implementations
- lib-data-stream-redis - Message streaming with Redis Streams and local implementations
- lib-serde - Serialization/deserialization utilities
- lib-random - Random key generation utilities
- lib-fixtures-redis - Test fixtures and containers for Redis-based testing
- Java 21 toolchain with Java 17 compatibility
- Groovy 4.0.24 for implementation and testing
- Micronaut 4.8.x for dependency injection and runtime
- Spock Framework for testing
- Redis/Jedis for messaging and distributed operations
- Testcontainers for integration testing
-
Clone this repository:
git clone https://github.com/seqeralabs/libseqera && cd libseqera
-
Compile & run tests:
./gradlew check
./gradlew check
- Run all tests and checks across all modules./gradlew assemble
- Compile all modules./gradlew :module-name:test
- Run tests for a specific module./gradlew :module-name:build
- Build a specific module
make check
- Run testsmake compile
- Compile all modulesmake deps
- Show runtime dependenciesmake deps module=module-name
- Show dependencies for specific module
Each module follows standard conventions:
VERSION
file containing the version stringbuild.gradle
with module-specific configuration- Standard
src/main/groovy
andsrc/test/groovy
structure - Spock tests using JUnit Platform
Libraries are published to Seqera's private Maven repository on S3 using AWS credentials.