Skip to content

Commit

Permalink
Simplify the code
Browse files Browse the repository at this point in the history
  • Loading branch information
mateuszkwiecinski committed Mar 30, 2024
1 parent cd4084e commit 2df8897
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 17 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ plugins {
```

<details>
<summary>Version Catalog entry</summary>
<summary>Version Catalog</summary>

```toml
usefulness-maven-sympathy = { id = "io.github.usefulness.maven-sympathy", version = "{{version}}" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,21 +38,18 @@ public open class SympathyForMrMavenTask @Inject constructor(objectFactory: Obje
val errorMessages = mutableListOf<String>()

configurationWithDependencies.get().forEach { (name, root) ->
root.dependencies.asSequence()
.filterIsInstance<ResolvedDependencyResult>()
.filter { it.requested is ModuleComponentSelector }
.forEach { rdr ->
val requested = rdr.requested as? ModuleComponentSelector
val selected = rdr.selected
val requestedVersion = requested?.version
val selectedVersion = selected.moduleVersion?.version
if (!requestedVersion.isNullOrBlank() && requestedVersion != selectedVersion) {
val errorMessage = "[$name] dependency $requested version changed $requestedVersion -> $selectedVersion"
errorMessages.add(errorMessage)
logger.error(errorMessage)
fail = true
}
root.dependencies.filterIsInstance<ResolvedDependencyResult>().forEach perDependency@{ rdr ->
val requested = rdr.requested as? ModuleComponentSelector ?: return@perDependency
val selected = rdr.selected
val requestedVersion = requested.version
val selectedVersion = selected.moduleVersion?.version
if (!requestedVersion.isNullOrBlank() && requestedVersion != selectedVersion) {
val errorMessage = "[$name] dependency $requested version changed $requestedVersion -> $selectedVersion"
errorMessages.add(errorMessage)
logger.error(errorMessage)
fail = true
}
}
}
val report = outputFile.get().asFile
if (fail) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,54 @@ class IntegrationTest {
}

@Test
fun ownUpgrade() {
fun boms() {
rootDirectory.resolve("build.gradle") {
// language=groovy
writeText(
"""
plugins {
id("java-library")
id("io.github.usefulness.maven-sympathy")
}
dependencies {
implementation(platform("com.squareup.retrofit2:retrofit-bom:2.11.0") )
implementation("com.squareup.retrofit2:retrofit")
implementation("com.squareup.retrofit2:converter-jackson")
implementation("com.squareup.okhttp3:okhttp:3.14.8")
}
""".trimIndent(),
)
}
val result = runGradle(projectDir = rootDirectory, shouldFail = true)
assertThat(result.output).contains("dependency com.squareup.okhttp3:okhttp:3.14.8 version changed 3.14.8 -> 3.14.9")
assertThat(result.task(":sympathyForMrMaven")?.outcome).isEqualTo(TaskOutcome.FAILED)

rootDirectory.resolve("build.gradle") {
// language=groovy
writeText(
"""
plugins {
id("java-library")
id("io.github.usefulness.maven-sympathy")
}
dependencies {
implementation(platform("com.squareup.retrofit2:retrofit-bom:2.11.0") )
implementation("com.squareup.retrofit2:retrofit")
implementation("com.squareup.retrofit2:converter-jackson")
implementation("com.squareup.okhttp3:okhttp:3.14.9")
}
""".trimIndent(),
)
}
val reRunResult = runGradle(projectDir = rootDirectory)
assertThat(reRunResult.output).doesNotContain("changed to")
assertThat(reRunResult.task(":sympathyForMrMaven")?.outcome).isEqualTo(TaskOutcome.SUCCESS)
}

@Test
fun bumpViaOwnDependency() {
rootDirectory.resolve("build.gradle") {
// language=groovy
writeText(
Expand All @@ -93,7 +140,7 @@ class IntegrationTest {
}

@Test
fun automaticBump() {
fun bumpViaTransitiveDependency() {
rootDirectory.resolve("build.gradle") {
// language=groovy
writeText(
Expand Down

0 comments on commit 2df8897

Please sign in to comment.