快嘉sdkg使用手册(附录) 插件和脚手架说明 - fastjrun/sdkg GitHub Wiki

sdkg-helper代码生成Maven插件

常用参数

  • 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=这段代码不是我写的

sdk脚手架

参数

  • 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
⚠️ **GitHub.com Fallback** ⚠️