Skip to content

Commit

Permalink
Restore ManagementConfigurationPlugin
Browse files Browse the repository at this point in the history
Issue gh-9615
  • Loading branch information
marcusdacoregio committed Oct 5, 2021
1 parent e2e9388 commit 02b2fcc
Show file tree
Hide file tree
Showing 22 changed files with 95 additions and 20 deletions.
2 changes: 1 addition & 1 deletion acl/spring-security-acl.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'org.springframework:spring-aop'
api 'org.springframework:spring-context'
Expand Down
2 changes: 1 addition & 1 deletion aspects/spring-security-aspects.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'io.spring.convention.spring-module'
apply plugin: 'io.freefair.aspectj'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api "org.aspectj:aspectjrt"
api project(':spring-security-core')
api 'org.springframework:spring-beans'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public abstract class AbstractSpringJavaPlugin implements Plugin<Project> {
public final void apply(Project project) {
PluginManager pluginManager = project.getPluginManager();
pluginManager.apply(JavaPlugin.class);
pluginManager.apply(ManagementConfigurationPlugin.class)
if (project.file("src/main/groovy").exists()
|| project.file("src/test/groovy").exists()
|| project.file("src/integration-test/groovy").exists()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
* Copyright 2002-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package io.spring.gradle.convention;

import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.artifacts.ConfigurationContainer;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaTestFixturesPlugin;
import org.gradle.api.plugins.PluginContainer;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;

import org.springframework.gradle.propdeps.PropDepsPlugin;

/**
* Creates a Management configuration that is appropriate for adding a platform to that is not exposed externally. If
* the JavaPlugin is applied, the compileClasspath, runtimeClasspath, testCompileClasspath, and testRuntimeClasspath
* will extend from it.
* @author Rob Winch
*/
public class ManagementConfigurationPlugin implements Plugin<Project> {

public static final String MANAGEMENT_CONFIGURATION_NAME = "management";

@Override
public void apply(Project project) {
ConfigurationContainer configurations = project.getConfigurations();
configurations.create(MANAGEMENT_CONFIGURATION_NAME, (management) -> {
management.setVisible(false);
management.setCanBeConsumed(false);
management.setCanBeResolved(false);

PluginContainer plugins = project.getPlugins();
plugins.withType(JavaPlugin.class, (javaPlugin) -> {
configurations.getByName(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management);
configurations.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management);
configurations.getByName(JavaPlugin.TEST_COMPILE_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management);
configurations.getByName(JavaPlugin.TEST_RUNTIME_CLASSPATH_CONFIGURATION_NAME).extendsFrom(management);
});
plugins.withType(JavaTestFixturesPlugin.class, (javaTestFixturesPlugin) -> {
configurations.getByName("testFixturesCompileClasspath").extendsFrom(management);
configurations.getByName("testFixturesRuntimeClasspath").extendsFrom(management);
});
plugins.withType(MavenPublishPlugin.class, (mavenPublish) -> {
PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class);
publishing.getPublications().withType(MavenPublication.class, (mavenPublication -> {
mavenPublication.versionMapping((versions) ->
versions.allVariants(versionMapping -> versionMapping.fromResolutionResult())
);
}));
});
plugins.withType(PropDepsPlugin.class, (propDepsPlugin -> {
configurations.getByName("optional").extendsFrom(management);
configurations.getByName("provided").extendsFrom(management);
}));
});
}
}
2 changes: 1 addition & 1 deletion cas/spring-security-cas.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api project(':spring-security-web')
api 'org.jasig.cas.client:cas-client-core'
Expand Down
2 changes: 1 addition & 1 deletion config/spring-security-config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repositories {
}

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
// NB: Don't add other compile time dependencies to the config module as this breaks tooling
api project(':spring-security-core')
api 'org.springframework:spring-aop'
Expand Down
2 changes: 1 addition & 1 deletion core/spring-security-core.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import java.util.concurrent.Callable
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-crypto')
api 'org.springframework:spring-aop'
api 'org.springframework:spring-beans'
Expand Down
2 changes: 1 addition & 1 deletion crypto/spring-security-crypto.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
optional 'org.springframework:spring-jcl'
optional 'org.bouncycastle:bcpkix-jdk15on'

Expand Down
2 changes: 1 addition & 1 deletion data/spring-security-data.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'javax.xml.bind:jaxb-api'
api 'org.springframework.data:spring-data-commons'
Expand Down
2 changes: 1 addition & 1 deletion ldap/spring-security-ldap.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'org.springframework:spring-beans'
api 'org.springframework:spring-context'
Expand Down
2 changes: 1 addition & 1 deletion messaging/spring-security-messaging.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'org.springframework:spring-beans'
api 'org.springframework:spring-context'
Expand Down
2 changes: 1 addition & 1 deletion oauth2/oauth2-client/spring-security-oauth2-client.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api project(':spring-security-oauth2-core')
api project(':spring-security-web')
Expand Down
2 changes: 1 addition & 1 deletion oauth2/oauth2-core/spring-security-oauth2-core.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'org.springframework:spring-core'
api 'org.springframework:spring-web'
Expand Down
2 changes: 1 addition & 1 deletion oauth2/oauth2-jose/spring-security-oauth2-jose.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api project(':spring-security-oauth2-core')
api 'org.springframework:spring-core'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api project(':spring-security-oauth2-core')
api project(':spring-security-web')
Expand Down
2 changes: 1 addition & 1 deletion openid/spring-security-openid.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api project(':spring-security-web')
api('com.google.inject:guice') {
Expand Down
2 changes: 1 addition & 1 deletion remoting/spring-security-remoting.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'org.springframework:spring-aop'
api 'org.springframework:spring-beans'
Expand Down
2 changes: 1 addition & 1 deletion rsocket/spring-security-rsocket.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'io.rsocket:rsocket-core'
optional project(':spring-security-oauth2-resource-server')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ compileOpensaml4MainJava {
}

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-web')
api "org.opensaml:opensaml-core"
api "org.opensaml:opensaml-saml-api"
Expand Down
2 changes: 1 addition & 1 deletion taglibs/spring-security-taglibs.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-acl')
api project(':spring-security-core')
api project(':spring-security-web')
Expand Down
2 changes: 1 addition & 1 deletion test/spring-security-test.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api project(':spring-security-web')
api 'org.springframework:spring-core'
Expand Down
2 changes: 1 addition & 1 deletion web/spring-security-web.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apply plugin: 'io.spring.convention.spring-module'

dependencies {
api platform(project(":spring-security-dependencies"))
management platform(project(":spring-security-dependencies"))
api project(':spring-security-core')
api 'org.springframework:spring-core'
api 'org.springframework:spring-aop'
Expand Down

0 comments on commit 02b2fcc

Please sign in to comment.