Skip to content

Implementation

bestlinuxgamers edited this page Jun 28, 2023 · 1 revision

Implementation

Das Projekt kann mithilfe von build-systemen, welche maven Repos unterstützen, implementiert werden.

Dependency

Bitte darauf achten, dass ein Repo hinzugefügt werden muss, um die dependency erfolgreich einzubinden.

Gradle Groovy

dependencies {
    implementation 'net.bestlinuxgamers.guiapi:gui-api:VERSION'
}
Gradle Kts
dependencies {
    implementation("net.bestlinuxgamers.guiapi:gui-api:VERSION")
}
Maven
<dependency>
    <groupId>net.bestlinuxgamers.guiapi</groupId>
    <artifactId>gui-api</artifactId>
    <version>VERSION</version>
</dependency>

Repos

Momentan werden 2 Repos angeboten, aus denen die GUI-API bezogen werden kann.

GitHub packages

Diese direkt von GitHub bereitgestellte Methode der Paketdistribution ist verlässlich und wird generell empfohlen.

Leider muss sich zum aktuellen Zeitpunkt bei diesem Repo authentifiziert werden, um Pakete von dort zu beziehen. Das bedeutet, dass ein erhöhter Zeitaufwand für die Einrichtung und eventuell eine Erklärung der Authentifizierung für Mitarbeiter nötig ist. Außerdem ist zwingend ein GitHub-Account erforderlich.

Wenn dies keine Option ist, kann das private Repo in Betracht gezogen werden.

Token

Zur Authentifizierung bei GitHub Packages muss ein Token mit der packages:read Berechtigung erstellt werden.

Gradle

Um die Authentifizierung für gradle einzurichten, muss der globalen gradle.properties Datei der GitHub Nutzername und der Token hinterlegt werden. Wenn die Datei bisher noch nicht benutzt wurde, muss sie unter Umständen neu erstellt werden.

Sie befindet sich an folgendem Pfad:

Linux/Unix: ~/.gradle/gradle.properties
Windows: C:\Users\NAME\.gradle\gradle.properties

gradle.properties

githubUsername=GITHUB_NAME
githubPassword=GITHUB_TOKEN

Gradle Groovy

repositories {
    maven {
        name = 'github'
        url = 'https://maven.pkg.github.com/bestlinuxgamers/GuiApi'
        credentials(PasswordCredentials.class)
    }
}
Gradle Kts
repositories {
    maven("https://maven.pkg.github.com/bestlinuxgamers/GuiApi") {
        name = "github"
        credentials(PasswordCredentials::class)
    }
}
Maven

Um die Authentifizierung für Maven einzurichten, muss in der globalen settings.xml Datei der GitHub Nutzername und der Token hinterlegt werden. Wenn die Datei bisher noch nicht benutzt wurde, muss sie unter Umständen neu erstellt werden.

Sie befindet sich an folgendem Pfad:

Linux/Unix: ~/.m2/settings.xml
Windows: C:\Users\NAME\.m2\settings.xml

settings.xml

<settings>
    <servers>
        <server>
            <id>github</id>
            <username>GITHUB_NAME</username>
            <password>GITHUB_TOKEN</password>
        </server>
    </servers>
</settings>

Maven

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/bestlinuxgamers/GuiApi</url>
    </repository>
</repositories>

Privates Repo

Dieses Repo wird auf einem privaten Server gehostet und kann auch ohne authentifizierung verwendet werden. Allerdings ist die Ausfallsicherheit und Beständigkeit des Servers nicht gewährleistet. Das bedeutet, dass Projekte, welche dieses Repo verwenden, nach einiger Zeit eventuell nicht mehr builden und das Repo verändert werden muss.

Gradle Groovy

repositories {
    maven {
        name = 'guiApi'
        url = 'https://gitea.besthagent.de/api/packages/bestlinuxgamers/maven'
    }
}
Gradle Kts
repositories {
    maven("https://gitea.besthagent.de/api/packages/bestlinuxgamers/maven")
}
Maven
<repositories>
    <repository>
        <id>guiApi</id>
        <url>https://gitea.besthagent.de/api/packages/bestlinuxgamers/maven</url>
    </repository>
</repositories>
Clone this wiki locally