Marcelo Adamatti
02/06/2020, 6:44 PMtapchicoma
02/06/2020, 7:09 PMplastiv
02/06/2020, 9:17 PMMarcelo Adamatti
02/06/2020, 9:18 PMMarcelo Adamatti
02/06/2020, 9:18 PMtapchicoma
02/06/2020, 9:35 PM./gradlew buildEnvironment
task as a build stepMarcelo Adamatti
02/06/2020, 9:36 PMMarcelo Adamatti
02/06/2020, 9:45 PMRUN gradle dependencies buildEnvironment --build-cache --no-daemon
RUN gradle build --no-daemon --offline -x test
Marcelo Adamatti
02/06/2020, 9:45 PMFAILURE: Build failed with an exception.
* Where:
Build file '/app/build.gradle.kts' line: 27
* What went wrong:
Plugin [id: 'org.springframework.boot', version: '2.2.4.RELEASE'] was not found in any of the following sources:
tapchicoma
02/07/2020, 9:51 PMopen class DownloadDependenciesTask @Inject constructor(
objectFactory: ObjectFactory
) : DefaultTask() {
private val artifactTypeAttribute = Attribute.of("artifactType", String::class.java)
@get:Internal
val artifactTypes = objectFactory.setProperty(String::class).apply {
set(setOf("jar", "aar", "apk"))
}
@get:Internal
internal val buildScriptConfiguration = project.buildscript.configurations
.matching { it.isCanBeResolved }
@get:OutputFiles
internal val artifactFiles: MutableList<File> = mutableListOf()
@TaskAction
fun syncDependencies() {
buildScriptConfiguration
.forEach { configuration ->
configuration.incoming.resolutionResult.allDependencies
resolveConfiguration(configuration, artifactTypes.get(), artifactTypeAttribute)
}
}
private fun resolveConfiguration(
configuration: Configuration,
artifactTypes: Set<String>,
artifactTypeAttribute: Attribute<String>
) {
artifactTypes.forEach { type ->
configuration
.incoming
.artifactView {
isLenient = true
attributes {
attribute(artifactTypeAttribute, type)
}
}
.artifacts
.forEach {
<http://logger.info|logger.info>("Syncing artifact: $it")
artifactFiles.add(it.file)
}
}
}
}
and trigger it via gradle. It should download all build script dependencies including pluginsMarcelo Adamatti
02/10/2020, 5:35 PM