# autos.skills.aardioProjectBuilder 库模块帮助文档

## autos.skills.aardioProjectBuilder 成员列表 <a id="autos.skills.aardioProjectBuilder" href="#autos.skills.aardioProjectBuilder">&#x23;</a>

创建与维护 aardio 工程的 Autos 技能包脚手架。底层调用 ide、ide.project、web.msxml、fsys 等标准库。

### autos.skills.aardioProjectBuilder.compileCurrent() <a id="autos.skills.aardioProjectBuilder.compileCurrent" href="#autos.skills.aardioProjectBuilder.compileCurrent">&#x23;</a>
调用 ide.compile 编译当前视图源码。

### autos.skills.aardioProjectBuilder.createFile(path,relPath,content,options) <a id="autos.skills.aardioProjectBuilder.createFile" href="#autos.skills.aardioProjectBuilder.createFile">&#x23;</a>
在工程内写入相对路径文件。options.overwrite 控制覆盖，options.compile 可编译检查 .aardio 文件。

### autos.skills.aardioProjectBuilder.createProject(projectType,projectDir,projectName,options) <a id="autos.skills.aardioProjectBuilder.createProject" href="#autos.skills.aardioProjectBuilder.createProject">&#x23;</a>
调用 ide.project 创建工程。projectType 支持 winform, console, website, webviewReact, webviewVue, service, fastcgi, sfx, py3, processPython, java, nativeMessaging, activeX 及常用别名。成功返回工程信息表，失败返回 null,err。

### autos.skills.aardioProjectBuilder.ensureProjectDirs(path,dirs) <a id="autos.skills.aardioProjectBuilder.ensureProjectDirs" href="#autos.skills.aardioProjectBuilder.ensureProjectDirs">&#x23;</a>
在工程目录下创建 res/lib/test 等子目录，dirs 省略时创建默认目录。

### autos.skills.aardioProjectBuilder.findProjectFile(path) <a id="autos.skills.aardioProjectBuilder.findProjectFile" href="#autos.skills.aardioProjectBuilder.findProjectFile">&#x23;</a>
接受工程目录或 *.aproj 文件，返回工程文件路径；不指定 path 时尝试返回当前 IDE 工程路径。

### autos.skills.aardioProjectBuilder.getAprojAttributes(path) <a id="autos.skills.aardioProjectBuilder.getAprojAttributes" href="#autos.skills.aardioProjectBuilder.getAprojAttributes">&#x23;</a>
读取 *.aproj 根节点属性表，返回 attrs,projectFile,xmlDoc,root。

### autos.skills.aardioProjectBuilder.getCreateMethod(projectType) <a id="autos.skills.aardioProjectBuilder.getCreateMethod" href="#autos.skills.aardioProjectBuilder.getCreateMethod">&#x23;</a>
返回工程类型对应的 ide.project.create* 方法名与规范化类型名。

### autos.skills.aardioProjectBuilder.getCurrentProjectInfo() <a id="autos.skills.aardioProjectBuilder.getCurrentProjectInfo" href="#autos.skills.aardioProjectBuilder.getCurrentProjectInfo">&#x23;</a>
返回当前 IDE 已打开工程的信息。

### autos.skills.aardioProjectBuilder.getCurrentProjectProperty(name) <a id="autos.skills.aardioProjectBuilder.getCurrentProjectProperty" href="#autos.skills.aardioProjectBuilder.getCurrentProjectProperty">&#x23;</a>
调用 ide.getProjectProperty 读取当前工程属性。

### autos.skills.aardioProjectBuilder.getIdeSnapshot() <a id="autos.skills.aardioProjectBuilder.getIdeSnapshot" href="#autos.skills.aardioProjectBuilder.getIdeSnapshot">&#x23;</a>
读取当前 IDE 工程/发布路径等状态快照。

### autos.skills.aardioProjectBuilder.getProjectInfo(path) <a id="autos.skills.aardioProjectBuilder.getProjectInfo" href="#autos.skills.aardioProjectBuilder.getProjectInfo">&#x23;</a>
读取 *.aproj 基础信息，返回 {path;projectFile;dir;projectDir;name;output;mainFile;attributes}。

### autos.skills.aardioProjectBuilder.minAutos <a id="autos.skills.aardioProjectBuilder.minAutos" href="#autos.skills.aardioProjectBuilder.minAutos">&#x23;</a>
技能包支持的最小 AA(aardio autos) 版本

### autos.skills.aardioProjectBuilder.openProject(path) <a id="autos.skills.aardioProjectBuilder.openProject" href="#autos.skills.aardioProjectBuilder.openProject">&#x23;</a>
在 IDE 中打开工程，path 可为工程目录或 *.aproj 文件。成功返回工程文件路径。

### autos.skills.aardioProjectBuilder.publishCurrent() <a id="autos.skills.aardioProjectBuilder.publishCurrent" href="#autos.skills.aardioProjectBuilder.publishCurrent">&#x23;</a>
调用 ide.publish 发布当前工程。

### autos.skills.aardioProjectBuilder.readMain(path) <a id="autos.skills.aardioProjectBuilder.readMain" href="#autos.skills.aardioProjectBuilder.readMain">&#x23;</a>
读取工程 main.aardio，返回 code,mainFile。

### autos.skills.aardioProjectBuilder.runCurrent() <a id="autos.skills.aardioProjectBuilder.runCurrent" href="#autos.skills.aardioProjectBuilder.runCurrent">&#x23;</a>
调用 ide.run 运行当前视图源码。

### autos.skills.aardioProjectBuilder.setCurrentProjectProperty(name,value) <a id="autos.skills.aardioProjectBuilder.setCurrentProjectProperty" href="#autos.skills.aardioProjectBuilder.setCurrentProjectProperty">&#x23;</a>
调用 ide.setProjectProperty 修改当前工程属性。

### autos.skills.aardioProjectBuilder.setProjectAttributes(path,attrs) <a id="autos.skills.aardioProjectBuilder.setProjectAttributes" href="#autos.skills.aardioProjectBuilder.setProjectAttributes">&#x23;</a>
修改 *.aproj 根节点属性。attrs 中值为 null 的字段会删除属性。成功返回新的工程信息表。

### autos.skills.aardioProjectBuilder.setProjectOutput(path,outputName) <a id="autos.skills.aardioProjectBuilder.setProjectOutput" href="#autos.skills.aardioProjectBuilder.setProjectOutput">&#x23;</a>
修改工程 output 属性。

### autos.skills.aardioProjectBuilder.setProjectVersion(path,fileVersion,productVersion) <a id="autos.skills.aardioProjectBuilder.setProjectVersion" href="#autos.skills.aardioProjectBuilder.setProjectVersion">&#x23;</a>
修改 FileVersion/ProductVersion 属性。

### autos.skills.aardioProjectBuilder.supportedProjectTypes() <a id="autos.skills.aardioProjectBuilder.supportedProjectTypes" href="#autos.skills.aardioProjectBuilder.supportedProjectTypes">&#x23;</a>
返回本技能包支持的工程类型名称数组。

### autos.skills.aardioProjectBuilder.validateProject(path,options) <a id="autos.skills.aardioProjectBuilder.validateProject" href="#autos.skills.aardioProjectBuilder.validateProject">&#x23;</a>
检查工程文件、main.aardio 是否存在并默认编译 main.aardio，返回 report。

### autos.skills.aardioProjectBuilder.version <a id="autos.skills.aardioProjectBuilder.version" href="#autos.skills.aardioProjectBuilder.version">&#x23;</a>
技能包版本

### autos.skills.aardioProjectBuilder.writeMain(path,code,options) <a id="autos.skills.aardioProjectBuilder.writeMain" href="#autos.skills.aardioProjectBuilder.writeMain">&#x23;</a>
写入工程 main.aardio，默认编译检查且不覆盖既有文件。
