Skip to content

Commit

Permalink
Consider depositories declared in settings when calculating the close…
Browse files Browse the repository at this point in the history
…st version of a dependency. #1596
  • Loading branch information
hsz committed Apr 18, 2024
1 parent f60ee20 commit 818634f
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import javax.inject.Inject
abstract class IntelliJPlatformDependenciesExtension @Inject constructor(
override val configurations: ConfigurationContainer,
override val repositories: RepositoryHandler,
override val settingsRepositories: RepositoryHandler,
override val dependencies: DependencyHandler,
override val providers: ProviderFactory,
override val resources: ResourceHandler,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import org.jetbrains.intellij.platform.gradle.resolvers.closestVersion.JavaCompi
interface JavaCompilerDependencyAware : DependencyAware, IntelliJPlatformAware {
val providers: ProviderFactory
val repositories: RepositoryHandler
val settingsRepositories: RepositoryHandler
}

/**
Expand All @@ -41,7 +42,7 @@ internal fun JavaCompilerDependencyAware.addJavaCompilerDependency(
VERSION_CURRENT -> when {
resolveClosest -> JavaCompilerClosestVersionResolver(
productInfo,
repositories.urls(),
repositories.urls() + settingsRepositories.urls(),
).resolve().version

else -> productInfo.buildNumber
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import org.gradle.kotlin.dsl.*
import org.jetbrains.intellij.platform.gradle.BuildFeature
import org.jetbrains.intellij.platform.gradle.Constants.Configurations
import org.jetbrains.intellij.platform.gradle.Constants.VERSION_CURRENT
import org.jetbrains.intellij.platform.gradle.extensions.DependencyAction
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
import org.jetbrains.intellij.platform.gradle.extensions.DependencyAction
import org.jetbrains.intellij.platform.gradle.extensions.urls
import org.jetbrains.intellij.platform.gradle.providers.ModuleDescriptorsValueSource
import org.jetbrains.intellij.platform.gradle.resolvers.closestVersion.TestFrameworkClosestVersionResolver
Expand All @@ -20,6 +20,7 @@ interface TestFrameworkDependencyAware : DependencyAware, BundledLibraryAware {
val layout: ProjectLayout
val providers: ProviderFactory
val repositories: RepositoryHandler
val settingsRepositories: RepositoryHandler
}

/**
Expand Down Expand Up @@ -61,7 +62,7 @@ internal fun TestFrameworkDependencyAware.addTestFrameworkDependency(
VERSION_CURRENT -> when {
resolveClosest -> TestFrameworkClosestVersionResolver(
productInfo,
repositories.urls(),
repositories.urls() + settingsRepositories.urls(),
type.coordinates,
).resolve().version

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,7 @@ abstract class IntelliJPlatformBasePlugin : Plugin<Project> {
Extensions.INTELLIJ_PLATFORM,
project.configurations,
project.repositories,
project.settings.dependencyResolutionManagement.repositories,
project.dependencies,
project.providers,
project.resources,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,6 @@ internal fun <T : Task> Project.preconfigureTask(task: T) {
* The [SigningAware] resolves and provides the Marketplace ZIP Signer for the further usage.
*/
if (this is SigningAware) {
// TODO: test if no ZIP Signer dependency is added to the project
val marketplaceZipSignerPathResolver = MarketplaceZipSignerPathResolver(
marketplaceZipSigner = configurations[Configurations.MARKETPLACE_ZIP_SIGNER].asLenient,
localPath = extension.signing.cliPath,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
package org.jetbrains.intellij.platform.gradle.utils

import org.gradle.api.GradleException
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.artifacts.ConfigurationContainer
import org.gradle.api.file.FileCollection
import org.gradle.api.file.FileSystemLocation
import org.gradle.api.file.RegularFile
import org.gradle.api.initialization.Settings
import org.gradle.api.internal.GradleInternal
import org.gradle.api.provider.Property
import org.gradle.api.provider.Provider
import org.gradle.api.resources.ResourceHandler
Expand Down Expand Up @@ -64,3 +67,6 @@ internal fun ResourceHandler.resolve(url: String) = text
.runCatching { asFile("UTF-8") }
.onFailure { Logger(javaClass).error("Cannot resolve product releases", it) }
.getOrNull()

val Project.settings: Settings
get() = (gradle as GradleInternal).settings

0 comments on commit 818634f

Please sign in to comment.