Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 5d67829e authored by Vercingecodix's avatar Vercingecodix :infinity:
Browse files

Fix: Ne leve plus d'erreur si aucune versions disponibles.

parent 3f59b27a
No related branches found
No related tags found
1 merge request!5Fix: Ne leve plus d'erreur si aucune versions disponibles.
Pipeline #61776 passed
......@@ -5,7 +5,7 @@
# Fetch Published Maven Zips Plugin
![Plugin](https://img.shields.io/badge/plugin--gradle-fetch--published--maven--zips-success)
![Version](https://img.shields.io/badge/latest-2.1.0-8A2BE2)
![Version](https://img.shields.io/badge/latest-2.1.1-8A2BE2)
Plugin Gradle pour **télécharger automatiquement des archives ZIP publiées sur un repository Maven**, les extraire localement, et nettoyer les anciennes versions.
......@@ -29,14 +29,14 @@ Applique le plugin dans `build.gradle.kts` :
```kotlin
plugins {
id("dev.arvernes.fetch-published-maven-zips") version "2.1.0"
id("dev.arvernes.fetch-published-maven-zips") version "2.1.1"
}
```
ou via `libs.versions.toml` :
```toml
fetch-published-maven-docs = { id = "dev.arvernes.fetch-published-maven-zips", version = "2.1.0" }
fetch-published-maven-docs = { id = "dev.arvernes.fetch-published-maven-zips", version = "2.1.1" }
```
---
......
......@@ -40,12 +40,7 @@ internal class GetPublishedVersionsListUsecase(
rawVersions.filter { it.isNotBlank() && it !in excludeVersions }
}
if (versions.isEmpty()) {
ZipResult.Failure(NoVersionsAvailable)
} else {
ZipResult.Success(versions.map { MavenPublishedZip(it) })
}
ZipResult.Success(versions.map { MavenPublishedZip(it) })
} catch (e: Throwable) {
ZipResult.Failure(MetadataRetrievalError(repository.mavenMetadataXmlUrl, e))
}
......
......@@ -6,11 +6,13 @@ import dev.arvernes.fetch.published.maven.zips.application.usercases.CleanTempDi
import dev.arvernes.fetch.published.maven.zips.application.usercases.DownloadPublishedZipUsecase
import dev.arvernes.fetch.published.maven.zips.application.usercases.GetPublishedVersionsListUsecase
import dev.arvernes.fetch.published.maven.zips.application.usercases.ExtractPublishedZipUsecase
import dev.arvernes.fetch.published.maven.zips.domain.errors.NoVersionsAvailable
import dev.arvernes.fetch.published.maven.zips.domain.results.onFailureLog
import dev.arvernes.fetch.published.maven.zips.domain.results.throwIfFailure
import dev.arvernes.fetch.published.maven.zips.domain.models.FetchPublishedMavenZipsPluginExtension
import dev.arvernes.fetch.published.maven.zips.domain.models.MavenZipsRepository
import dev.arvernes.fetch.published.maven.zips.domain.models.ZippedDirectories
import dev.arvernes.fetch.published.maven.zips.domain.results.ZipResult
import org.gradle.api.Plugin
import org.gradle.api.Project
......@@ -59,27 +61,31 @@ class FetchPublishedMavenZipsPlugin : Plugin<Project> {
.onFailureLog(logger)
.throwIfFailure()
// 3. Téléchargement + extraction
val downloader = DownloadPublishedZipUsecase(client, repository)
if (versions.isEmpty()) {
logger.lifecycle("⚠️ Aucune version disponible : aucune n’a été trouvée ou toutes ont été exclues via 'excludeVersions'.")
} else {
// 3. Téléchargement + extraction
val downloader = DownloadPublishedZipUsecase(client, repository)
versions.forEach { doc ->
val zipFile = downloader.execute(doc, directories)
.onFailureLog(logger)
.throwIfFailure()
versions.forEach { doc ->
val zipFile = downloader.execute(doc, directories)
.onFailureLog(logger)
.throwIfFailure()
ExtractPublishedZipUsecase
.execute(doc, directories, zipFile)
.onFailureLog(logger)
.throwIfFailure()
}
ExtractPublishedZipUsecase
.execute(doc, directories, zipFile)
// 4. Nettoyage du dossier temporaire
CleanTempDirectoryUsecase
.execute(directories)
.onFailureLog(logger)
.throwIfFailure()
}
// 4. Nettoyage du dossier temporaire
CleanTempDirectoryUsecase
.execute(directories)
.onFailureLog(logger)
.throwIfFailure()
logger.lifecycle("✅ Téléchargement et extraction terminés avec succès.")
logger.lifecycle("✅ Téléchargement et extraction terminés avec succès.")
}
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment