14 Commits

18 changed files with 119 additions and 53 deletions

View File

@@ -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">

View File

@@ -1,15 +1,21 @@
# YukiHookAPI Project Builder
[![GitHub license](https://img.shields.io/github/license/HighCapable/YukiHookAPI-ProjectBuilder?color=blue)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiHookAPI-ProjectBuilder?display_name=release&logo=github&color=green)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram)](https://t.me/YukiHookAPI)
[![Telegram](https://img.shields.io/badge/discussion%20dev-Telegram-blue.svg?logo=telegram)](https://t.me/HighCapable_Dev)
[![GitHub license](https://img.shields.io/github/license/HighCapable/YukiHookAPI-ProjectBuilder?color=blue&style=flat-square)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiHookAPI-ProjectBuilder?display_name=release&logo=github&color=green&style=flat-square)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/YukiHookAPI)
[![Telegram](https://img.shields.io/badge/discussion%20dev-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/HighCapable_Dev)
[![QQ](https://img.shields.io/badge/discussion%20dev-QQ-blue.svg?logo=tencent-qq&logoColor=red&style=flat-square)](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
<img src="https://github.com/HighCapable/YuKiHookAPI/blob/master/img-src/icon.png?raw=true" width = "100" height = "100" alt="LOGO"/>
<img src="img-src/icon.png" width = "100" height = "100" alt="LOGO"/>
帮助你快速创建一个使用 YukiHookAPI 打造的 Xposed 项目模板。
[English](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/README.md) | 简体中文
[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) |
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
这个项目属于上述组织,**点击上方链接关注这个组织**,发现更多好项目。
## 项目迁移公告
@@ -21,6 +27,8 @@
在新的项目确定后,会在这里添加新项目的链接,届时我会终止维护这个项目并建议大家转移到新项目。
**项目构建器将会在 `YukiHookAPI` 发布第一个 `2.0.0` 版本之前做最后的维护,在新的版本发布后,这个项目将正式弃用。**
## 这是什么
这是一个使用 [YukiHookAPI](https://github.com/HighCapable/YuKiHookAPI) 作为核心的 Xposed 模块自动构建工具。
@@ -79,11 +87,16 @@ npm run make
npm run package
```
## 捐赠支持
## 项目推广
工作不易,无意外情况此项目将继续维护下去,提供更多可能,欢迎打赏。
<img src="https://github.com/fankes/fankes/blob/main/img-src/payment_code.jpg?raw=true" width = "500" alt="Payment Code"/>
<!--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
@@ -94,7 +107,7 @@ npm run package
- [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html)
```
Copyright (C) 2019-2023 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
@@ -110,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-2023 HighCapable
版权所有 © 2019 HighCapable

View File

@@ -1,15 +1,21 @@
# YukiHookAPI Project Builder
[![GitHub license](https://img.shields.io/github/license/HighCapable/YukiHookAPI-ProjectBuilder?color=blue)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiHookAPI-ProjectBuilder?display_name=release&logo=github&color=green)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram)](https://t.me/YukiHookAPI)
[![Telegram](https://img.shields.io/badge/discussion%20dev-Telegram-blue.svg?logo=telegram)](https://t.me/HighCapable_Dev)
[![GitHub license](https://img.shields.io/github/license/HighCapable/YukiHookAPI-ProjectBuilder?color=blue&style=flat-square)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiHookAPI-ProjectBuilder?display_name=release&logo=github&color=green&style=flat-square)](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/YukiHookAPI)
[![Telegram](https://img.shields.io/badge/discussion%20dev-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/HighCapable_Dev)
[![QQ](https://img.shields.io/badge/discussion%20dev-QQ-blue.svg?logo=tencent-qq&logoColor=red&style=flat-square)](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
<img src="https://github.com/HighCapable/YuKiHookAPI/blob/master/img-src/icon.png?raw=true" width = "100" height = "100" alt="LOGO"/>
<img src="img-src/icon.png" width = "100" height = "100" alt="LOGO"/>
A Xposed Project Builder by YukiHookAPI.
English | [简体中文](https://github.com/HighCapable/YukiHookAPI-ProjectBuilder/blob/master/README-zh-CN.md)
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
@@ -25,6 +31,9 @@ After the new project is determined, a link to the new project will be added her
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/HighCapable/YuKiHookAPI) as the core.
@@ -88,6 +97,17 @@ 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
![Star History Chart](https://api.star-history.com/svg?repos=HighCapable/YukiHookAPI-ProjectBuilder&type=Date)
@@ -97,7 +117,7 @@ npm run package
- [AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html)
```
Copyright (C) 2019-2023 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
@@ -113,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-2023 HighCapable
Copyright © 2019 HighCapable

BIN
img-src/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -1,7 +1,7 @@
{
"name": "yukihookapi-projectbuilder",
"productName": "YukiHookAPI Project Builder",
"version": "1.0.5",
"version": "1.0.7",
"description": "A Xposed Project Builder by YukiHookAPI",
"main": "src/app.js",
"scripts": {

Binary file not shown.

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
<!--
YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
Copyright (C) 2019-2023 HighCapable
Copyright (C) 2019 HighCapable
https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
This software is non-free but opensource software: you can redistribute it
@@ -270,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}}:&nbsp</span>
<span class="url-link">https://github.com/HighCapable/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>
@@ -294,11 +295,17 @@
<span>DAY.JS</span>&nbsp&nbsp<span class="license-text">MIT</span><br/>
<span class="url-link">https://github.com/iamkun/dayjs</span><br/>
<span>YukiHookAPI</span>&nbsp&nbsp<span class="license-text">Apache-2.0</span><br/>
<span class="url-link">https://github.com/HighCapable/YuKiHookAPI</span>
<span class="url-link">https://github.com/HighCapable/YuKiHookAPI</span><br/>
<span>KavaRef</span>&nbsp&nbsp<span class="license-text">Apache-2.0</span><br/>
<span class="url-link">https://github.com/HighCapable/KavaRef</span><br/>
<span>BetterAndroid</span>&nbsp&nbsp<span class="license-text">Apache-2.0</span><br/>
<span class="url-link">https://github.com/BetterAndroid/BetterAndroid</span><br/>
<span>Hikage</span>&nbsp&nbsp<span class="license-text">Apache-2.0</span><br/>
<span class="url-link">https://github.com/BetterAndroid/Hikage</span><br/>
<span>DrawableToolbox</span>&nbsp&nbsp<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>&nbsp&nbsp<span class="license-text">Apache-2.0</span><br/>
<span class="url-link">https://github.com/HighCapable/SweetDependency</span>
<span class="url-link">https://github.com/HighCapable/SweetDependency</span><br/>
<span>SweetProperty</span>&nbsp&nbsp<span class="license-text">Apache-2.0</span><br/>
<span class="url-link">https://github.com/HighCapable/SweetProperty</span>
</div>

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -2,7 +2,7 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it
@@ -47,6 +47,8 @@ const dependenciesConfigs = {
gradlePapers: [],
androidGradlePluginVersions: [],
kotlinVersions: [],
sweetDependencyVersions: [],
sweetPropertyVersions: [],
yukiHookApiVersions: []
};
@@ -58,7 +60,7 @@ const projectConfigs = {
appName: '',
moduleDescription: '',
appMinApi: 27,
appTargetApi: 34,
appTargetApi: 35,
xposedMinApi: 93,
moduleCompoment: 0,
targetXposedPlatform: 0,
@@ -80,6 +82,8 @@ const projectConfigs = {
androidGradlePluginVersion: '',
kotlinVersion: '',
kotlinKspVersion: '',
sweetDependencyVersion: '',
sweetPropertyVersion: '',
yukiHookApiVersion: ''
}
};
@@ -369,7 +373,7 @@ const build = {
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() > 34) 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);
@@ -461,6 +465,8 @@ const projectDepends = {
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',
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'
},
/** 搜索项目依赖 */
@@ -565,10 +571,36 @@ 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) => {

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it
@@ -76,6 +76,7 @@ const locale = {
"file": "File",
"help": "Help",
"projectAddress": "Project Address",
"mainProjectAddress": "Main Project Address",
"helpDocumentation": "Help Documentation",
"quit": "Quit",
"project": "Project",
@@ -211,6 +212,7 @@ const locale = {
"file": "文件",
"help": "帮助",
"projectAddress": "项目地址",
"mainProjectAddress": "主要项目地址",
"helpDocumentation": "帮助文档",
"quit": "退出",
"project": "项目",
@@ -346,6 +348,7 @@ const locale = {
"file": "フェルオ",
"help": "ヘルプ",
"projectAddress": "プロジェクトアドレス",
"mainProjectAddress": "マンプロジェクトアドレス",
"helpDocumentation": "ヘルプドキュメント",
"quit": "終了する",
"project": "プロジェクト",

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it

View File

@@ -1,6 +1,6 @@
/*
* YukiHookAPI Project Builder - A Xposed Project Builder by YukiHookAPI.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/YukiHookAPI-ProjectBuilder
*
* This software is non-free but opensource software: you can redistribute it
@@ -142,16 +142,6 @@ const transaction = {
}
};
/**
* Settings 插件命名空间
*/
const settingsPlugins = {
// TODO SweetDependency 和 SweetProperty 暂时不支持自动获取版本
// 后期合并到 IDEA 插件后再做这里的更新
sweetDependencyVersion: '1.0.2',
sweetPropertyVersion: '1.0.3'
}
/**
* 更新创建进度显示
* @param progress 当前进度
@@ -295,10 +285,10 @@ const transaction = {
value: dateTime.cstTime()
}, {
placeholder: '{SWEETDEPENDENCY_VERSION}',
value: settingsPlugins.sweetDependencyVersion
value: configs.projectDependencies.sweetDependencyVersion
}, {
placeholder: '{SWEETPROPERTY_VERSION}',
value: settingsPlugins.sweetPropertyVersion
value: configs.projectDependencies.sweetPropertyVersion
}, {
placeholder: '{AGP_VERSION}',
value: configs.projectDependencies.androidGradlePluginVersion