diff --git a/README.md b/README.md index f5a9b69..e6d2d3f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ # Hlæja {library} {description} + +### Global gradle properties + +To authenticate with Gradle to access repositories that require authentication, you can set your user and token in the `gradle.properties` file. + +Here's how you can do it: + +1. Open or create the `gradle.properties` file in your Gradle user home directory: + - On Unix-like systems (Linux, macOS), this directory is typically `~/.gradle/`. + - On Windows, this directory is typically `C:\Users\\.gradle\`. +2. Add the following lines to the `gradle.properties` file: + ```properties + repository.user=your_user + repository.token=your_token_value + ``` + or use environment variables `REPOSITORY_USER` and `REPOSITORY_TOKEN` diff --git a/build.gradle.kts b/build.gradle.kts index 9eba245..f98b69a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,10 +10,6 @@ java { } } -repositories { - mavenCentral() -} - dependencies { } diff --git a/gradle.properties b/gradle.properties index 6604987..91e878c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,3 @@ kotlin.code.style=official version=0.1.0-SNAPSHOT +catalog=0.10.0 diff --git a/settings.gradle.kts b/settings.gradle.kts index e6d0470..8d6fb51 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,37 @@ +import java.lang.System.getenv + +fun getProperty(property: String): String = extra[property] as String + +fun retrieveConfiguration( + property: String, + environment: String, +): String? = if (extra.has(property)) getProperty(property) else getenv(environment) + +fun hlaejaRepository(repositoryHandler: RepositoryHandler) { + repositoryHandler.maven { + url = uri("https://maven.pkg.github.com/swordsteel/**") + name = "GitHubPackages" + credentials { + username = retrieveConfiguration("repository.user", "REPOSITORY_USER") + password = retrieveConfiguration("repository.token", "REPOSITORY_TOKEN") + } + } +} + +dependencyResolutionManagement { + @Suppress("UnstableApiUsage") + repositories { + mavenLocal() + hlaejaRepository(this) + mavenCentral() + } + versionCatalogs.create("hlaeja").from("ltd.hlaeja.catalog:hlaeja-version-catalog:${getProperty("catalog")}") +} + +pluginManagement.repositories { + mavenLocal() + hlaejaRepository(this) + gradlePluginPortal() +} + rootProject.name = "hlaeja-library"