From cb41f1a2806f02482d9cd9401e3df37204ad628d Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Tue, 21 Mar 2023 18:01:26 +0000 Subject: [PATCH] Add bom generation - Create new module spring-security-kerberos-bom which handles bom generation via BomPlugin. - Relates #165 --- .../springframework/security/kerberos/gradle/BomPlugin.java | 2 +- .../security/kerberos/gradle/SpringMavenPlugin.java | 4 ++-- settings.gradle | 1 + .../spring-security-kerberos-bom.gradle | 5 +++++ 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 spring-security-kerberos-bom/spring-security-kerberos-bom.gradle diff --git a/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/BomPlugin.java b/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/BomPlugin.java index 1a62e37..708c290 100644 --- a/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/BomPlugin.java +++ b/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/BomPlugin.java @@ -33,7 +33,7 @@ class BomPlugin implements Plugin { pluginManager.apply(JavaPlatformPlugin.class); new ArtifactoryConventions().apply(project); - // bom should have main shell modules and starters + // bom should have modules DependencyConstraintHandler constraints = project.getDependencies().getConstraints(); project.getRootProject().getAllprojects().forEach(p -> { p.getPlugins().withType(ModulePlugin.class, m -> { diff --git a/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringMavenPlugin.java b/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringMavenPlugin.java index 201fab4..6e3aeda 100644 --- a/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringMavenPlugin.java +++ b/buildSrc/src/main/java/org/springframework/security/kerberos/gradle/SpringMavenPlugin.java @@ -104,9 +104,9 @@ public class SpringMavenPlugin implements Plugin { pom.issueManagement(this::customizeIssueManagement); // TODO: find something better not to add dependencyManagement in pom - // which result spring-security-kerberos-management in it. spring-security-kerberos-dependencies + // which result spring-security-kerberos-management in it. spring-security-kerberos-bom // has its own dependencyManagement which we need to keep - if (!project.getName().equals("spring-security-kerberos-dependencies")) { + if (!project.getName().equals("spring-security-kerberos-bom")) { pom.withXml(xxx -> { Node pomNode = xxx.asNode(); List childs = pomNode.children(); diff --git a/settings.gradle b/settings.gradle index 8442914..29b88a0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -26,6 +26,7 @@ pluginManagement { rootProject.name = 'spring-security-kerberos' include 'spring-security-kerberos-management' +include 'spring-security-kerberos-bom' include 'spring-security-kerberos-core' include 'spring-security-kerberos-client' include 'spring-security-kerberos-web' diff --git a/spring-security-kerberos-bom/spring-security-kerberos-bom.gradle b/spring-security-kerberos-bom/spring-security-kerberos-bom.gradle new file mode 100644 index 0000000..ade72de --- /dev/null +++ b/spring-security-kerberos-bom/spring-security-kerberos-bom.gradle @@ -0,0 +1,5 @@ +plugins { + id 'org.springframework.security.kerberos.bom' +} + +description = 'Spring Security Kerberos BOM'