Connecting to the ScaleOut Repository

The ScaleOut repository is hosted in a Sonatype Nexus Repository at:

https://packages.scaleoutsoftware.com

The Maven release repository is named:

scaleout-release

The full repository URL is:

https://packages.scaleoutsoftware.com/repository/scaleout-release/

Configure your build system using one of the following examples.

Add the ScaleOut release repository to the project’s pom.xml:

<repositories>
    <repository>
        <id>scaleout-release</id>
        <name>ScaleOut Release Repository</name>
        <url>https://packages.scaleoutsoftware.com/repository/scaleout-release/</url>

        <releases>
            <enabled>true</enabled>
        </releases>
    </repository>
</repositories>

Dependencies stored in the repository can then be referenced normally.

For example:

<dependency>
    <groupId>com.scaleoutsoftware</groupId>
    <artifactId>scaleout-client</artifactId>
    <version>3.2.4</version>
</dependency>

Maven will retrieve the artifact from the configured ScaleOut repository when the project is built.

Configuring Maven Globally

The repository can also be configured in the user’s Maven settings.xml file.

On Linux and macOS, the file is normally located at:

~/.m2/settings.xml

On Windows, it is normally located at:

%USERPROFILE%\.m2\settings.xml

Add a profile containing the ScaleOut repository:

<settings>
    <profiles>
        <profile>
            <id>scaleout</id>

            <repositories>
                <repository>
                    <id>scaleout-release</id>
                    <name>ScaleOut Release Repository</name>
                    <url>https://packages.scaleoutsoftware.com/repository/scaleout-release/</url>

                    <releases>
                        <enabled>true</enabled>
                    </releases>
                </repository>
            </repositories>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>scaleout</activeProfile>
    </activeProfiles>
</settings>

This configuration makes the ScaleOut release repository available to all Maven projects run by the user.

Add the ScaleOut release repository to the project’s build.gradle:

repositories {
    maven {
        name = "scaleoutRelease"
        url = uri("https://packages.scaleoutsoftware.com/repository/scaleout-release/")
    }

    mavenCentral()
}

Dependencies stored in the repository can then be referenced normally.

For example:

dependencies {
    implementation "com.scaleoutsoftware:scaleout-client:3.2.4"
}

Gradle will retrieve the artifact from the configured ScaleOut repository when the project is built.

Configuring All Projects

For a multi-project Gradle build, the repository can be configured centrally in settings.gradle:

dependencyResolutionManagement {
    repositories {
        maven {
            name = "scaleoutRelease"
            url = uri("https://packages.scaleoutsoftware.com/repository/scaleout-release/")
        }

        mavenCentral()
    }
}

This makes the ScaleOut release repository available to all projects in the Gradle build.

Add the ScaleOut release repository to the project’s build.gradle.kts:

repositories {
    maven {
        name = "scaleoutRelease"
        url = uri("https://packages.scaleoutsoftware.com/repository/scaleout-release/")
    }

    mavenCentral()
}

Dependencies stored in the repository can then be referenced normally.

For example:

dependencies {
    implementation("com.scaleoutsoftware:scaleout-client:3.2.4")
}

Gradle will retrieve the artifact from the configured ScaleOut repository when the project is built.

Configuring All Projects

For a multi-project Gradle build, the repository can be configured centrally in settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        maven {
            name = "scaleoutRelease"
            url = uri("https://packages.scaleoutsoftware.com/repository/scaleout-release/")
        }

        mavenCentral()
    }
}

This makes the ScaleOut release repository available to all projects in the Gradle build.