mirror of
https://github.com/HighCapable/YukiHookAPI-ProjectBuilder.git
synced 2025-09-05 10:15:20 +08:00
Compare commits
40 Commits
Author | SHA1 | Date | |
---|---|---|---|
3472897059
|
|||
33fd69046f
|
|||
21bb61c9fb
|
|||
49f9e102ba
|
|||
74233d5e85
|
|||
008ae12242
|
|||
f736186345
|
|||
eb66f84ff0
|
|||
5d4925d877
|
|||
65555cc3e3
|
|||
6d8951c817
|
|||
0076093296
|
|||
1ad46b5994
|
|||
3ccb304aa9
|
|||
d1c9fa858b
|
|||
b393000d5e
|
|||
e51721dbec
|
|||
8a1077d4a4
|
|||
bde4dd26ec
|
|||
1bfb09c29c
|
|||
7d7e204037
|
|||
c76f1bfcae
|
|||
215802af5c
|
|||
2bfc63ee78
|
|||
64d0ec55f1
|
|||
b95ffdacc0
|
|||
8aefb7df64
|
|||
38b2e48d1c
|
|||
c99d886e70
|
|||
2c0fb88f7d
|
|||
ff71fad415
|
|||
4299a1d04c
|
|||
f95c89f9e4
|
|||
2291639b52
|
|||
fbe50ef494
|
|||
37e550aade
|
|||
55a0390a0f
|
|||
c7e160c2fc
|
|||
023b432c0b
|
|||
33daeaf9e5
|
3
.idea/.gitignore
generated
vendored
3
.idea/.gitignore
generated
vendored
@@ -1,8 +1,9 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
/misc.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
/dataSources.local.xml
|
BIN
.idea/icon.png
generated
Normal file
BIN
.idea/icon.png
generated
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
1
.idea/inspectionProfiles/Project_Default.xml
generated
1
.idea/inspectionProfiles/Project_Default.xml
generated
@@ -1,6 +1,7 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="CheckImageSize" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="HtmlFormInputWithoutLabel" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="HtmlUnknownAttribute" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="myValues">
|
||||
|
7
.idea/misc.xml
generated
7
.idea/misc.xml
generated
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="FLOW" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="liberica-11" project-jdk-type="JavaSDK" />
|
||||
</project>
|
@@ -1,37 +1,50 @@
|
||||
# YukiHookAPI Project Builder
|
||||
|
||||

|
||||

|
||||
[](https://t.me/YukiHookAPI)
|
||||
<br/><br/>
|
||||
<img src="https://github.com/fankes/YuKiHookAPI/blob/master/img-src/icon.png?raw=true" width = "100" height = "100"/>
|
||||
<br/>
|
||||
<br/>
|
||||
帮助你快速创建一个使用 YukiHookAPI 打造的 Xposed 项目模板。
|
||||
<br/>
|
||||
[](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/LICENSE)
|
||||
[](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases)
|
||||
[](https://t.me/YukiHookAPI)
|
||||
[](https://t.me/HighCapable_Dev)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
|
||||
|
||||
[English](https://github.com/fankes/YukiHookAPI-ProjectBuilder/blob/master/README.md) | 简体中文
|
||||
<img src="img-src/icon.png" width = "100" height = "100" alt="LOGO"/>
|
||||
|
||||
帮助你快速创建一个使用 YukiHookAPI 打造的 Xposed 项目模板。
|
||||
|
||||
[English](README.md) | 简体中文
|
||||
|
||||
| <img src="https://github.com/HighCapable/.github/blob/main/img-src/logo.jpg?raw=true" width = "30" height = "30" alt="LOGO"/> | [HighCapable](https://github.com/HighCapable) |
|
||||
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
|
||||
|
||||
这个项目属于上述组织,**点击上方链接关注这个组织**,发现更多好项目。
|
||||
|
||||
## 项目迁移公告
|
||||
|
||||
这个项目最终的目的就是创建一个新的 Android Studio/IDEA 项目模版,然后再在对应的 IDE 中打开项目。
|
||||
|
||||
这种方式不是很优雅,而且需要在用户的电脑上安装这个软件,后期我准备将这个项目合并到 IDEA 插件中,集成到新项目模版功能里。
|
||||
|
||||
这样一来,使用 IDEA 安装插件即可实现直接使用此模版创建项目的功能,而且更加灵活和具有可拓展性。
|
||||
|
||||
在新的项目确定后,会在这里添加新项目的链接,届时我会终止维护这个项目并建议大家转移到新项目。
|
||||
|
||||
**项目构建器将会在 `YukiHookAPI` 发布第一个 `2.0.0` 版本之前做最后的维护,在新的版本发布后,这个项目将正式弃用。**
|
||||
|
||||
## 这是什么
|
||||
|
||||
- 这是一个使用 [YukiHookAPI](https://github.com/fankes/YukiHookAPI) 作为核心的 Xposed 模块自动构建工具
|
||||
这是一个使用 [YukiHookAPI](https://github.com/HighCapable/YuKiHookAPI) 作为核心的 Xposed 模块自动构建工具。
|
||||
|
||||
- 实现自动化搜索依赖快速搭建一个包含 Xposed 模块环境的 Android 项目模板
|
||||
实现自动化搜索依赖快速搭建一个包含 Xposed 模块环境的 Android 项目模板。
|
||||
|
||||
## 如何使用
|
||||
|
||||
- 本项目使用 **Electron** 开发,快速实现多平台本地化应用程序的构建和运行
|
||||
本项目使用 **Electron** 开发,快速实现多平台本地化应用程序的构建和运行。
|
||||
|
||||
你可以直接从 [Release](https://github.com/fankes/YukiHookAPI-ProjectBuilder/releases) 下载适合于你平台的应用程序。
|
||||
你可以直接从 [Release](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases) 下载适合于你平台的应用程序。
|
||||
|
||||
**以下是手动部署与编译步骤**
|
||||
> 以下是手动部署与编译步骤
|
||||
|
||||
首先你需要安装 [node.js](https://nodejs.org/zh-cn/)
|
||||
|
||||
IDE 工具建议使用 **IntelliJ IDEA** 或 **WebStorm**
|
||||
|
||||
不建议使用 **Visual Studio Code** 对代码进行格式化,可能会造成一些错误。
|
||||
|
||||
- 执行如下命令安装 Electron
|
||||
|
||||
```
|
||||
@@ -74,12 +87,27 @@ npm run make
|
||||
npm run package
|
||||
```
|
||||
|
||||
## 项目推广
|
||||
|
||||
<!--suppress HtmlDeprecatedAttribute -->
|
||||
<div align="center">
|
||||
<h2>嘿,还请君留步!👋</h2>
|
||||
<h3>这里有 Android 开发工具、UI 设计、Gradle 插件、Xposed 模块和实用软件等相关项目。</h3>
|
||||
<h3>如果下方的项目能为你提供帮助,不妨为我点个 star 吧!</h3>
|
||||
<h3>所有项目免费、开源,遵循对应开源许可协议。</h3>
|
||||
<h1><a href="https://github.com/fankes/fankes/blob/main/project-promote/README-zh-CN.md">→ 查看更多关于我的项目,请点击这里 ←</a></h1>
|
||||
</div>
|
||||
|
||||
## Star History
|
||||
|
||||

|
||||
|
||||
## 许可证
|
||||
|
||||
- [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html)
|
||||
|
||||
```
|
||||
Copyright (C) 2019-2022 HighCapable
|
||||
Copyright (C) 2019 HighCapable
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
@@ -95,4 +123,4 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
```
|
||||
|
||||
版权所有 © 2019-2022 HighCapable
|
||||
版权所有 © 2019 HighCapable
|
83
README.md
83
README.md
@@ -1,51 +1,73 @@
|
||||
# YukiHookAPI Project Builder
|
||||
|
||||

|
||||

|
||||
[](https://t.me/YukiHookAPI)
|
||||
<br/><br/>
|
||||
<img src="https://github.com/fankes/YuKiHookAPI/blob/master/img-src/icon.png?raw=true" width = "100" height = "100"/>
|
||||
<br/>
|
||||
<br/>
|
||||
A Xposed Project Builder by YukiHookAPI.
|
||||
<br/>
|
||||
[](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/LICENSE)
|
||||
[](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases)
|
||||
[](https://t.me/YukiHookAPI)
|
||||
[](https://t.me/HighCapable_Dev)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
|
||||
|
||||
English | [简体中文](https://github.com/fankes/YukiHookAPI-ProjectBuilder/blob/master/README-zh-CN.md)
|
||||
<img src="img-src/icon.png" width = "100" height = "100" alt="LOGO"/>
|
||||
|
||||
A Xposed Project Builder by YukiHookAPI.
|
||||
|
||||
English | [简体中文](README-zh-CN.md)
|
||||
|
||||
| <img src="https://github.com/HighCapable/.github/blob/main/img-src/logo.jpg?raw=true" width = "30" height = "30" alt="LOGO"/> | [HighCapable](https://github.com/HighCapable) |
|
||||
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
|
||||
|
||||
This project belongs to the above-mentioned organization, **click the link above to follow this organization** and discover more good projects.
|
||||
|
||||
## Project Migration Notice
|
||||
|
||||
The ultimate goal of this project is to create a new Android Studio/IDEA project template, and then open the project in the corresponding IDE.
|
||||
|
||||
This method is not very elegant and requires the software to be installed on the user's computer.
|
||||
|
||||
Later, I plan to merge this project into the IDEA plugin and integrate it into the new project template function.
|
||||
|
||||
In this way, you can use IDEA to install the plugin to create projects directly using this template, and it is more flexible and scalable.
|
||||
|
||||
After the new project is determined, a link to the new project will be added here.
|
||||
|
||||
At that time, I will terminate the maintenance of this project and recommend that everyone move to the new project.
|
||||
|
||||
**The project builder will be maintained before the release of the first `2.0.0` version of `YukiHookAPI`. This project will be officially deprecated
|
||||
after the new version is released.**
|
||||
|
||||
## What's this
|
||||
|
||||
- This is an automatic building tool for Xposed modules using [YukiHookAPI](https://github.com/fankes/YukiHookAPI) as the core
|
||||
This is an automatic building tool for Xposed Modules using [YukiHookAPI](https://github.com/HighCapable/YuKiHookAPI) as the core.
|
||||
|
||||
- Implementing automated search relies on quickly building an Android project template that includes a Xposed module environment
|
||||
Implementing automated search relies on quickly building an Android project template that includes a Xposed Module environment.
|
||||
|
||||
## How to use
|
||||
|
||||
- This project is developed using **Electron** to quickly build and run multi-platform localized applications
|
||||
This project is developed using **Electron** to quickly build and run multi-platform localized applications.
|
||||
|
||||
You can download the application for your platform directly
|
||||
from [Release](https://github.com/fankes/YukiHookAPI-ProjectBuilder/releases).
|
||||
from [Release](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases).
|
||||
|
||||
**The following are the manual deployment and compilation steps**
|
||||
> The following are the manual deployment and compilation steps
|
||||
|
||||
First you need to install [node.js](https://nodejs.org/en/)
|
||||
|
||||
IDE tools recommend **IntelliJ IDEA** or **WebStorm**
|
||||
IDE tools recommend **IntelliJ IDEA** or **WebStorm**.
|
||||
|
||||
Formatting code with **Visual Studio Code** is not recommended and may cause some errors.
|
||||
|
||||
- Execute the following command to install Electron
|
||||
Execute the following command to install Electron.
|
||||
|
||||
```
|
||||
npm install --save-dev electron
|
||||
```
|
||||
|
||||
- Execute the following command to install yarn
|
||||
Execute the following command to install yarn.
|
||||
|
||||
```
|
||||
npm install yarn
|
||||
```
|
||||
|
||||
- Enter the project directory and execute the following command to install dependencies
|
||||
Enter the project directory and execute the following command to install dependencies.
|
||||
|
||||
```
|
||||
npm install --save-dev @electron-forge/cli
|
||||
@@ -55,13 +77,13 @@ npm install --save-dev @electron-forge/cli
|
||||
npx electron-forge import
|
||||
```
|
||||
|
||||
- Use the following command to debug
|
||||
Use the following command to debug.
|
||||
|
||||
```
|
||||
npm run start
|
||||
```
|
||||
|
||||
- Use the following commands to compile & package
|
||||
Use the following commands to compile & package.
|
||||
|
||||
**Linux/macOS**
|
||||
|
||||
@@ -75,12 +97,27 @@ npm run make
|
||||
npm run package
|
||||
```
|
||||
|
||||
## Promotion
|
||||
|
||||
<!--suppress HtmlDeprecatedAttribute -->
|
||||
<div align="center">
|
||||
<h2>Hey, please stay! 👋</h2>
|
||||
<h3>Here are related projects such as Android development tools, UI design, Gradle plugins, Xposed Modules and practical software. </h3>
|
||||
<h3>If the project below can help you, please give me a star! </h3>
|
||||
<h3>All projects are free, open source, and follow the corresponding open source license agreement. </h3>
|
||||
<h1><a href="https://github.com/fankes/fankes/blob/main/project-promote/README.md">→ To see more about my projects, please click here ←</a></h1>
|
||||
</div>
|
||||
|
||||
## Star History
|
||||
|
||||

|
||||
|
||||
## License
|
||||
|
||||
- [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html)
|
||||
|
||||
```
|
||||
Copyright (C) 2019-2022 HighCapable
|
||||
Copyright (C) 2019 HighCapable
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as
|
||||
@@ -96,4 +133,4 @@ You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
```
|
||||
|
||||
Copyright © 2019-2022 HighCapable
|
||||
Copyright © 2019 HighCapable
|
BIN
img-src/icon.png
Normal file
BIN
img-src/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "yukihookapi-projectbuilder",
|
||||
"productName": "YukiHookAPI Project Builder",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.7",
|
||||
"description": "A Xposed Project Builder by YukiHookAPI",
|
||||
"main": "src/app.js",
|
||||
"scripts": {
|
||||
@@ -18,7 +18,7 @@
|
||||
"@electron-forge/maker-rpm": "^6.0.0-beta.64",
|
||||
"@electron-forge/maker-squirrel": "^6.0.0-beta.64",
|
||||
"@electron-forge/maker-zip": "^6.0.0-beta.64",
|
||||
"electron": "20.3.9",
|
||||
"electron": "22.3.23",
|
||||
"electron-icon-builder": "^2.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
|
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
@@ -80,14 +80,14 @@ const appSpace = {
|
||||
label: locale.i18n.projectAddress,
|
||||
accelerator: system.isMacOS ? 'command+w' : 'ctrl+w',
|
||||
click: () => {
|
||||
system.openBrowser('https://github.com/fankes/YukiHookAPI');
|
||||
system.openBrowser('https://github.com/HighCapable/YuKiHookAPI');
|
||||
}
|
||||
});
|
||||
const helpDocumentationChildItem = new MenuItem({
|
||||
label: locale.i18n.helpDocumentation,
|
||||
accelerator: system.isMacOS ? 'command+h' : 'ctrl+h',
|
||||
click: () => {
|
||||
system.openBrowser('https://fankes.github.io/YukiHookAPI');
|
||||
system.openBrowser('https://highcapable.github.io/YukiHookAPI');
|
||||
}
|
||||
});
|
||||
const openSourceChildItem = new MenuItem({
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
Copyright (C) 2019-2022 HighCapable
|
||||
https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
Copyright (C) 2019 HighCapable
|
||||
https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
|
||||
This software is non-free but opensource software: you can redistribute it
|
||||
and/or modify it under the terms of the GNU Affero General Public License
|
||||
@@ -28,9 +28,10 @@
|
||||
<meta content="no-siteapp">
|
||||
<meta content="light dark" name="color-scheme">
|
||||
<title> </title>
|
||||
<link href="css/mdui.min.css" rel="stylesheet">
|
||||
<link href="render.css" rel="stylesheet">
|
||||
<script src="js/mdui.min.js"></script>
|
||||
<link href="./css/mdui.min.css" rel="stylesheet">
|
||||
<link href="./render.css" rel="stylesheet">
|
||||
<script src="./js/mdui.min.js"></script>
|
||||
<script src="./js/marked.min.js"></script>
|
||||
</head>
|
||||
<body class="mdui-container-fluid mdui-theme-primary-orange mdui-theme-accent-orange mdui-theme-layout-auto">
|
||||
<div id="root_div" style="font-size:12pt;line-height:150%;padding-top:5pt;padding-left:10pt;padding-right:10pt;display:none">
|
||||
@@ -99,7 +100,7 @@
|
||||
</div>
|
||||
<div class="mdui-textfield" id="new_xshare_prefs_div">
|
||||
<i class="mdui-icon material-icons">style</i>
|
||||
<label class="mdui-textfield-label i18n">{{declarationNewXSharePrefs}}</label>
|
||||
<label class="mdui-textfield-label i18n">{{useNewXSharedPreferences}}</label>
|
||||
<select class="mdui-select" id="new_xshare_prefs_select">
|
||||
<option class="i18n" value="0">{{notConfigure}}</option>
|
||||
<option class="i18n" value="1">{{yesOfConfigure}}</option>
|
||||
@@ -117,7 +118,7 @@
|
||||
onclick="moduleScope.showAddDialog()"
|
||||
style="margin-left: 40px;width: 92%">
|
||||
<i class="mdui-icon material-icons" style="margin-bottom: 4px;margin-right: 4px">add</i>
|
||||
<span class="i18n" style="text-transform: none">{{addApps}}</span>
|
||||
<span class="i18n" style="text-transform: none">{{addNewApp}}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div style="margin-top: 15px"></div>
|
||||
@@ -134,7 +135,7 @@
|
||||
<i class="mdui-icon material-icons">photo_library</i>
|
||||
<label class="mdui-textfield-label i18n">{{addResourcesHookSupport}}</label>
|
||||
<select class="mdui-select" id="support_resources_hook_select">
|
||||
<option class="i18n" value="0">{{notConfigureDefYes}}</option>
|
||||
<option class="i18n" value="0">{{notConfigureDefNo}}</option>
|
||||
<option class="i18n" value="1">{{yesOfConfigure}}</option>
|
||||
<option class="i18n" value="2">{{noOfConfigure}}</option>
|
||||
</select>
|
||||
@@ -162,15 +163,6 @@
|
||||
<option class="i18n" value="2">{{noOfConfigure}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="mdui-textfield">
|
||||
<i class="mdui-icon material-icons">storage</i>
|
||||
<label class="mdui-textfield-label i18n">{{enableYukiHookPrefsBridgeCache}}</label>
|
||||
<select class="mdui-select" id="enable_yprefs_cache_select">
|
||||
<option class="i18n" value="0">{{notConfigureDefYes}}</option>
|
||||
<option class="i18n" value="1">{{yesOfConfigure}}</option>
|
||||
<option class="i18n" value="2">{{noOfConfigure}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="mdui-textfield">
|
||||
<i class="mdui-icon material-icons">satellite</i>
|
||||
<label class="mdui-textfield-label i18n">{{enableModuleResourcesCache}}</label>
|
||||
@@ -198,15 +190,6 @@
|
||||
<option class="i18n" value="2">{{noOfConfigure}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="mdui-textfield">
|
||||
<i class="mdui-icon material-icons">texture</i>
|
||||
<label class="mdui-textfield-label i18n">{{enableMemberCache}}</label>
|
||||
<select class="mdui-select" id="enable_member_cache_select">
|
||||
<option class="i18n" value="0">{{notConfigureDefYes}}</option>
|
||||
<option class="i18n" value="1">{{yesOfConfigure}}</option>
|
||||
<option class="i18n" value="2">{{noOfConfigure}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div style="margin-top: 15px"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -216,7 +199,7 @@
|
||||
</button>
|
||||
</div>
|
||||
<div class="mdui-dialog" id="module_scope_dialog" style="max-width: 500px">
|
||||
<div class="mdui-dialog-title i18n">{{addApps}}</div>
|
||||
<div class="mdui-dialog-title i18n">{{addNewApp}}</div>
|
||||
<div>
|
||||
<span class="i18n" style="margin-left: 24px">{{selectScopeAppsOrEnterOnceTip}}</span>
|
||||
<select class="mdui-select" id="module_scope_select" style="margin-left: 26px;margin-top: 10px">
|
||||
@@ -287,8 +270,9 @@
|
||||
<span id="about_name_text"></span><br/>
|
||||
<span id="about_version_text"></span><br/>
|
||||
<span class="i18n">{{aboutTip}}</span><br/>
|
||||
<span class="i18n">{{projectAddress}}: </span>
|
||||
<span class="url-link">https://github.com/fankes/YukiHookAPI</span><br/>
|
||||
<span class="i18n">{{mainProjectAddress}}</span><br/>
|
||||
<span class="url-link">https://github.com/HighCapable/YukiHookAPI</span><br/>
|
||||
<span class="url-link">https://github.com/HighCapable/KavaRef</span><br/>
|
||||
<div style="margin-top: 10px"></div>
|
||||
<span class="i18n" style="font-size: 10pt;opacity: 0.6;line-height: 18px">{{noticeTip}}</span>
|
||||
</div>
|
||||
@@ -310,13 +294,25 @@
|
||||
<span class="url-link">https://github.com/NASGO/decompress-zip</span><br/>
|
||||
<span>DAY.JS</span>  <span class="license-text">MIT</span><br/>
|
||||
<span class="url-link">https://github.com/iamkun/dayjs</span><br/>
|
||||
<span>YukiHookAPI</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/HighCapable/YuKiHookAPI</span><br/>
|
||||
<span>KavaRef</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/HighCapable/KavaRef</span><br/>
|
||||
<span>BetterAndroid</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/BetterAndroid/BetterAndroid</span><br/>
|
||||
<span>Hikage</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/BetterAndroid/Hikage</span><br/>
|
||||
<span>DrawableToolbox</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/duanhong169/DrawableToolbox</span>
|
||||
<span class="url-link">https://github.com/duanhong169/DrawableToolbox</span><br/>
|
||||
<span>SweetDependency</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/HighCapable/SweetDependency</span><br/>
|
||||
<span>SweetProperty</span>  <span class="license-text">Apache-2.0</span><br/>
|
||||
<span class="url-link">https://github.com/HighCapable/SweetProperty</span>
|
||||
</div>
|
||||
<div class="mdui-dialog-actions">
|
||||
<button class="mdui-btn mdui-ripple i18n" mdui-dialog-close>{{close}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script src="render.js"></script>
|
||||
<script src="./render.js"></script>
|
||||
</html>
|
6
src/content/js/marked.min.js
vendored
Normal file
6
src/content/js/marked.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -2,8 +2,8 @@
|
||||
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
@@ -47,6 +47,8 @@ const dependenciesConfigs = {
|
||||
gradlePapers: [],
|
||||
androidGradlePluginVersions: [],
|
||||
kotlinVersions: [],
|
||||
sweetDependencyVersions: [],
|
||||
sweetPropertyVersions: [],
|
||||
yukiHookApiVersions: []
|
||||
};
|
||||
|
||||
@@ -58,7 +60,7 @@ const projectConfigs = {
|
||||
appName: '',
|
||||
moduleDescription: '',
|
||||
appMinApi: 27,
|
||||
appTargetApi: 33,
|
||||
appTargetApi: 35,
|
||||
xposedMinApi: 93,
|
||||
moduleCompoment: 0,
|
||||
targetXposedPlatform: 0,
|
||||
@@ -71,17 +73,17 @@ const projectConfigs = {
|
||||
supportResourcesHook: 0,
|
||||
enableDebug: 0,
|
||||
enableDebugLog: 0,
|
||||
enableYPrefsCache: 0,
|
||||
enableResourcesCache: 0,
|
||||
enableModuleStatus: 0,
|
||||
enableYChannel: 0,
|
||||
enableMemberCache: 0
|
||||
},
|
||||
projectDependencies: {
|
||||
gradlePaper: '',
|
||||
androidGradlePluginVersion: '',
|
||||
kotlinVersion: '',
|
||||
kotlinKspVersion: '',
|
||||
sweetDependencyVersion: '',
|
||||
sweetPropertyVersion: '',
|
||||
yukiHookApiVersion: ''
|
||||
}
|
||||
};
|
||||
@@ -308,11 +310,9 @@ const configForm = {
|
||||
supportResourcesHookSelect: () => valUtils.integerOf($('#support_resources_hook_select option:selected').val()),
|
||||
enableDebugSelect: () => valUtils.integerOf($('#enable_debug_select option:selected').val()),
|
||||
enableDebugLogSelect: () => valUtils.integerOf($('#enable_debug_log_select option:selected').val()),
|
||||
enableYPrefsCacheSelect: () => valUtils.integerOf($('#enable_yprefs_cache_select option:selected').val()),
|
||||
enableResourcesCacheSelect: () => valUtils.integerOf($('#enable_resources_cache_select option:selected').val()),
|
||||
enableModuleStatusSelect: () => valUtils.integerOf($('#enable_module_status_select option:selected').val()),
|
||||
enableYChannelSelect: () => valUtils.integerOf($('#enable_ychannel_select option:selected').val()),
|
||||
enableMemberCacheSelect: () => valUtils.integerOf($('#enable_member_cache_select option:selected').val())
|
||||
enableYChannelSelect: () => valUtils.integerOf($('#enable_ychannel_select option:selected').val())
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -347,11 +347,9 @@ const build = {
|
||||
projectConfigs.yukiHookApiConfig.supportResourcesHook = configForm.supportResourcesHookSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableDebug = configForm.enableDebugSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableDebugLog = configForm.enableDebugLogSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableYPrefsCache = configForm.enableYPrefsCacheSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableResourcesCache = configForm.enableResourcesCacheSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableModuleStatus = configForm.enableModuleStatusSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableYChannel = configForm.enableYChannelSelect();
|
||||
projectConfigs.yukiHookApiConfig.enableMemberCache = configForm.enableMemberCacheSelect();
|
||||
projectConfigs.projectDependencies = {
|
||||
gradlePaper: '',
|
||||
androidGradlePluginVersion: '',
|
||||
@@ -372,10 +370,10 @@ const build = {
|
||||
else if (valUtils.isEmpty(configForm.appMinApiText())) page.snack(locale.i18n.enterAppMinApiVersionTip);
|
||||
else if (configForm.targetXposedPlatformSelect() === 2 && configForm.appMinApiText() < 27) page.snack(locale.i18n.lsposedSupportMinAppApiWarnTip);
|
||||
else if (configForm.appMinApiText() < 21) page.snack(locale.i18n.tooLowAppMinApiVersionWarnTip);
|
||||
else if (configForm.appMinApiText() > 33) page.snack(locale.i18n.tooHighAppMinApiVersionWarnTip);
|
||||
else if (configForm.appMinApiText() > 34) page.snack(locale.i18n.tooHighAppMinApiVersionWarnTip);
|
||||
else if (valUtils.isEmpty(configForm.appTargetApiText())) page.snack(locale.i18n.enterAppTargetApiVersionTip);
|
||||
else if (configForm.appTargetApiText() < configForm.appMinApiText()) page.snack(locale.i18n.tooLowAppTargetApiVersionWarnTip);
|
||||
else if (configForm.appTargetApiText() > 33) page.snack(locale.i18n.maybeInvalidAppTargetApiVersionTip);
|
||||
else if (configForm.appTargetApiText() > 36) page.snack(locale.i18n.maybeInvalidAppTargetApiVersionTip);
|
||||
else if (valUtils.isEmpty(configForm.xposedMinApiText())) page.snack(locale.i18n.enterXposedMinApiVersionTip);
|
||||
else if (configForm.xposedMinApiText() < 82) page.snack(locale.i18n.tooLowXposedMinApiVersionWarnTip);
|
||||
else if (configForm.xposedMinApiText() > 93) page.snack(locale.i18n.tooHighXposedMinApiVersionWarnTip);
|
||||
@@ -413,13 +411,23 @@ const build = {
|
||||
*/
|
||||
complete: (msg) => {
|
||||
dialogs.packagingProgress.close();
|
||||
|
||||
/** 显示保存为模版对话框 */
|
||||
function showSaveToTemplate() {
|
||||
mdui.confirm(locale.i18n.doYouWantSaveConfigTemplateTip, locale.i18n.notice, () => {
|
||||
build.unlockStatus();
|
||||
configTemplate.createNew();
|
||||
}, () => {
|
||||
build.unlockStatus();
|
||||
page.reload();
|
||||
}, {confirmText: locale.i18n.ok, cancelText: locale.i18n.cancel, modal: true, closeOnEsc: false});
|
||||
}
|
||||
|
||||
mdui.confirm(msg, locale.i18n.buildComplete, () => {
|
||||
ipcRenderer.send('open-complete-project');
|
||||
build.unlockStatus();
|
||||
page.reload();
|
||||
showSaveToTemplate();
|
||||
}, () => {
|
||||
build.unlockStatus();
|
||||
page.reload();
|
||||
showSaveToTemplate();
|
||||
}, {confirmText: locale.i18n.openProject, cancelText: locale.i18n.done, modal: true, closeOnEsc: false});
|
||||
},
|
||||
/**
|
||||
@@ -454,10 +462,12 @@ const projectDepends = {
|
||||
/** 依赖 API 获取地址 */
|
||||
urls: {
|
||||
gradlePaper: 'https://services.gradle.org/distributions',
|
||||
androidGradlePlugin: 'https://developer.android.google.cn/studio/releases/gradle-plugin.html',
|
||||
androidGradlePlugin: 'https://dl.google.com/dl/android/maven2/com/android/application/com.android.application.gradle.plugin/maven-metadata.xml',
|
||||
kotlin: 'https://api.github.com/repos/JetBrains/kotlin/releases',
|
||||
kotlinKsp: 'https://api.github.com/repos/google/ksp/releases',
|
||||
yukiHookApi: 'https://s01.oss.sonatype.org/content/repositories/releases/com/highcapable/yukihookapi/api'
|
||||
sweetDependency: 'https://api.github.com/repos/HighCapable/SweetDependency/releases',
|
||||
sweetProperty: 'https://api.github.com/repos/HighCapable/SweetProperty/releases',
|
||||
yukiHookApi: 'https://api.github.com/repos/HighCapable/YuKiHookAPI/releases'
|
||||
},
|
||||
/** 搜索项目依赖 */
|
||||
search() {
|
||||
@@ -521,21 +531,13 @@ const projectDepends = {
|
||||
findAgpVersion: () => {
|
||||
httpClient.requestDepends('Android Gradle Plugin', projectDepends.urls.androidGradlePlugin, (body) => {
|
||||
dependenciesConfigs.androidGradlePluginVersions = [];
|
||||
$(body).find('h2').each((_, element) => {
|
||||
if (valUtils.startsWithNumber(element.innerText))
|
||||
if (element.innerText.indexOf('(') > 0)
|
||||
dependenciesConfigs.androidGradlePluginVersions.push(element.innerText.split('(')[0].trim());
|
||||
else dependenciesConfigs.androidGradlePluginVersions.push(element.innerText.split('(')[0].trim());
|
||||
});
|
||||
$(body).find('.android-updates-box b').each((_, element) => {
|
||||
if (valUtils.startsWithNumber(element.innerText))
|
||||
if (element.innerText.indexOf('(') > 0)
|
||||
dependenciesConfigs.androidGradlePluginVersions.push(element.innerText.split('(')[0].trim());
|
||||
else dependenciesConfigs.androidGradlePluginVersions.push(element.innerText.split('(')[0].trim());
|
||||
});
|
||||
dependenciesConfigs.androidGradlePluginVersions.sort((a, b) => {
|
||||
return b.localeCompare(a);
|
||||
});
|
||||
const versionsNode = body.getElementsByTagName('version');
|
||||
let versions = [];
|
||||
for (let i = versionsNode.length - 1; i >= 0; i--) {
|
||||
const version = versionsNode[i].innerHTML;
|
||||
if (version.indexOf('-alpha') < 0 && version.indexOf('-beta') < 0 && version.indexOf('-rc') < 0) versions.push(version);
|
||||
}
|
||||
dependenciesConfigs.androidGradlePluginVersions = versions;
|
||||
if (dependenciesConfigs.androidGradlePluginVersions.length > 0)
|
||||
projectDepends.findKotlinVersion();
|
||||
else projectDepends.failure('Android Gradle Plugin', false);
|
||||
@@ -569,24 +571,42 @@ const projectDepends = {
|
||||
return !valUtils.isEmpty(value.ksp);
|
||||
});
|
||||
if (dependenciesConfigs.kotlinVersions.length > 0)
|
||||
projectDepends.findYukiHookApiVersion();
|
||||
projectDepends.findSweetDependencyVersion();
|
||||
else projectDepends.failure('Kotlin-Ksp', false);
|
||||
});
|
||||
},
|
||||
/** 获取 SweetDependency 版本 */
|
||||
findSweetDependencyVersion: () => {
|
||||
httpClient.requestDepends('SweetDependency', projectDepends.urls.sweetDependency, (body) => {
|
||||
dependenciesConfigs.sweetDependencyVersions = [];
|
||||
const latestVersion = body.length > 0 ? body[0]['tag_name'] : '';
|
||||
if (latestVersion !== '') {
|
||||
dependenciesConfigs.sweetDependencyVersions.push(latestVersion);
|
||||
/** 直接设置为最新版本 */
|
||||
projectConfigs.projectDependencies.sweetDependencyVersion = latestVersion;
|
||||
projectDepends.findSweetPropertyVersion();
|
||||
} else projectDepends.failure('SweetDependency', false);
|
||||
});
|
||||
},
|
||||
/** 获取 SweetProperty 版本 */
|
||||
findSweetPropertyVersion: () => {
|
||||
httpClient.requestDepends('SweetProperty', projectDepends.urls.sweetProperty, (body) => {
|
||||
dependenciesConfigs.sweetPropertyVersions = [];
|
||||
const latestVersion = body.length > 0 ? body[0]['tag_name'] : '';
|
||||
if (latestVersion !== '') {
|
||||
dependenciesConfigs.sweetPropertyVersions.push(latestVersion);
|
||||
/** 直接设置为最新版本 */
|
||||
projectConfigs.projectDependencies.sweetPropertyVersion = latestVersion;
|
||||
projectDepends.findYukiHookApiVersion();
|
||||
} else projectDepends.failure('SweetProperty', false);
|
||||
});
|
||||
},
|
||||
/** 获取 YukiHookAPI 版本 */
|
||||
findYukiHookApiVersion: () => {
|
||||
httpClient.requestDepends('YukiHookAPI', projectDepends.urls.yukiHookApi, (body) => {
|
||||
dependenciesConfigs.yukiHookApiVersions = [];
|
||||
$(body).find('td').each((_, element) => {
|
||||
if (element.innerText.endsWith('/') && element.innerText.indexOf('fix') < 0)
|
||||
dependenciesConfigs.yukiHookApiVersions.push(element.innerText.replace('/', '').trim());
|
||||
});
|
||||
if (dependenciesConfigs.yukiHookApiVersions.length > 0) {
|
||||
dependenciesConfigs.yukiHookApiVersions.sort((a, b) => {
|
||||
return b.localeCompare(a);
|
||||
});
|
||||
const latestVersion = dependenciesConfigs.yukiHookApiVersions[0];
|
||||
dependenciesConfigs.yukiHookApiVersions = [];
|
||||
const latestVersion = body.length > 0 ? body[0]['tag_name'] : '';
|
||||
if (latestVersion !== '') {
|
||||
dependenciesConfigs.yukiHookApiVersions.push(latestVersion);
|
||||
projectDepends.loaded();
|
||||
} else projectDepends.failure('YukiHookAPI', false);
|
||||
@@ -622,11 +642,9 @@ const configTemplate = {
|
||||
$('#support_resources_hook_select').val(data.yukiHookApiConfig.supportResourcesHook);
|
||||
$('#enable_debug_select').val(data.yukiHookApiConfig.enableDebug);
|
||||
$('#enable_debug_log_select').val(data.yukiHookApiConfig.enableDebugLog);
|
||||
$('#enable_yprefs_cache_select').val(data.yukiHookApiConfig.enableYPrefsCache);
|
||||
$('#enable_resources_cache_select').val(data.yukiHookApiConfig.enableResourcesCache);
|
||||
$('#enable_module_status_select').val(data.yukiHookApiConfig.enableModuleStatus);
|
||||
$('#enable_ychannel_select').val(data.yukiHookApiConfig.enableYChannel);
|
||||
$('#enable_member_cache_select').val(data.yukiHookApiConfig.enableMemberCache);
|
||||
monitor.refresh();
|
||||
moduleScope.refresh(data.basicConfig.moduleScopes);
|
||||
page.snack(locale.format(locale.i18n.configTemplateLoaded, parse.name));
|
||||
@@ -732,11 +750,12 @@ const page = {
|
||||
const repoName = 'YukiHookAPI-ProjectBuilder';
|
||||
httpClient.requestGet('https://api.github.com/repos/' + repoAuthor + '/' + repoName + '/releases/latest', (body) => {
|
||||
const newVersion = body['name'] ?? '';
|
||||
const updateLogs = body['body']?.replace(/\n/g, "<br/>") ?? '';
|
||||
// noinspection JSUnresolvedReference
|
||||
const updateLogs = marked.parse(body['body']?.replace(/\n/g, "<br/>") ?? '');
|
||||
const updateUrl = body['html_url'] ?? '';
|
||||
if (newVersion !== page.appVersion)
|
||||
mdui.confirm(locale.i18n.version + ': ' + newVersion + '<br/><br/>' +
|
||||
'<strong>' + locale.i18n.updateLogs + '</strong><br/><br/>' + updateLogs, locale.i18n.newVersionFound, () => {
|
||||
'<strong>' + locale.i18n.updateLogs + '</strong>' + updateLogs, locale.i18n.newVersionFound, () => {
|
||||
page.openBrowser(updateUrl);
|
||||
}, () => null, {
|
||||
confirmText: locale.i18n.updateNow,
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
@@ -76,6 +76,7 @@ const locale = {
|
||||
"file": "File",
|
||||
"help": "Help",
|
||||
"projectAddress": "Project Address",
|
||||
"mainProjectAddress": "Main Project Address",
|
||||
"helpDocumentation": "Help Documentation",
|
||||
"quit": "Quit",
|
||||
"project": "Project",
|
||||
@@ -107,28 +108,26 @@ const locale = {
|
||||
"agpVersion": "Android Gradle Plugin Version",
|
||||
"kotlinVersion": "Kotlin Version",
|
||||
"yukiHookApiVersion": "YukiHookAPI Version",
|
||||
"createDefaultActivity": "Create default Activity (with active state)",
|
||||
"createBlankActivity": "Create a blank Activity",
|
||||
"withoutUiComponents": "No UI components required",
|
||||
"createDefaultActivity": "Create Default Activity (with active state)",
|
||||
"createBlankActivity": "Create Blank Activity",
|
||||
"withoutUiComponents": "No UI Components",
|
||||
"appMinApiVersion": "App Min API Version",
|
||||
"appTargetApiVersion": "App Target API Version",
|
||||
"xposedMinApiVersion": "Xposed Min API Version",
|
||||
"targetXposedPlatform": "Target Xposed Platform",
|
||||
"universal": "Universal",
|
||||
"nativeXposed": "Native Xposed",
|
||||
"declarationNewXSharePrefs": "Declaration New XShare Prefs (Xposed Min API ≥ 93 was optional)",
|
||||
"useNewXSharedPreferences": "Use New XSharedPreferences (Xposed Min API ≥ 93 was optional)",
|
||||
"moduleScope": "Module Scope",
|
||||
"addApps": "Add apps",
|
||||
"entryClassName": "Entry class name (When blank use the default value)",
|
||||
"addResourcesHookSupport": "Add Resources Hook support",
|
||||
"debugLogTagName": "Debug log TAG name (Default is YukiHookAPI)",
|
||||
"enableDebugMode": "Enable debug mode",
|
||||
"enableDebugLog": "Enable debug log output",
|
||||
"enableYukiHookPrefsBridgeCache": "Enable YukiHookPrefsBridge key-value caching",
|
||||
"enableModuleResourcesCache": "Enable module Resources caching",
|
||||
"enableModuleStatus": "Enable module activation status listening",
|
||||
"enableYukiHookDataChannel": "Enable YukiHookDataChannel feature",
|
||||
"enableMemberCache": "Enable founded reflection class, method, variable caching",
|
||||
"addNewApp": "Add New App",
|
||||
"entryClassName": "Entry Class Name (When blank use the default value)",
|
||||
"addResourcesHookSupport": "Add Resources Hook Support",
|
||||
"debugLogTagName": "Debug Log TAG Name (Default is YukiHookAPI)",
|
||||
"enableDebugMode": "Enable Debug Mode",
|
||||
"enableDebugLog": "Enable Debug Log Output",
|
||||
"enableModuleResourcesCache": "Enable Module Resources Cache",
|
||||
"enableModuleStatus": "Enable Module Activate Status Listener",
|
||||
"enableYukiHookDataChannel": "Enable YukiHookDataChannel",
|
||||
"selectScopeAppsOrEnterOnceTip": "Please select the app you need to add to the scope from the list",
|
||||
"customize": "Customize",
|
||||
"systemFramework": "System Framework",
|
||||
@@ -178,8 +177,9 @@ const locale = {
|
||||
"close": "Close",
|
||||
"done": "Done",
|
||||
"later": "Later",
|
||||
"notConfigure": "Not configured",
|
||||
"notConfigureDefYes": "Not configured (Default Yes/Enabled)",
|
||||
"notConfigure": "Not Configured",
|
||||
"notConfigureDefYes": "Not Configured (Default Yes/Enabled)",
|
||||
"notConfigureDefNo": "Not Configured (Default No/Disabled)",
|
||||
"yesOfConfigure": "Yes/Enabled",
|
||||
"noOfConfigure": "No/Disabled",
|
||||
"version": "Version",
|
||||
@@ -187,6 +187,7 @@ const locale = {
|
||||
"areYouSureRestoreChangeTip": "Are you sure you want to reset all current configs?",
|
||||
"areYouSureClearAllTemplateTip": "Are you sure you want to clear all config template?",
|
||||
"doYouWantLoadConfigTemplateTip": "Do you want to load \"{%1}\"? The current config will be overwritten by the template.",
|
||||
"doYouWantSaveConfigTemplateTip": "Do you need to save the current config as a template for next use? Clicking \"Cancel\" will clear the current config and start creating a new project.",
|
||||
"ruleCheckFailTip": "Rules retrieval failed, please try again.",
|
||||
"networkErrorTip": "A network error occurred, please try again.",
|
||||
"aboutTip": "Helps you quickly create an Xposed project template using YukiHookAPI.",
|
||||
@@ -211,6 +212,7 @@ const locale = {
|
||||
"file": "文件",
|
||||
"help": "帮助",
|
||||
"projectAddress": "项目地址",
|
||||
"mainProjectAddress": "主要项目地址",
|
||||
"helpDocumentation": "帮助文档",
|
||||
"quit": "退出",
|
||||
"project": "项目",
|
||||
@@ -251,19 +253,17 @@ const locale = {
|
||||
"targetXposedPlatform": "目标 Xposed 平台",
|
||||
"universal": "通用",
|
||||
"nativeXposed": "原生 Xposed",
|
||||
"declarationNewXSharePrefs": "声明 New XShare Prefs (Xposed 最低 API ≥ 93 无需声明)",
|
||||
"useNewXSharedPreferences": "使用 New XSharedPreferences (Xposed 最低 API ≥ 93 无需声明)",
|
||||
"moduleScope": "模块作用域",
|
||||
"addApps": "添加应用",
|
||||
"addNewApp": "添加应用",
|
||||
"entryClassName": "入口类名 (不填使用默认值生成)",
|
||||
"addResourcesHookSupport": "添加 Resources Hook 支持",
|
||||
"debugLogTagName": "调试日志 TAG 名称 (不填默认为 YukiHookAPI)",
|
||||
"enableDebugMode": "启用 Debug 模式",
|
||||
"enableDebugLog": "启用调试日志输出功能",
|
||||
"enableYukiHookPrefsBridgeCache": "启用 YukiHookPrefsBridge 键值缓存功能",
|
||||
"enableModuleResourcesCache": "启用模块 Resources 缓存功能",
|
||||
"enableModuleStatus": "启用模块激活状态监听功能",
|
||||
"enableYukiHookDataChannel": "启用 YukiHookDataChannel 功能",
|
||||
"enableMemberCache": "启用已查找的反射类、方法、变量缓存功能",
|
||||
"selectScopeAppsOrEnterOnceTip": "请从下面的列表中选择你需要添加到作用域中的应用",
|
||||
"customize": "自定义",
|
||||
"systemFramework": "系统框架",
|
||||
@@ -315,6 +315,7 @@ const locale = {
|
||||
"later": "稍后",
|
||||
"notConfigure": "未配置",
|
||||
"notConfigureDefYes": "未配置 (默认 是/Yes)",
|
||||
"notConfigureDefNo": "未配置 (默认 否/No)",
|
||||
"yesOfConfigure": "是/Yes",
|
||||
"noOfConfigure": "否/No",
|
||||
"version": "版本",
|
||||
@@ -322,6 +323,7 @@ const locale = {
|
||||
"areYouSureRestoreChangeTip": "还原当前所做的全部更改吗?",
|
||||
"areYouSureClearAllTemplateTip": "清空全部已保存的配置模板吗?",
|
||||
"doYouWantLoadConfigTemplateTip": "要加载 \"{%1}\" 吗?当前配置会被模板覆盖。",
|
||||
"doYouWantSaveConfigTemplateTip": "你需要保存当前配置为模版以供下次使用吗?点击“取消”将清空当前配置并开始创建新项目。",
|
||||
"ruleCheckFailTip": "规则检索失败,请再试一次。",
|
||||
"networkErrorTip": "网络发生错误,请再试一次。",
|
||||
"aboutTip": "帮助你快速创建一个使用 YukiHookAPI 打造的 Xposed 项目模板。",
|
||||
@@ -346,6 +348,7 @@ const locale = {
|
||||
"file": "フェルオ",
|
||||
"help": "ヘルプ",
|
||||
"projectAddress": "プロジェクトアドレス",
|
||||
"mainProjectAddress": "マンプロジェクトアドレス",
|
||||
"helpDocumentation": "ヘルプドキュメント",
|
||||
"quit": "終了する",
|
||||
"project": "プロジェクト",
|
||||
@@ -386,19 +389,17 @@ const locale = {
|
||||
"targetXposedPlatform": "ターゲットXposedプラットフォーム",
|
||||
"universal": "ユニバーサル",
|
||||
"nativeXposed": "ネイティブXposed",
|
||||
"declarationNewXSharePrefs": "宣言新しいXShare設定(Xposed最小API≥93宣言は不要)",
|
||||
"useNewXSharedPreferences": "使い New XSharedPreferences (Xposed 最小 API ≥ 93 使いない)",
|
||||
"moduleScope": "モジュールスコープ",
|
||||
"addApps": "アプリを追加",
|
||||
"addNewApp": "アプリを追加",
|
||||
"entryClassName": "エントリクラス名(デフォルトを使用するには空)",
|
||||
"addResourcesHookSupport": "リソースフックのサポートを追加",
|
||||
"debugLogTagName": "デバッググロタグ名(デフォルトはYukiHookAPI)",
|
||||
"enableDebugMode": "デバッグモードを有効にする",
|
||||
"enableDebugLog": "デバッグログ出力を有効にする",
|
||||
"enableYukiHookPrefsBridgeCache": "YukiHookPrefsBridgeのKey-Valueキャッシングを有効にする",
|
||||
"enableModuleResourcesCache": "モジュールリソースのキャッシュを有効にする",
|
||||
"enableModuleStatus": "モジュールのアクティブ化ステータスの監視を有効にする",
|
||||
"enableYukiHookDataChannel": "YukiHookDataChannel機能を有効にする",
|
||||
"enableMemberCache": "クエリされたリフレクションクラス、メソッド、変数キャッシングを有効にする",
|
||||
"selectScopeAppsOrEnterOnceTip": "以下のリストからスコープに追加するアプリを選択してください",
|
||||
"customize": "カスタマイズ",
|
||||
"systemFramework": "システムフレームワーク",
|
||||
@@ -450,6 +451,7 @@ const locale = {
|
||||
"later": "後で",
|
||||
"notConfigure": "構成されていません",
|
||||
"notConfigureDefYes": "構成されていません (デフォルトは はい/Yes)",
|
||||
"notConfigureDefNo": "構成されていません (デフォルトは いいえ/No)",
|
||||
"yesOfConfigure": "はい/Yes",
|
||||
"noOfConfigure": "いいえ/No",
|
||||
"version": "バージョン",
|
||||
@@ -457,6 +459,7 @@ const locale = {
|
||||
"areYouSureRestoreChangeTip": "現在のすべての変更を元に戻しますか",
|
||||
"areYouSureClearAllTemplateTip": "保存されているすべての構成テンプレートをクリアしますか",
|
||||
"doYouWantLoadConfigTemplateTip": "「{%1}」をロードしますか?現在の構成はテンプレートによって上書きされます。",
|
||||
"doYouWantSaveConfigTemplateTip": "次回使用するために現在の構成をテンプレートとして保存する必要がありますか? 「キャンセル」をクリックすると、現在の構成がクリアされ、新しいプロジェクトの作成が開始されます。",
|
||||
"ruleCheckFailTip": "ルールの取得に失敗しました。もう一度やり直してください。",
|
||||
"networkErrorTip": "ネットワークエラーが発生しました。もう一度やり直してください。",
|
||||
"aboutTip": "YukiHookAPIを使用してXposedプロジェクトテンプレートをすばやく作成するのに役立ちます。",
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
|
||||
* Copyright (C) 2019-2022 HighCapable
|
||||
* https://github.com/fankes/YukiHookAPI-ProjectBuilder
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
|
||||
*
|
||||
* This software is non-free but opensource software: you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Affero General Public License
|
||||
@@ -105,91 +105,6 @@ const transaction = {
|
||||
});
|
||||
return finalCode;
|
||||
},
|
||||
/**
|
||||
* 注入依赖 - 适用于 'build.gradle' 文件
|
||||
* @param origCode 原始代码
|
||||
* @param dependencies 依赖内容数组
|
||||
* @return string
|
||||
*/
|
||||
implement: (origCode, ...dependencies) => {
|
||||
if (dependencies.length <= 0) return;
|
||||
let finalCode = origCode;
|
||||
dependencies.forEach((value) => {
|
||||
finalCode = finalCode.concat(value.type, codeFiles.space(1), '\'',
|
||||
value.groupId, ':', value.artifactId, ':', value.version, '\'\n', codeFiles.space(4));
|
||||
});
|
||||
return finalCode;
|
||||
},
|
||||
'build.gradle': {
|
||||
dependencies: {
|
||||
androidXposed: {
|
||||
type: 'compileOnly',
|
||||
groupId: 'de.robv.android.xposed',
|
||||
artifactId: 'api',
|
||||
version: '82'
|
||||
},
|
||||
yukiHookApiApi: {
|
||||
type: 'implementation',
|
||||
groupId: 'com.highcapable.yukihookapi',
|
||||
artifactId: 'api',
|
||||
version: configs.projectDependencies.yukiHookApiVersion
|
||||
},
|
||||
yukiHookApiKsp: {
|
||||
type: 'ksp',
|
||||
groupId: 'com.highcapable.yukihookapi',
|
||||
artifactId: 'ksp-xposed',
|
||||
version: configs.projectDependencies.yukiHookApiVersion
|
||||
},
|
||||
drawabletoolbox: {
|
||||
type: 'implementation',
|
||||
groupId: 'com.github.duanhong169',
|
||||
artifactId: 'drawabletoolbox',
|
||||
version: '1.0.7'
|
||||
},
|
||||
androidxCoreKtx: {
|
||||
type: 'implementation',
|
||||
groupId: 'androidx.core',
|
||||
artifactId: 'core-ktx',
|
||||
version: '1.10.0'
|
||||
},
|
||||
appcompat: {
|
||||
type: 'implementation',
|
||||
groupId: 'androidx.appcompat',
|
||||
artifactId: 'appcompat',
|
||||
version: '1.6.1'
|
||||
},
|
||||
material: {
|
||||
type: 'implementation',
|
||||
groupId: 'com.google.android.material',
|
||||
artifactId: 'material',
|
||||
version: '1.8.0'
|
||||
},
|
||||
constraintlayout: {
|
||||
type: 'implementation',
|
||||
groupId: 'androidx.constraintlayout',
|
||||
artifactId: 'constraintlayout',
|
||||
version: '2.1.4'
|
||||
},
|
||||
junit: {
|
||||
type: 'testImplementation',
|
||||
groupId: 'junit',
|
||||
artifactId: 'junit',
|
||||
version: '4.13.2'
|
||||
},
|
||||
androidxTestExt: {
|
||||
type: 'androidTestImplementation',
|
||||
groupId: 'androidx.test.ext',
|
||||
artifactId: 'junit',
|
||||
version: '1.1.5'
|
||||
},
|
||||
androidxTestEspresso: {
|
||||
type: 'androidTestImplementation',
|
||||
groupId: 'androidx.test.espresso',
|
||||
artifactId: 'espresso-core',
|
||||
version: '3.5.1'
|
||||
}
|
||||
}
|
||||
},
|
||||
'AndroidManifest.xml': {
|
||||
newXSharePrefs: (isEnabled) => ('<meta-data\n' +
|
||||
codeFiles.space(12) + 'android:name="xposedsharedprefs"\n' +
|
||||
@@ -207,7 +122,8 @@ const transaction = {
|
||||
'HookEntry.kt': {
|
||||
annotations: {
|
||||
entryClassName: (name) => 'entryClassName = "' + name + '"',
|
||||
supportResourcesHook: (isEnabled) => 'isUsingResourcesHook = ' + (isEnabled ? 'true' : 'false')
|
||||
supportResourcesHook: (isEnabled) => 'isUsingResourcesHook = ' + (isEnabled ? 'true' : 'false'),
|
||||
supportXposedModuleStatus: (isEnabled) => 'isUsingXposedModuleStatus = ' + (isEnabled ? 'true' : 'false')
|
||||
},
|
||||
configs: {
|
||||
debugLog: {
|
||||
@@ -215,11 +131,8 @@ const transaction = {
|
||||
enable: (isEnabled) => 'isEnable = ' + (isEnabled ? 'true' : 'false')
|
||||
},
|
||||
enableDebug: (isEnabled) => 'isDebug = ' + (isEnabled ? 'true' : 'false'),
|
||||
enableYPrefsCache: (isEnabled) => 'isEnablePrefsBridgeCache = ' + (isEnabled ? 'true' : 'false'),
|
||||
enableResourcesCache: (isEnabled) => 'isEnableModuleAppResourcesCache = ' + (isEnabled ? 'true' : 'false'),
|
||||
enableModuleStatus: (isEnabled) => 'isEnableHookModuleStatus = ' + (isEnabled ? 'true' : 'false'),
|
||||
enableYChannel: (isEnabled) => 'isEnableDataChannel = ' + (isEnabled ? 'true' : 'false'),
|
||||
enableMemberCache: (isEnabled) => 'isEnableMemberCache = ' + (isEnabled ? 'true' : 'false')
|
||||
enableYChannel: (isEnabled) => 'isEnableDataChannel = ' + (isEnabled ? 'true' : 'false')
|
||||
}
|
||||
},
|
||||
'MainActivity.kt': {
|
||||
@@ -328,6 +241,11 @@ const transaction = {
|
||||
if (configs.yukiHookApiConfig.supportResourcesHook !== 0)
|
||||
hookEntryAnnotationCode = hookEntryAnnotationCode.concat(
|
||||
codeFiles['HookEntry.kt'].annotations.supportResourcesHook(configs.yukiHookApiConfig.supportResourcesHook === 1));
|
||||
if (configs.yukiHookApiConfig.supportResourcesHook !== 0 && configs.yukiHookApiConfig.enableModuleStatus !== 0)
|
||||
hookEntryAnnotationCode = hookEntryAnnotationCode.concat(', ');
|
||||
if (configs.yukiHookApiConfig.enableModuleStatus !== 0)
|
||||
hookEntryAnnotationCode = hookEntryAnnotationCode.concat(
|
||||
codeFiles['HookEntry.kt'].annotations.supportXposedModuleStatus(configs.yukiHookApiConfig.enableModuleStatus === 1));
|
||||
if (hookEntryAnnotationCode.trim() !== '')
|
||||
hookEntryAnnotationCode = '(' + (hookEntryAnnotationCode.trim().endsWith(',') ?
|
||||
hookEntryAnnotationCode.trim().substring(0, hookEntryAnnotationCode.trim().lastIndexOf(',')) :
|
||||
@@ -350,82 +268,27 @@ const transaction = {
|
||||
if (configs.yukiHookApiConfig.enableDebug !== 0)
|
||||
hookEntryConfigsCode = codeFiles.append(hookEntryConfigsCode,
|
||||
codeFiles['HookEntry.kt'].configs.enableDebug(configs.yukiHookApiConfig.enableDebug === 1));
|
||||
if (configs.yukiHookApiConfig.enableYPrefsCache !== 0)
|
||||
hookEntryConfigsCode = codeFiles.append(hookEntryConfigsCode,
|
||||
codeFiles['HookEntry.kt'].configs.enableYPrefsCache(configs.yukiHookApiConfig.enableYPrefsCache === 1));
|
||||
if (configs.yukiHookApiConfig.enableResourcesCache !== 0)
|
||||
hookEntryConfigsCode = codeFiles.append(hookEntryConfigsCode,
|
||||
codeFiles['HookEntry.kt'].configs.enableResourcesCache(configs.yukiHookApiConfig.enableResourcesCache === 1));
|
||||
if (configs.yukiHookApiConfig.enableModuleStatus !== 0)
|
||||
hookEntryConfigsCode = codeFiles.append(hookEntryConfigsCode,
|
||||
codeFiles['HookEntry.kt'].configs.enableModuleStatus(configs.yukiHookApiConfig.enableModuleStatus === 1));
|
||||
if (configs.yukiHookApiConfig.enableYChannel !== 0)
|
||||
hookEntryConfigsCode = codeFiles.append(hookEntryConfigsCode,
|
||||
codeFiles['HookEntry.kt'].configs.enableYChannel(configs.yukiHookApiConfig.enableYChannel === 1));
|
||||
if (configs.yukiHookApiConfig.enableMemberCache !== 0)
|
||||
hookEntryConfigsCode = codeFiles.append(hookEntryConfigsCode,
|
||||
codeFiles['HookEntry.kt'].configs.enableMemberCache(configs.yukiHookApiConfig.enableMemberCache === 1));
|
||||
hookEntryConfigsCode = hookEntryConfigsCode.trim();
|
||||
if (hookEntryConfigsCode === '') hookEntryConfigsCode = '// Your code here.';
|
||||
let gradleDependenciesCode = '';
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidXposed);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.yukiHookApiApi);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.yukiHookApiKsp);
|
||||
switch (configs.basicConfig.moduleCompoment) {
|
||||
case 0:
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.drawabletoolbox);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxCoreKtx);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.appcompat);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.material);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.constraintlayout);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.junit);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxTestExt);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxTestEspresso);
|
||||
break;
|
||||
case 1:
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxCoreKtx);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.appcompat);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.material);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.constraintlayout);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.junit);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxTestExt);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxTestEspresso);
|
||||
break;
|
||||
case 2:
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.junit);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxTestExt);
|
||||
gradleDependenciesCode = codeFiles.implement(gradleDependenciesCode,
|
||||
codeFiles['build.gradle'].dependencies.androidxTestEspresso);
|
||||
break;
|
||||
}
|
||||
gradleDependenciesCode = gradleDependenciesCode.trim();
|
||||
fileSystem.replaces(targetPath, ['gradle', 'properties', 'kt', 'xml'], [
|
||||
fileSystem.replaces(targetPath, ['gradle.kts', 'properties', 'kt', 'xml', 'yaml'], [
|
||||
{
|
||||
placeholder: '{GRADLE_PAPER}',
|
||||
value: configs.projectDependencies.gradlePaper
|
||||
}, {
|
||||
placeholder: '{GRADLE_PROPERTIES_DATE}',
|
||||
value: dateTime.cstTime()
|
||||
}, {
|
||||
placeholder: '{SWEETDEPENDENCY_VERSION}',
|
||||
value: configs.projectDependencies.sweetDependencyVersion
|
||||
}, {
|
||||
placeholder: '{SWEETPROPERTY_VERSION}',
|
||||
value: configs.projectDependencies.sweetPropertyVersion
|
||||
}, {
|
||||
placeholder: '{AGP_VERSION}',
|
||||
value: configs.projectDependencies.androidGradlePluginVersion
|
||||
@@ -465,9 +328,6 @@ const transaction = {
|
||||
}, {
|
||||
placeholder: '{SCOPE_ITEMS}',
|
||||
value: moduleScopesCode
|
||||
}, {
|
||||
placeholder: '{GRADLE_DEPENDENCIES}',
|
||||
value: gradleDependenciesCode
|
||||
}, {
|
||||
placeholder: '{YUKIHOOKAPI_MODULE_ACTIVE_STATUS}',
|
||||
value: moduleActiveStatusCode
|
||||
|
74
yarn.lock
74
yarn.lock
@@ -259,7 +259,7 @@
|
||||
"@electron-forge/template-base" "6.0.0-beta.64"
|
||||
fs-extra "^10.0.0"
|
||||
|
||||
"@electron/get@^1.14.1", "@electron/get@^1.6.0", "@electron/get@^1.9.0":
|
||||
"@electron/get@^1.6.0", "@electron/get@^1.9.0":
|
||||
version "1.14.1"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/@electron/get/-/get-1.14.1.tgz"
|
||||
integrity sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==
|
||||
@@ -275,6 +275,21 @@
|
||||
global-agent "^3.0.0"
|
||||
global-tunnel-ng "^2.7.1"
|
||||
|
||||
"@electron/get@^2.0.0":
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz"
|
||||
integrity sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
env-paths "^2.2.0"
|
||||
fs-extra "^8.1.0"
|
||||
got "^11.8.5"
|
||||
progress "^2.0.3"
|
||||
semver "^6.2.0"
|
||||
sumchecker "^3.0.1"
|
||||
optionalDependencies:
|
||||
global-agent "^3.0.0"
|
||||
|
||||
"@electron/universal@^1.2.1":
|
||||
version "1.3.0"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/@electron/universal/-/universal-1.3.0.tgz"
|
||||
@@ -693,11 +708,6 @@
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz"
|
||||
integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
|
||||
|
||||
"@types/json-buffer@~3.0.0":
|
||||
version "3.0.0"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/@types/json-buffer/-/json-buffer-3.0.0.tgz"
|
||||
integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==
|
||||
|
||||
"@types/keyv@*":
|
||||
version "3.1.4"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/@types/keyv/-/keyv-3.1.4.tgz"
|
||||
@@ -1081,9 +1091,9 @@ cacheable-request@^6.0.0:
|
||||
responselike "^1.0.2"
|
||||
|
||||
cacheable-request@^7.0.2:
|
||||
version "7.0.2"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/cacheable-request/-/cacheable-request-7.0.2.tgz"
|
||||
integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
|
||||
version "7.0.4"
|
||||
resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz"
|
||||
integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==
|
||||
dependencies:
|
||||
clone-response "^1.0.2"
|
||||
get-stream "^5.1.0"
|
||||
@@ -1286,14 +1296,6 @@ compare-version@^0.1.2:
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/compare-version/-/compare-version-0.1.2.tgz"
|
||||
integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==
|
||||
|
||||
compress-brotli@^1.3.8:
|
||||
version "1.3.8"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/compress-brotli/-/compress-brotli-1.3.8.tgz"
|
||||
integrity sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==
|
||||
dependencies:
|
||||
"@types/json-buffer" "~3.0.0"
|
||||
json-buffer "~3.0.1"
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/concat-map/-/concat-map-0.0.1.tgz"
|
||||
@@ -1714,12 +1716,12 @@ electron-winstaller@^5.0.0:
|
||||
lodash.template "^4.2.2"
|
||||
temp "^0.9.0"
|
||||
|
||||
electron@20.3.9:
|
||||
version "20.3.9"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/electron/-/electron-20.3.9.tgz"
|
||||
integrity sha512-CPThZ0Q0otIsFgwh2K6fMfrMX/3jsWt+fdjl1tiZh08MD8f74Az+dFB4NKpDHzqr4RFuRqh/W5CdGyGtvXXtFQ==
|
||||
electron@22.3.23:
|
||||
version "22.3.23"
|
||||
resolved "https://registry.npmjs.org/electron/-/electron-22.3.23.tgz"
|
||||
integrity sha512-2p6NsLFPfM2RmgATchjKZKBUP3O6NxQMWOrHt9W5U2GRtfI8qWlicUR1wnh5D1VLt4c1YsjvpF6dct+1JNRubA==
|
||||
dependencies:
|
||||
"@electron/get" "^1.14.1"
|
||||
"@electron/get" "^2.0.0"
|
||||
"@types/node" "^16.11.26"
|
||||
extract-zip "^2.0.1"
|
||||
|
||||
@@ -2025,7 +2027,7 @@ fs-extra@^7.0.0, fs-extra@^7.0.1:
|
||||
|
||||
fs-extra@^8.1.0:
|
||||
version "8.1.0"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/fs-extra/-/fs-extra-8.1.0.tgz"
|
||||
resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
|
||||
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
@@ -2265,6 +2267,23 @@ got@^11.7.0:
|
||||
p-cancelable "^2.0.0"
|
||||
responselike "^2.0.0"
|
||||
|
||||
got@^11.8.5:
|
||||
version "11.8.6"
|
||||
resolved "https://registry.npmjs.org/got/-/got-11.8.6.tgz"
|
||||
integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==
|
||||
dependencies:
|
||||
"@sindresorhus/is" "^4.0.0"
|
||||
"@szmarczak/http-timer" "^4.0.5"
|
||||
"@types/cacheable-request" "^6.0.1"
|
||||
"@types/responselike" "^1.0.0"
|
||||
cacheable-lookup "^5.0.3"
|
||||
cacheable-request "^7.0.2"
|
||||
decompress-response "^6.0.0"
|
||||
http2-wrapper "^1.0.0-beta.5.2"
|
||||
lowercase-keys "^2.0.0"
|
||||
p-cancelable "^2.0.0"
|
||||
responselike "^2.0.0"
|
||||
|
||||
got@^9.6.0:
|
||||
version "9.6.0"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/got/-/got-9.6.0.tgz"
|
||||
@@ -2673,7 +2692,7 @@ json-buffer@3.0.0:
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/json-buffer/-/json-buffer-3.0.0.tgz"
|
||||
integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==
|
||||
|
||||
json-buffer@3.0.1, json-buffer@~3.0.1:
|
||||
json-buffer@3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/json-buffer/-/json-buffer-3.0.1.tgz"
|
||||
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
|
||||
@@ -2754,11 +2773,10 @@ keyv@^3.0.0:
|
||||
json-buffer "3.0.0"
|
||||
|
||||
keyv@^4.0.0:
|
||||
version "4.3.2"
|
||||
resolved "https://repo.huaweicloud.com/repository/npm/keyv/-/keyv-4.3.2.tgz"
|
||||
integrity sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==
|
||||
version "4.5.4"
|
||||
resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
|
||||
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
|
||||
dependencies:
|
||||
compress-brotli "^1.3.8"
|
||||
json-buffer "3.0.1"
|
||||
|
||||
klaw@^1.0.0:
|
||||
|
Reference in New Issue
Block a user