Slackbot
10/26/2022, 5:02 AMChris Lee
10/26/2022, 6:00 AMGiuseppe Barbieri
10/26/2022, 10:50 AMRepositoryHandler
?Chris Lee
10/26/2022, 1:17 PMfun RepositoryHandler.github(action: Action<GithubArtifactRepository>) { .. action.execute(..) .. }
Chris Lee
10/26/2022, 1:18 PMgithub { … }
, and the same for Kotlin or Groovy DSLs.Giuseppe Barbieri
10/26/2022, 1:20 PMGiuseppe Barbieri
10/26/2022, 1:21 PMUnit
, but what about other types?)Chris Lee
10/26/2022, 1:22 PMfun RepositoryHandler.github(action: Action<GithubArtifactRepository>) : String { .. action.execute(..) .. }
Chris Lee
10/26/2022, 1:22 PMAction
itself doesn’t have a return value, by design, as it’s intended to configure other objects.Chris Lee
10/26/2022, 1:23 PMpublic fun ConfigurationContainer.createResolvable(
name: String,
action: Action<Configuration> = Action {}
): Configuration {
var configuration = findByName(name)
if (configuration == null) {
configuration = create(name) {
isCanBeConsumed = false
isCanBeResolved = true
isVisible = false
action.execute(this)
}
}
return configuration
}
Giuseppe Barbieri
10/26/2022, 1:27 PMfun PublicationContainer.createGithubPublication(name: String = "maven",
block: MavenPublication.() -> Unit) {
currentSnapshot = null
create(name, block)
currentSnapshot?.let {
create(it.name, block).version = it.version
currentSnapshot = null
}
}
create
does accept a String, Action<in Publication>
, however if I switch to
fun PublicationContainer.createGithubPublication(name: String = "maven",
action: Action<MavenPublication>) {
currentSnapshot = null
create(name, action)
then create
turns red
None of the following functions can be called with the arguments supplied.
Giuseppe Barbieri
10/26/2022, 1:29 PMMavenPublication extends Publication
Chris Lee
10/26/2022, 1:36 PM<U extends T> U create(String name, Class<U> type, Action<? super U> configuration) throws InvalidUserDataException;
Chris Lee
10/26/2022, 1:36 PMChris Lee
10/26/2022, 1:38 PMcreate<MavenPublication>("javaLibrary")
Chris Lee
10/26/2022, 1:38 PMcreate<MavenPublication>("javaLibrary") {
action.execute(this)
}
Giuseppe Barbieri
10/26/2022, 7:23 PM