Skip to content

seqeralabs/libseqera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libseqera

A collection of reusable Java & Groovy libraries for Seqera platform components. This multi-module project provides common functionality across Wave and other Seqera services.

Modules

Core Libraries

  • 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

Messaging & Data Libraries

Testing Support

Technology Stack

  • 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

Get Started

  1. Clone this repository:

    git clone https://github.com/seqeralabs/libseqera && cd libseqera
  2. Compile & run tests:

    ./gradlew check

Development

Build Commands

  • ./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

Using Makefile

  • make check - Run tests
  • make compile - Compile all modules
  • make deps - Show runtime dependencies
  • make deps module=module-name - Show dependencies for specific module

Module Structure

Each module follows standard conventions:

  • VERSION file containing the version string
  • build.gradle with module-specific configuration
  • Standard src/main/groovy and src/test/groovy structure
  • Spock tests using JUnit Platform

Publishing

Libraries are published to Seqera's private Maven repository on S3 using AWS credentials.

About

Library for Java & Groovy modules shared across Seqera projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages