Documentazione

Come usare il repository Maven e le API pubbliche di questo sito.

Usare il repository

Aggiungi il repository al pom.xml, poi dichiara le dipendenze come al solito.

<repositories>
  <repository>
    <id>kael</id>
    <url>https://kaeladventures.duckdns.org/maven</url>
  </repository>
</repositories>

Gradle (Kotlin DSL):

repositories {
    mavenCentral()
    maven("https://kaeladventures.duckdns.org/maven")
}

dependencies {
    implementation("com.example:libreria:1.0.0")
}

Pubblicare un artefatto

Dal pannello Admin, sezione Repository, puoi caricare i file a mano. Per pubblicare da Maven usa il deploy con utente admin e la password dell'area riservata.

<settings>
  <servers>
    <server>
      <id>kael</id>
      <username>admin</username>
      <password>LA_TUA_PASSWORD</password>
    </server>
  </servers>
</settings>

Nel pom.xml del progetto da pubblicare:

<distributionManagement>
  <repository>
    <id>kael</id>
    <url>https://kaeladventures.duckdns.org/maven</url>
  </repository>
</distributionManagement>
mvn deploy

Il server genera da solo maven-metadata.xml e i checksum (.sha1, .md5, .sha256), quindi quelli inviati dal client vengono ignorati.

API

Tutte le risposte sono in JSON, salvo il repository.

GET /api/projects

Elenco dei progetti pubblicati.

curl https://kaeladventures.duckdns.org/api/projects

POST /api/contact

Invia un messaggio. Corpo: name, email, body. Limite: 3 invii al minuto per IP. Risposte: 200, 400, 429.

curl -X POST https://kaeladventures.duckdns.org/api/contact \
  -H "Content-Type: application/json" \
  -d '{"name":"Ada","email":"ada@example.com","body":"Ciao"}'

GET /api/health

Stato del servizio e del database.

GET, HEAD /maven/{group}/{artifact}/{versione}/{file}

Scarica un file del repository. Il gruppo usa le barre al posto dei punti.

PUT /maven/…

Carica un file. Richiede Basic auth (utente admin). Risposte: 201, 400, 401.