用途:按脚本脚手架方式创建新的 EliteForge Java 服务项目,并完成项目内初始化与构建。前置条件:需要 python3、make、JDK 及网络访问(用于下载 archetype)。
必要输入(不可推断):companyName、productName、serviceName;三者均需匹配 ^[a-z0-9]+(-[a-z0-9]+)*$。若缺失或非法,只询问缺失或非法字段。
使用方式:运行 python3 scripts/generate.py --company <companyName> --product <productName> --service <serviceName> [--desc "<projectDescription>"] [--tech "<tech stack text>"] [--enable enableX --enable enableY ...]。技术栈文本按 references/mapping-rules.md 映射到 enableXXX,显式开关通过 --enable 传入,参考 references/enable-flags.md;不确定时应询问而非猜测。
生成后校验:输出目录 app-<companyName>-<productName>-<serviceName>/ 及其中 pom.xml 应存在;在项目根目录 <artifactId>/ 下检查 Java 包前缀、pom.xml 的 <name> 与 artifactId 是否匹配,不符时报告期望值与实际值并停止。初始化须在根目录运行 make install 并要求退出码 0,例如 cd app-cisdigital-cap-cache-center && make install。
构建命令策略:生成项目内构建、初始化、验证任务使用项目内 make 目标,不要运行系统 Maven 命令(如 mvn clean install、mvn test);如确需 Maven,只能用项目包装器 ./mvnw ...,不得替换为系统 mvn。失败时返回确切错误与完整执行命令。
命名规则:groupId = cn.<companyName(‘-’转‘.’)>.<productName(‘-’转‘.’)>;artifactId = app-<companyName>-<productName>-<serviceName>;expectedJavaPackagePrefix = <expectedGroupId>.<serviceName(‘-’转‘.’)>;expectedMavenModelName 默认等于 expectedArtifactId,除非用户明确要求其他命名规则。
快速示例:最小化命令 python3 scripts/generate.py --company cisdigital --product cap --service cache-center --desc "CAP 缓存中心";生成后初始化 cd app-cisdigital-cap-cache-center && make install。限制:价格、收费、效果、平台支持等资料未提供。