语言插件

22

开发语言插件步骤如下:

  1. 在 build.gradle.kts 文件中添加 m8test sdk 依赖 , 为了减小插件apk大小, 如果是 M8Test Version Catalog 中存在的依赖库请使用 compileOnly 来依赖项目

  1. 编写一个语言类继承 AbstractLanguage 并实现其中的抽象方法

  • getExtensions: 语言所支持的文件扩展名列表

  • getBuildPluginProviderClass: 构建项目的插件提供全类名

  • createScript: 用于创建脚本对象

  • getVariablePrefix: 全局变量创建时需要添加的前缀, 用于区分其他变量

  • getVariableSuffix: 全局变量创建时需要添加的后缀, 用于区分其他变量

  1. 在 AndroidManifest.xml 中配置插件信息

  • com.m8test.plugin.type: 插件类型, 此处为 language

  • com.m8test.plugin.name: 插件名称, 可以为任意字符串

  • com.m8test.plugin.className: 实现了插件的全类名

  1. 编写一个脚本类继承 AbstractScript 并实现其中的抽象方法

  • createStringExecutor: 创建字符串脚本执行器, 每次执行字符串脚本时会调用此方法

  • createFileExecutor: 创建文件脚本执行器, 每次执行文件脚本时会调用此方法

  • createProjectExecutor: 创建项目脚本执行器, 每次执行项目脚本时会调用此方法

脚本执行器需要继承 AbstractScriptExecutor 类, RhinoScriptExecutor 继承该类, 并且有三个子类, 分别为

  1. 编写一个类实现 BuildPluginProvider, 此类需要返回构建插件(工程插件, 设置插件)

  1. 编写一个类实现 Plugin, 此类用于实现如何构建一个脚本项目, 在上一个步骤中返回此类对象

  1. 编写构建任务, 一般需要实现三个任务, 分别用于构建 lib, init 以及 src 目录, 项目中剩余的其他目录有默认实现, 也就是会直接复制所有文件到目标目录, 如果有需要的话也可以修改默认实现.

posted @ 2025-03-31 18:28  小黑电脑  阅读(26)  评论(0)    收藏  举报