JVM Languages

CloudRepo provides comprehensive support for JVM-based languages and build tools.

Overview

The JVM ecosystem is one of CloudRepo’s core strengths, with native support for all major build tools and frameworks used in Java, Kotlin, Scala, Clojure, and other JVM languages.

Supported Build Tools

  • Apache Maven - The most widely used Java build tool

  • Gradle - Modern build automation with Groovy and Kotlin DSL

  • SBT - The interactive build tool for Scala

  • Leiningen - Build automation for Clojure

  • deps.edn - Clojure CLI tools

Repository Layout

CloudRepo uses the standard Maven 2 repository layout, ensuring compatibility with all JVM build tools:

/repository-name/
├── com/
│   └── example/
│       └── my-library/
│           ├── 1.0.0/
│           │   ├── my-library-1.0.0.jar
│           │   ├── my-library-1.0.0.pom
│           │   └── my-library-1.0.0-sources.jar
│           └── maven-metadata.xml

Common Configuration

All JVM build tools share similar configuration patterns:

Repository URL Format

https://[org-id].cloudrepo.io/repository/[repository-name]

Authentication

Use one of these methods:

  1. Username/Password: Your CloudRepo credentials

  2. API Key: Generated from the CloudRepo dashboard

  3. Environment Variables: For CI/CD systems

Quick Start Examples

Maven

<repository>
  <id>cloudrepo</id>
  <url>https://[org-id].cloudrepo.io/repository/maven-releases</url>
</repository>

Gradle

repositories {
  maven {
    url "https://[org-id].cloudrepo.io/repository/maven-releases"
  }
}

SBT

resolvers += "CloudRepo" at "https://[org-id].cloudrepo.io/repository/maven-releases"

Best Practices

  1. Separate Release and Snapshot Repositories: Use different repositories for stable releases and development snapshots

  2. Use Repository Groups: Combine multiple repositories into a single URL

  3. Configure Caching: Set appropriate cache timeouts for snapshots

  4. Secure Credentials: Never commit credentials to version control

Next Steps

Choose your build tool to get detailed configuration instructions: