Skip to content

Commit

Permalink
Improve profile gradle plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
rainboyan committed Jan 7, 2024
1 parent c8c87bf commit e82dbe2
Showing 1 changed file with 20 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ import org.gradle.api.Action
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.ConfigurablePublishArtifact
import org.gradle.api.artifacts.DependencyResolveDetails
import org.gradle.api.artifacts.Configuration
import org.gradle.api.file.CopySpec
import org.gradle.api.file.SourceDirectorySet
import org.gradle.api.plugins.GroovyPlugin
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.GroovySourceDirectorySet
import org.gradle.api.tasks.SourceSet
import org.gradle.api.tasks.SourceSetContainer
import org.gradle.api.tasks.bundling.Jar

import grails.io.IOUtils
import grails.util.BuildSettings

import org.grails.cli.profile.commands.script.GroovyScriptCommand
import org.grails.gradle.plugin.profiles.tasks.ProfileCompilerTask
Expand All @@ -55,21 +55,25 @@ class GrailsProfileGradlePlugin implements Plugin<Project> {
void apply(Project project) {
project.getPluginManager().apply(GroovyPlugin)
project.configurations.create(CONFIGURATION_NAME)
def profileConfiguration = project.configurations.create(RUNTIME_CONFIGURATION)

profileConfiguration.resolutionStrategy.eachDependency {
DependencyResolveDetails details = (DependencyResolveDetails) it
def requested = details.requested
def group = requested.group
def version = requested.version

if (!group || !version) {
group = group ?: 'org.grails.profiles'
version = version ?: BuildSettings.grailsVersion

details.useTarget(group: group, name: requested.name, version: version)
Configuration profileConfiguration = project.configurations.create(RUNTIME_CONFIGURATION)
profileConfiguration.setCanBeConsumed(false)
profileConfiguration.setCanBeResolved(true)
profileConfiguration.setVisible(false)
project.getPlugins().withType(GroovyPlugin, { javaPlugin ->
SourceSetContainer sourceSets = project.getExtensions()
.getByType(JavaPluginExtension).getSourceSets()
sourceSets.configureEach { SourceSet sourceSet ->
project.getConfigurations()
.getByName(sourceSet.getCompileClasspathConfigurationName())
.extendsFrom(profileConfiguration)
project.getConfigurations()
.getByName(sourceSet.getImplementationConfigurationName())
.extendsFrom(profileConfiguration)
project.getConfigurations()
.getByName(sourceSet.getRuntimeClasspathConfigurationName())
.extendsFrom(profileConfiguration)
}
}
})

def profileYml = project.file('profile.yml')

Expand Down

0 comments on commit e82dbe2

Please sign in to comment.