快嘉sdkg使用手册(附录) 插件和脚手架说明 - fastjrun/sdkg GitHub Wiki
常用参数:
- bundleFiles:接口定义文件,相对路径,支持多个文件,以","分隔;默认值:“demo_bundle.xml,demo_bundle1.xml”
- sdkDir:代码生成目录,相对路径;默认值:“SDK”
- appName:sdk名称,这里和配置文件保持一致;默认值:"apiWorld"
- packagePrefix:生成代码包名前缀,注意以"."结尾;默认值:"com.fastjrun.demo."
- skip:是否生成代码控制;默认值:“true”,如果不显示设置为false,则代码生成不生效,这个对于接口稳定相关代码不需改动的场景比较试用
代码作者、版权和声明信息参数:(参考CodeGenerator.addClassDeclaration(JDefinedClass jClass)方法)
-
author:代码作者,可以通过jvm参数-Dsdkg.author设置;默认值:cuiyingfeng
-
skipAuthor:是否生成代码作者信息控制,可以通过jvm参数-Dsdkg.skipAuthor设置;默认值:false
-
company:作者所属公司名,可以通过jvm参数-Dsdkg.company设置;相对路径;默认值:“快嘉框架”
-
year_codeg_time:代码文件著作时间,可以通过jvm参数-Dsdkg.year_codeg_time设置;默认值为空,版权信息中代码文件著作时间为代码生成当年
-
skipCopyright:是否否生成版权控制,可以通过jvm参数-Dsdkg.skipCopyright设置;默认值:false
-
notice:声明信息,可以通过jvm参数-Dsdkg.notice设置;默认值:"注意:本内容仅限于公司内部传阅,禁止外泄以及用于其他的商业目的"
-
skipNotice:是否生成声明信息控制,可以通过jvm参数-Dsdkg.skipNotice设置;默认值:false
配置示例
<plugin>
<groupId>com.fastjrun.share</groupId>
<artifactId>sdkg-helper</artifactId>
<version>${sdkg.version}</version>
<executions>
<execution>
<id>initialize phase</id>
<phase>initialize</phase>
<goals>
<goal>sdkgc</goal>
</goals>
<configuration>
<bundleFiles>test-sdk-client.xml</bundleFiles>
<sdkDir>.</sdkDir>
<appName>test-sdk</appName>
<packagePrefix>com.alibaba.testsdk.</packagePrefix>
</configuration>
</execution>
</executions>
</plugin>
命令示例
mvn clean package -Dsdkg.skip=false
mvn clean package -Dsdkg.skip=false -Dsdkg.author=崔
mvn clean package -Dsdkg.skip=false -Dsdkg.skipAuthor=true
mvn clean package -Dsdkg.skip=false -Dsdkg.skipAuthor=true -Dsdkg.skipCopyright=true
mvn clean package -Dsdkg.skip=false -Dsdkg.skipAuthor=true -Dsdkg.skipCopyright=true -Dsdkg.skipNotice=true
mvn clean package -Dsdkg.skip=false -Dsdkg.company=阿里居
mvn clean package -Dsdkg.skip=false -Dsdkg.company=阿里居 -Dsdkg.year_codeg_time=2057
mvn clean package -Dsdkg.skip=false -Dsdkg.notice=这段代码不是我写的
参数:
- groupId:pom坐标
- artifactId:pom坐标
- version:pom坐标
- package:生成代码包名前缀,这个值会影响到生成脚手架工程的pom文件中关于sdkg-helper插件配置部分的packagePrefix参数和src/tst/resources/testng.xml
- apiworld:应用名称,这个值会影响到生成脚手架工程的pom文件中关于sdkg-helper插件配置部分的appName、bundleFiles参数、sdk配置文件名、sdk配置文件内容和接口定义文件名 命令示例(批处理模式)
mvn archetype:generate -B -DgroupId=com.alibaba.share -DartifactId=test-sdk -Dpackage="com.alibaba.testsdk" -Dapiworld="test-sdk" -Dversion=1.1-SNAPSHOT -DarchetypeGroupId=com.fastjrun.share -DarchetypeArtifactId=single-sdk-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeCatalog=local