10 Commits
1.0.6 ... 1.0.8

17 changed files with 187 additions and 68 deletions

125
.gitignore vendored
View File

@@ -1,9 +1,130 @@
## Fully .gtignore for IntelliJ, Android Studio and Gradle based Java projects
## References:
## - https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
## - https://github.com/android/platform-samples/blob/main/.gitignore
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
.idea/.name
.idea/artifacts
.idea/compiler.xml
.idea/jarRepositories.xml
.idea/modules.xml
.idea/*.iml
.idea/modules
.idea/caches
.idea/material_theme**
.idea/other.xml
*.iml
*.ipr
# Kotlin
.kotlin
.idea/kotlinc.xml
# Misc
.idea/misc.xml
.idea/markdown.xml
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
# Android studio 3.1+ additional
.idea/deployment*.xml
.idea/assetWizardSettings.xml
.idea/androidTestResultsUserPreferences.xml
# Android projects
.idea/AndroidProjectSystem.xml
.idea/deviceManager.xml
**/local.properties
/captures
.externalNativeBuild
.cxx
# Gradle projects
.gradle
build/
# Mkdocs temporary serving folder
docs-gen
site
*.bak
.idea/appInsightsSettings.xml
# Discord plugin for IntelliJ
.idea/discord.xml
# Copilot for IntelliJ
.idea/copilot**
# Mac OS
.DS_Store
# Web App Misc
coverage/
bower_components/
node_modules/
jspm_packages/
typings/
out/
logs
*.log
npm-debug.log*
@@ -22,4 +143,4 @@ lib-cov
.node_repl_history
*.tgz
.yarn-integrity
.env
.env

View File

@@ -1,9 +1,10 @@
# 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="img-src/icon.png" width = "100" height = "100" alt="LOGO"/>
@@ -26,6 +27,8 @@
在新的项目确定后,会在这里添加新项目的链接,届时我会终止维护这个项目并建议大家转移到新项目。
**项目构建器将会在 `YukiHookAPI` 发布第一个 `2.0.0` 版本之前做最后的维护,在新的版本发布后,这个项目将正式弃用。**
## 这是什么
这是一个使用 [YukiHookAPI](https://github.com/HighCapable/YuKiHookAPI) 作为核心的 Xposed 模块自动构建工具。
@@ -104,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
@@ -120,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,9 +1,10 @@
# 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="img-src/icon.png" width = "100" height = "100" alt="LOGO"/>
@@ -30,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.
@@ -113,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
@@ -129,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

View File

@@ -1,7 +1,7 @@
{
"name": "yukihookapi-projectbuilder",
"productName": "YukiHookAPI Project Builder",
"version": "1.0.6",
"version": "1.0.8",
"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,8 +47,7 @@ const dependenciesConfigs = {
gradlePapers: [],
androidGradlePluginVersions: [],
kotlinVersions: [],
sweetDependencyVersions: [],
sweetPropertyVersions: [],
gropifyVersions: [],
yukiHookApiVersions: []
};
@@ -60,7 +59,7 @@ const projectConfigs = {
appName: '',
moduleDescription: '',
appMinApi: 27,
appTargetApi: 34,
appTargetApi: 35,
xposedMinApi: 93,
moduleCompoment: 0,
targetXposedPlatform: 0,
@@ -82,8 +81,7 @@ const projectConfigs = {
androidGradlePluginVersion: '',
kotlinVersion: '',
kotlinKspVersion: '',
sweetDependencyVersion: '',
sweetPropertyVersion: '',
gropifyVersion: '',
yukiHookApiVersion: ''
}
};
@@ -373,7 +371,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);
@@ -465,8 +463,7 @@ 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',
gropify: 'https://repo1.maven.org/maven2/com/highcapable/gropify/gropify/maven-metadata.xml',
yukiHookApi: 'https://api.github.com/repos/HighCapable/YuKiHookAPI/releases'
},
/** 搜索项目依赖 */
@@ -571,34 +568,21 @@ const projectDepends = {
return !valUtils.isEmpty(value.ksp);
});
if (dependenciesConfigs.kotlinVersions.length > 0)
projectDepends.findSweetDependencyVersion();
projectDepends.findGropifyVersion();
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'] : '';
/** 获取 Gropify 版本 */
findGropifyVersion: () => {
httpClient.requestDepends('Gropify', projectDepends.urls.gropify, (body) => {
dependenciesConfigs.gropifyVersions = [];
const latestVersion = $(body).find('latest').text();
if (latestVersion !== '') {
dependenciesConfigs.sweetDependencyVersions.push(latestVersion);
dependenciesConfigs.gropifyVersions.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;
projectConfigs.projectDependencies.gropifyVersion = latestVersion;
projectDepends.findYukiHookApiVersion();
} else projectDepends.failure('SweetProperty', false);
} else projectDepends.failure('Gropify', false);
});
},
/** 获取 YukiHookAPI 版本 */

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
@@ -276,7 +276,7 @@ const transaction = {
codeFiles['HookEntry.kt'].configs.enableYChannel(configs.yukiHookApiConfig.enableYChannel === 1));
hookEntryConfigsCode = hookEntryConfigsCode.trim();
if (hookEntryConfigsCode === '') hookEntryConfigsCode = '// Your code here.';
fileSystem.replaces(targetPath, ['gradle.kts', 'properties', 'kt', 'xml', 'yaml'], [
fileSystem.replaces(targetPath, ['gradle.kts', 'properties', 'kt', 'xml', 'toml'], [
{
placeholder: '{GRADLE_PAPER}',
value: configs.projectDependencies.gradlePaper
@@ -284,11 +284,8 @@ const transaction = {
placeholder: '{GRADLE_PROPERTIES_DATE}',
value: dateTime.cstTime()
}, {
placeholder: '{SWEETDEPENDENCY_VERSION}',
value: configs.projectDependencies.sweetDependencyVersion
}, {
placeholder: '{SWEETPROPERTY_VERSION}',
value: configs.projectDependencies.sweetPropertyVersion
placeholder: '{GROPIFY_VERSION}',
value: configs.projectDependencies.gropifyVersion
}, {
placeholder: '{AGP_VERSION}',
value: configs.projectDependencies.androidGradlePluginVersion