|
| 1 | +import java.util.Locale |
| 2 | + |
1 | 3 | plugins { |
2 | | - java |
| 4 | + `java-library` |
| 5 | + id("com.github.johnrengelman.shadow") version "7.1.2" // Pour remplacer maven-shade-plugin |
3 | 6 | `maven-publish` |
4 | 7 | } |
5 | 8 |
|
6 | | -group = "fr.traqueur" |
| 9 | +rootProject.extra.properties["sha"]?.let { sha -> |
| 10 | + version = sha |
| 11 | +} |
| 12 | + |
| 13 | +group = "fr.traqueur.currencies" |
7 | 14 | version = property("version") as String |
8 | 15 |
|
| 16 | +extra.set("targetFolder", file("target/")) |
| 17 | +extra.set("classifier", System.getProperty("archive.classifier")) |
| 18 | +extra.set("sha", System.getProperty("github.sha")) |
| 19 | + |
9 | 20 | repositories { |
10 | 21 | mavenCentral() |
11 | 22 | maven { |
@@ -72,14 +83,54 @@ val generateVersionProperties by tasks.registering { |
72 | 83 | } |
73 | 84 | } |
74 | 85 |
|
75 | | -tasks.named("build") { |
76 | | - dependsOn(generateVersionProperties) |
| 86 | +tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> { |
| 87 | + archiveClassifier.set("") // Écrase le JAR de base par le fat jar |
| 88 | +} |
| 89 | + |
| 90 | +tasks.build { |
| 91 | + dependsOn(tasks.shadowJar) |
| 92 | +} |
| 93 | + |
| 94 | +tasks.withType<Jar> { |
| 95 | + manifest { |
| 96 | + attributes["Implementation-Title"] = "CurrenciesAPI" |
| 97 | + attributes["Implementation-Version"] = project.version |
| 98 | + } |
77 | 99 | } |
78 | 100 |
|
79 | 101 | publishing { |
| 102 | + var repository = System.getProperty("repository.name", "snapshots").replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } |
| 103 | + |
| 104 | + repositories { |
| 105 | + maven { |
| 106 | + name = "groupez${repository}" |
| 107 | + url = uri("https://repo.groupez.dev/${repository.lowercase()}") |
| 108 | + credentials { |
| 109 | + username = findProperty("${name}Username") as String? ?: System.getenv("MAVEN_USERNAME") |
| 110 | + password = findProperty("${name}Password") as String? ?: System.getenv("MAVEN_PASSWORD") |
| 111 | + } |
| 112 | + authentication { |
| 113 | + create<BasicAuthentication>("basic") |
| 114 | + } |
| 115 | + } |
| 116 | + } |
| 117 | + |
80 | 118 | publications { |
81 | | - create<MavenPublication>("maven") { |
82 | | - from(components["java"]) |
| 119 | + register<MavenPublication>("groupez${repository}") { |
| 120 | + pom { |
| 121 | + groupId = project.group as String? |
| 122 | + artifactId = rootProject.name.lowercase() |
| 123 | + version = project.version as String? |
| 124 | + |
| 125 | + scm { |
| 126 | + connection = "scm:git:git://github.com/GroupeZ-dev/${rootProject.name}.git" |
| 127 | + developerConnection = "scm:git:ssh://github.com/GroupeZ-dev/${rootProject.name}.git" |
| 128 | + url = "https://github.com/GroupeZ-dev/${rootProject.name}/" |
| 129 | + } |
| 130 | + } |
| 131 | + artifact(tasks.shadowJar) |
| 132 | + // artifact(tasks.javadocJar) |
| 133 | + // artifact(tasks.sourcesJar) |
83 | 134 | } |
84 | 135 | } |
85 | 136 | } |
0 commit comments