This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/dubbo-initializer.git

commit c2ea2712ab1889b388b0e8627a9ed8543238977e
Author: ICD <15835991...@163.com>
AuthorDate: Fri Mar 24 18:32:21 2023 +0800

    dubbo微服务工程结构
---
 .../ArchedMavenProjectGenerationConfiguration.java |  4 +-
 .../condition/ConditionalOnRequestedModule.java    |  2 +-
 .../condition/OnRequestedModuleCondition.java      |  7 +-
 ...stomizer.java => ApiMavenPluginCustomizer.java} | 25 ++++---
 ...tomizer.java => DefaultMavenBomCustomizer.java} | 30 ++++-----
 ...DefaultMavenProjectGenerationConfiguration.java | 53 +++++++++++++++
 ...tomizer.java => RootMavenPluginCustomizer.java} | 21 ++----
 ...cArchedMavenProjectGenerationConfiguration.java | 77 ----------------------
 .../inter/InterfaceModuleMavenBuildCustomizer.java | 69 -------------------
 ...terfaceModuleDefaultStarterBuildCustomizer.java | 29 --------
 .../src/main/resources/META-INF/spring.factories   |  2 +-
 .../src/main/resources/metadata.yaml               | 18 +++--
 12 files changed, 100 insertions(+), 237 deletions(-)

diff --git 
a/initializer-generator/src/main/java/com/alibaba/initializer/generation/extension/build/maven/ArchedMavenProjectGenerationConfiguration.java
 
b/initializer-generator/src/main/java/com/alibaba/initializer/generation/extension/build/maven/ArchedMavenProjectGenerationConfiguration.java
index bd9e943..5cd2719 100644
--- 
a/initializer-generator/src/main/java/com/alibaba/initializer/generation/extension/build/maven/ArchedMavenProjectGenerationConfiguration.java
+++ 
b/initializer-generator/src/main/java/com/alibaba/initializer/generation/extension/build/maven/ArchedMavenProjectGenerationConfiguration.java
@@ -57,7 +57,9 @@ public class ArchedMavenProjectGenerationConfiguration {
     private MavenBuild createBuild(BuildItemResolver buildItemResolver, 
List<BuildCustomizer<?>> buildCustomizers) {
         MavenBuild build = (buildItemResolver != null) ? new 
MavenBuild(buildItemResolver) : new MavenBuild();
         LambdaSafe.callbacks(BuildCustomizer.class, buildCustomizers, build)
-                .invoke((customizer) -> customizer.customize(build));
+                .invoke((customizer) -> {
+                    customizer.customize(build);
+                });
         return build;
     }
 
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/ConditionalOnRequestedModule.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/ConditionalOnRequestedModule.java
index f0dff81..49dfcf2 100644
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/ConditionalOnRequestedModule.java
+++ 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/ConditionalOnRequestedModule.java
@@ -37,6 +37,6 @@ public @interface ConditionalOnRequestedModule {
         * The identifier of the module.
         * @return the module name
         */
-       String value();
+       String [] value();
 
 }
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/OnRequestedModuleCondition.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/OnRequestedModuleCondition.java
index c2ddde6..25a8ace 100644
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/OnRequestedModuleCondition.java
+++ 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/condition/OnRequestedModuleCondition.java
@@ -24,6 +24,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.context.annotation.ConditionContext;
 import org.springframework.core.type.AnnotatedTypeMetadata;
 
+import java.util.Arrays;
+
 /**
  * @author Weix Sun
  */
@@ -34,8 +36,7 @@ public class OnRequestedModuleCondition extends 
ProjectGenerationCondition {
                        AnnotatedTypeMetadata metadata) {
                Module module = context.getBeanFactory().getBean(Module.class);
                String requestModuleName = module.getName() == null && 
module.isRoot() ? "root" : module.getName();
-               String annotatedModuleName = (String) 
metadata.getAnnotationAttributes(
-                               
ConditionalOnRequestedModule.class.getName()).get("value");
-               return StringUtils.equals(requestModuleName, 
annotatedModuleName);
+               String[] annotatedModuleNames = (String[]) 
metadata.getAnnotationAttributes(ConditionalOnRequestedModule.class.getName()).get("value");
+               return 
Arrays.stream(annotatedModuleNames).anyMatch(annotatedModuleName -> 
requestModuleName.equals(annotatedModuleName));
        }
 }
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenComplierPluginCustomizer.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/ApiMavenPluginCustomizer.java
similarity index 60%
copy from 
initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenComplierPluginCustomizer.java
copy to 
initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/ApiMavenPluginCustomizer.java
index 056d5f9..96fcad9 100644
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenComplierPluginCustomizer.java
+++ 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/ApiMavenPluginCustomizer.java
@@ -14,37 +14,34 @@
  * limitations under the License.
  */
 
-package 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter;
+package org.apache.dubbo.initializer.generation.extension.build.maven;
 
 import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
-import io.spring.initializr.generator.project.ProjectDescription;
 import io.spring.initializr.generator.spring.build.BuildCustomizer;
 
 /**
- * after MavenComplierPluginCustomizer,
+ * after 
DefaultStarterBuildCustomizer,SpringBootBomMavenCustomizer,MavenComplierPluginCustomizer
  * <pre>
- * 1.Remove maven-compiler-plugin plugin from pom.xml
+ * 1.Remove other all plugins from api module pom.xml
+ * 2.Remove starter dependencies from interface module pom.xml
  * </pre>
+ *
  * @author Weix Sun
- * @see 
com.alibaba.initializer.generation.extension.build.maven.MavenComplierPluginCustomizer
+ * @see 
io.spring.initializr.generator.spring.build.DefaultStarterBuildCustomizer
+ * 
com.alibaba.initializer.generation.extension.build.maven.MavenComplierPluginCustomizer
+ * 
com.alibaba.initializer.generation.extension.build.maven.SpringBootBomMavenCustomizer
  */
-public class InterfaceModuleMavenComplierPluginCustomizer implements 
BuildCustomizer<MavenBuild> {
-
-    public final int MavenComplierPluginCustomizer_After = 0 + 1;
+public class ApiMavenPluginCustomizer implements BuildCustomizer<MavenBuild> {
 
-    private final ProjectDescription description;
-
-    public InterfaceModuleMavenComplierPluginCustomizer(ProjectDescription 
description) {
-        this.description = description;
-    }
 
     @Override
     public void customize(MavenBuild build) {
         build.plugins().remove("org.apache.maven.plugins", 
"maven-compiler-plugin");
+        build.plugins().remove("org.springframework.boot", 
"spring-boot-maven-plugin");
     }
 
     @Override
     public int getOrder() {
-        return MavenComplierPluginCustomizer_After;
+        return LOWEST_PRECEDENCE;
     }
 }
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenComplierPluginCustomizer.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/DefaultMavenBomCustomizer.java
similarity index 55%
rename from 
initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenComplierPluginCustomizer.java
rename to 
initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/DefaultMavenBomCustomizer.java
index 056d5f9..cc9269a 100644
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenComplierPluginCustomizer.java
+++ 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/DefaultMavenBomCustomizer.java
@@ -14,37 +14,37 @@
  * limitations under the License.
  */
 
-package 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter;
+package org.apache.dubbo.initializer.generation.extension.build.maven;
 
 import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
-import io.spring.initializr.generator.project.ProjectDescription;
 import io.spring.initializr.generator.spring.build.BuildCustomizer;
 
 /**
- * after MavenComplierPluginCustomizer,
+ * after DefaultStarterBuildCustomizer,
  * <pre>
- * 1.Remove maven-compiler-plugin plugin from pom.xml
+ * 2.Remove starter dependencies from  pom.xml
  * </pre>
+ *
  * @author Weix Sun
- * @see 
com.alibaba.initializer.generation.extension.build.maven.MavenComplierPluginCustomizer
+ * @see 
io.spring.initializr.generator.spring.build.DefaultStarterBuildCustomizer
  */
-public class InterfaceModuleMavenComplierPluginCustomizer implements 
BuildCustomizer<MavenBuild> {
-
-    public final int MavenComplierPluginCustomizer_After = 0 + 1;
+public class DefaultMavenBomCustomizer implements BuildCustomizer<MavenBuild> {
 
-    private final ProjectDescription description;
-
-    public InterfaceModuleMavenComplierPluginCustomizer(ProjectDescription 
description) {
-        this.description = description;
-    }
+    static final String DEFAULT_STARTER = "root_starter";
+    static final String TEST_STARTER = "test";
 
     @Override
     public void customize(MavenBuild build) {
-        build.plugins().remove("org.apache.maven.plugins", 
"maven-compiler-plugin");
+        if (build.dependencies().has(DEFAULT_STARTER)) {
+            build.dependencies().remove(DEFAULT_STARTER);
+        }
+        if (build.dependencies().has(TEST_STARTER)) {
+            build.dependencies().remove(TEST_STARTER);
+        }
     }
 
     @Override
     public int getOrder() {
-        return MavenComplierPluginCustomizer_After;
+        return LOWEST_PRECEDENCE;
     }
 }
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/DefaultMavenProjectGenerationConfiguration.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/DefaultMavenProjectGenerationConfiguration.java
new file mode 100644
index 0000000..3db58fd
--- /dev/null
+++ 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/DefaultMavenProjectGenerationConfiguration.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2022 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 org.apache.dubbo.initializer.generation.extension.build.maven;
+
+import com.alibaba.initializer.generation.condition.ConditionalOnModule;
+import 
com.alibaba.initializer.generation.condition.ConditionalOnRequestedArchitecture;
+import io.spring.initializr.generator.buildsystem.maven.MavenBuildSystem;
+import io.spring.initializr.generator.condition.ConditionalOnBuildSystem;
+import io.spring.initializr.generator.project.ProjectGenerationConfiguration;
+import 
org.apache.dubbo.initializer.generation.condition.ConditionalOnRequestedModule;
+import org.springframework.context.annotation.Bean;
+
+/**
+ * @author Weix Sun
+ */
+@ProjectGenerationConfiguration
+@ConditionalOnRequestedArchitecture("dubbo")
+@ConditionalOnBuildSystem(MavenBuildSystem.ID)
+public class DefaultMavenProjectGenerationConfiguration {
+
+    @Bean
+    @ConditionalOnRequestedModule(value = "api")
+    public ApiMavenPluginCustomizer apiMavenPluginCustomizer() {
+        return new ApiMavenPluginCustomizer();
+    }
+
+    @Bean
+    @ConditionalOnRequestedModule(value = "root")
+    public RootMavenPluginCustomizer rootMavenPluginCustomizer() {
+        return new RootMavenPluginCustomizer();
+    }
+
+    @Bean
+    @ConditionalOnRequestedModule({"root", "api"})
+    public DefaultMavenBomCustomizer defaultMavenBomCustomizer() {
+        return new DefaultMavenBomCustomizer();
+    }
+
+}
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/root/RootMavenComplierPluginCustomizer.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/RootMavenPluginCustomizer.java
similarity index 65%
rename from 
initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/root/RootMavenComplierPluginCustomizer.java
rename to 
initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/RootMavenPluginCustomizer.java
index 6fcdae2..ba18042 100644
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/root/RootMavenComplierPluginCustomizer.java
+++ 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/RootMavenPluginCustomizer.java
@@ -14,15 +14,13 @@
  * limitations under the License.
  */
 
-package 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.root;
+package org.apache.dubbo.initializer.generation.extension.build.maven;
 
 import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
-import io.spring.initializr.generator.project.ProjectDescription;
 import io.spring.initializr.generator.spring.build.BuildCustomizer;
-import io.spring.initializr.metadata.InitializrMetadata;
 
 /**
- * after SpringBootBomMavenCustomizer,
+ * after SpringBootBomMavenCustomizer
  * <pre>
  * 1.Remove spring-boot-maven-plugin plugin from root pom.xml
  * </pre>
@@ -30,18 +28,7 @@ import io.spring.initializr.metadata.InitializrMetadata;
  * @author <a href="mailto:chenxil...@gmail.com";>theonefx</a>
  * @see 
com.alibaba.initializer.generation.extension.build.maven.SpringBootBomMavenCustomizer
  */
-public class RootMavenComplierPluginCustomizer implements 
BuildCustomizer<MavenBuild> {
-
-    public final int SpringBootBomMavenCustomizer_After = 1 + 1;
-
-    private final ProjectDescription description;
-
-    private final InitializrMetadata metadata;
-
-    public RootMavenComplierPluginCustomizer(ProjectDescription description, 
InitializrMetadata metadata) {
-        this.description = description;
-        this.metadata = metadata;
-    }
+public class RootMavenPluginCustomizer implements BuildCustomizer<MavenBuild> {
 
     @Override
     public void customize(MavenBuild build) {
@@ -50,6 +37,6 @@ public class RootMavenComplierPluginCustomizer implements 
BuildCustomizer<MavenB
 
     @Override
     public int getOrder() {
-        return SpringBootBomMavenCustomizer_After;
+        return 2;
     }
 }
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/PicArchedMavenProjectGenerationConfiguration.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/PicArchedMavenProjectGenerationConfiguration.java
deleted file mode 100644
index 45f271a..0000000
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/PicArchedMavenProjectGenerationConfiguration.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright 2022 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 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic;
-
-import 
com.alibaba.initializer.generation.condition.ConditionalOnRequestedArchitecture;
-import io.spring.initializr.generator.buildsystem.maven.MavenBuildSystem;
-import io.spring.initializr.generator.condition.ConditionalOnBuildSystem;
-import io.spring.initializr.generator.project.ProjectDescription;
-import io.spring.initializr.generator.project.ProjectGenerationConfiguration;
-import io.spring.initializr.metadata.InitializrMetadata;
-import 
org.apache.dubbo.initializer.generation.condition.ConditionalOnRequestedModule;
-import 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter.InterfaceModuleMavenBuildCustomizer;
-import 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter.InterfaceModuleMavenComplierPluginCustomizer;
-import 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter.RemoveInterfaceModuleDefaultStarterBuildCustomizer;
-import 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.root.RootMavenComplierPluginCustomizer;
-
-import org.springframework.context.annotation.Bean;
-
-/**
- * @author Weix Sun
- */
-@ProjectGenerationConfiguration
-@ConditionalOnBuildSystem(MavenBuildSystem.ID)
-public class PicArchedMavenProjectGenerationConfiguration {
-
-    @Bean
-    @ConditionalOnRequestedArchitecture("pic")
-    @ConditionalOnRequestedModule("interface")
-    public InterfaceModuleMavenBuildCustomizer 
interfaceModuleMavenBuildCustomizer(
-            ProjectDescription description, InitializrMetadata metadata) {
-        return new InterfaceModuleMavenBuildCustomizer(description, metadata);
-    }
-
-    @Bean
-    @ConditionalOnRequestedArchitecture("pic")
-    @ConditionalOnRequestedModule("interface")
-    public InterfaceModuleMavenComplierPluginCustomizer 
interfaceModuleMavenComplierPluginCustomizer(
-            ProjectDescription description) {
-        return new InterfaceModuleMavenComplierPluginCustomizer(description);
-    }
-
-    /**
-     * DefaultStarterBuildCustomizer and 
RemoveInterfaceModuleDefaultStarterBuildCustomizer's order all 
<b>Ordered.LOWEST_PRECEDENCE</b>.
-     * However, DefaultStarterBuildCustomizer has high priority.
-     *
-     * @see 
io.spring.initializr.generator.spring.build.DefaultStarterBuildCustomizer
-     */
-    @Bean
-    @ConditionalOnRequestedArchitecture("pic")
-    @ConditionalOnRequestedModule("interface")
-    public RemoveInterfaceModuleDefaultStarterBuildCustomizer 
removeInterfaceModuleDefaultStarterBuildCustomizer() {
-        return new RemoveInterfaceModuleDefaultStarterBuildCustomizer();
-    }
-
-    @Bean
-    @ConditionalOnRequestedArchitecture("pic")
-    @ConditionalOnRequestedModule("root")
-    public RootMavenComplierPluginCustomizer rootMavenComplierPluginCustomizer(
-            ProjectDescription description, InitializrMetadata metadata) {
-        return new RootMavenComplierPluginCustomizer(description, metadata);
-    }
-
-}
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenBuildCustomizer.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenBuildCustomizer.java
deleted file mode 100644
index 1096d97..0000000
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/InterfaceModuleMavenBuildCustomizer.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2022 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 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter;
-
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import 
com.alibaba.initializer.generation.extension.build.maven.SpringBootBomMavenCustomizer;
-import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
-import io.spring.initializr.generator.buildsystem.maven.MavenPlugin;
-import io.spring.initializr.generator.project.ProjectDescription;
-import io.spring.initializr.generator.spring.build.BuildCustomizer;
-import io.spring.initializr.metadata.InitializrMetadata;
-
-/**
- * after SpringBootBomMavenCustomizer,
- * <pre>
- * 1.Remove other all plugins from interface module pom.xml
- * 2.Remove all dependencies from interface module pom.xml
- * </pre>
- *
- * @author Weix Sun
- * @see SpringBootBomMavenCustomizer
- */
-public class InterfaceModuleMavenBuildCustomizer implements 
BuildCustomizer<MavenBuild> {
-
-    public final int SpringBootBomMavenCustomizer_After = 1 + 1;
-
-    private final ProjectDescription description;
-
-    private final InitializrMetadata metadata;
-
-    public InterfaceModuleMavenBuildCustomizer(ProjectDescription description, 
InitializrMetadata metadata) {
-        this.description = description;
-        this.metadata = metadata;
-    }
-
-    @Override
-    public void customize(MavenBuild build) {
-        // Remove other all plugins
-        Map<String, String> pluginCoordinates = build.plugins().values()
-                .collect(Collectors.toUnmodifiableMap(MavenPlugin::getGroupId, 
MavenPlugin::getArtifactId));
-        pluginCoordinates.forEach((groupId, artifactId) -> 
build.plugins().remove(groupId, artifactId));
-
-        // Remove all dependencies
-        List<String> ids = build.dependencies().ids().toList();
-        ids.forEach(id -> build.dependencies().remove(id));
-    }
-
-    @Override
-    public int getOrder() {
-        return SpringBootBomMavenCustomizer_After;
-    }
-}
diff --git 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/RemoveInterfaceModuleDefaultStarterBuildCustomizer.java
 
b/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/RemoveInterfaceModuleDefaultStarterBuildCustomizer.java
deleted file mode 100644
index deb73f5..0000000
--- 
a/initializer-generator/src/main/java/org/apache/dubbo/initializer/generation/extension/build/maven/architecture/pic/inter/RemoveInterfaceModuleDefaultStarterBuildCustomizer.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package 
org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.inter;
-
-import io.spring.initializr.generator.buildsystem.maven.MavenBuild;
-import io.spring.initializr.generator.spring.build.BuildCustomizer;
-
-import org.springframework.core.Ordered;
-
-/**
- * Remove spring-boot-starter dependency from interface module pom.xml
- *
- * @author Weix Sun
- * @see 
io.spring.initializr.generator.spring.build.DefaultStarterBuildCustomizer
- */
-public class RemoveInterfaceModuleDefaultStarterBuildCustomizer implements 
BuildCustomizer<MavenBuild> {
-
-       static final String DEFAULT_STARTER = "root_starter";
-
-       @Override
-       public void customize(MavenBuild build) {
-               if (build.dependencies().has(DEFAULT_STARTER)) {
-                       build.dependencies().remove(DEFAULT_STARTER);
-               }
-       }
-
-       @Override
-       public int getOrder() {
-               return Ordered.LOWEST_PRECEDENCE;
-       }
-}
diff --git a/initializer-generator/src/main/resources/META-INF/spring.factories 
b/initializer-generator/src/main/resources/META-INF/spring.factories
index 73dc66b..ded08e0 100644
--- a/initializer-generator/src/main/resources/META-INF/spring.factories
+++ b/initializer-generator/src/main/resources/META-INF/spring.factories
@@ -5,7 +5,7 @@ 
com.alibaba.initializer.generation.extension.codes.language.ArchedGroovyProjectG
 
com.alibaba.initializer.generation.extension.codes.language.ArchedKotlinProjectGenerationConfiguration,\
 
com.alibaba.initializer.generation.extension.build.gradle.ArchedGradleProjectGenerationConfiguration,\
 
io.spring.start.site.extension.build.gradle.GradleProjectGenerationConfiguration,\
-org.apache.dubbo.initializer.generation.extension.build.maven.architecture.pic.PicArchedMavenProjectGenerationConfiguration,\
+org.apache.dubbo.initializer.generation.extension.build.maven.DefaultMavenProjectGenerationConfiguration,\
 
org.apache.dubbo.initializer.generation.extension.dependency.dubbregisterzookeeper.DubboRegisterZookeeperProjectGenerationConfiguration,\
 
com.alibaba.initializer.generation.extension.build.maven.ArchedMavenProjectGenerationConfiguration,\
 
io.spring.start.site.extension.build.maven.MavenProjectGenerationConfiguration,\
diff --git a/initializer-generator/src/main/resources/metadata.yaml 
b/initializer-generator/src/main/resources/metadata.yaml
index fceb155..278ea73 100644
--- a/initializer-generator/src/main/resources/metadata.yaml
+++ b/initializer-generator/src/main/resources/metadata.yaml
@@ -1861,15 +1861,13 @@ initializr:
           description: web 模块,对应 MVC 的 V 概念,存放视图层的逻辑
         - name: service
           description: service 模块,对应 MVC 的 M 概念,存放核心业务逻辑代码
-    - id: pic
-      name: PIC架构
+    - id: dubbo
+      name: Dubbo微服务架构
       default: true
       subModules:
-        - name: interface
-          description: interface 模块,对应 PIC 的 I 概念,对外提供的API
-        - name: consumer
-          description: consumer 模块,对应 PIC 的 C 概念,Dubbo RPC调用的消费者角色
-          dependModules: 'interface'
-        - name: provider
-          description: provider 模块,对应 PIC 的 P 概念,Dubbo RPC调用的提供者角色
-          dependModules: 'interface'
\ No newline at end of file
+        - name: api
+          description: api 模块,对外提供的 API
+        - name: service
+          description: service 模块,存放核心业务逻辑代码
+          main: true
+          dependModules: 'api'
\ No newline at end of file

Reply via email to