mirror of
https://github.com/HighCapable/YukiReflection.git
synced 2025-09-07 19:14:11 +08:00
Compare commits
45 Commits
Author | SHA1 | Date | |
---|---|---|---|
10643305ec
|
|||
47d590d6a1
|
|||
d4ccd19ecd
|
|||
a92e4e0dcb
|
|||
b1fa277bc1
|
|||
6fc3448c2d
|
|||
20ead7a981
|
|||
c58771eb1c
|
|||
453c8757a2
|
|||
efeb3aa12a
|
|||
a43ff83fed
|
|||
864a6db24a
|
|||
eb669f3ad5
|
|||
fcaf83b930
|
|||
a3173ab245
|
|||
32910b8348
|
|||
1ec33a30fe
|
|||
7b6262e9a6
|
|||
a13b1d326e
|
|||
5152b895c3
|
|||
8d113ce2ce
|
|||
364f13462c
|
|||
a9ec361c3e
|
|||
9f34d3d975
|
|||
e63cd6341e
|
|||
370a5cfb97
|
|||
217b7d5efe
|
|||
748116bbde
|
|||
1cbb12f9e1
|
|||
dcf0f57648
|
|||
a8c9a3afe1
|
|||
ae372587b7
|
|||
a92328268e
|
|||
be9ae3bde7
|
|||
aa2a057067
|
|||
353e85c03e
|
|||
6a0ff96492
|
|||
12a63e51d8
|
|||
51f411ab39
|
|||
e14a7273d2
|
|||
bcdf203f1f
|
|||
7112845958
|
|||
7c62a6c42a
|
|||
47961b9673
|
|||
414c7ac447
|
@@ -10,6 +10,24 @@ ktlint_standard_argument-list-wrapping = disabled
|
||||
ktlint_standard_parameter-list-wrapping = disabled
|
||||
ktlint_standard_trailing-comma-on-declaration-site = disabled
|
||||
ktlint_function_signature_body_expression_wrapping = multiline
|
||||
ktlint_standard_string-template-indent = disabled
|
||||
ktlint_standard_function-signature = disabled
|
||||
ktlint_standard_trailing-comma-on-call-site = disabled
|
||||
ktlint_standard_multiline-expression-wrapping = disabled
|
||||
ktlint_standard_no-empty-first-line-in-class-body = disabled
|
||||
ktlint_standard_if-else-wrapping = disabled
|
||||
ktlint_standard_if-else-bracing = disabled
|
||||
ktlint_standard_statement-wrapping = disabled
|
||||
ktlint_standard_blank-line-before-declaration = disabled
|
||||
ktlint_standard_no-empty-file = disabled
|
||||
ktlint_standard_property-naming = disabled
|
||||
ktlint_standard_function-naming = disabled
|
||||
ktlint_standard_chain-method-continuation = disabled
|
||||
ktlint_standard_class-signature = disabled
|
||||
ktlint_standard_condition-wrapping = disabled
|
||||
ktlint_standard_class-signature = disabled
|
||||
ktlint_standard_no-trailing-spaces = disabled
|
||||
ktlint_standard_multiline-loop = disabled
|
||||
ij_continuation_indent_size = 2
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
|
4
.github/workflows/docs-deploy.yml
vendored
4
.github/workflows/docs-deploy.yml
vendored
@@ -16,11 +16,11 @@ jobs:
|
||||
if: ${{ success() }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
- name: Build VuePress site
|
||||
|
117
.gitignore
vendored
117
.gitignore
vendored
@@ -1,15 +1,110 @@
|
||||
## 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
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/navEditor.xml
|
||||
/.idea/assetWizardSettings.xml
|
||||
.DS_Store
|
||||
/build
|
||||
*.ipr
|
||||
|
||||
# Kotlin
|
||||
.kotlin
|
||||
|
||||
# Misc
|
||||
.idea/misc.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
|
||||
**/local.properties
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
.cxx
|
||||
local.properties
|
||||
|
||||
# Gradle projects
|
||||
.gradle
|
||||
build/
|
||||
|
||||
# Mkdocs temporary serving folder
|
||||
docs-gen
|
||||
site
|
||||
*.bak
|
||||
.idea/appInsightsSettings.xml
|
||||
|
||||
# Mac OS
|
||||
.DS_Store
|
6
.idea/AndroidProjectSystem.xml
generated
Normal file
6
.idea/AndroidProjectSystem.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AndroidProjectSystem">
|
||||
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
||||
</component>
|
||||
</project>
|
26
.idea/appInsightsSettings.xml
generated
26
.idea/appInsightsSettings.xml
generated
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AppInsightsSettings">
|
||||
<option name="tabSettings">
|
||||
<map>
|
||||
<entry key="Firebase Crashlytics">
|
||||
<value>
|
||||
<InsightsFilterSettings>
|
||||
<option name="connection">
|
||||
<ConnectionSetting>
|
||||
<option name="appId" value="PLACEHOLDER" />
|
||||
<option name="mobileSdkAppId" value="" />
|
||||
<option name="projectId" value="" />
|
||||
<option name="projectNumber" value="" />
|
||||
</ConnectionSetting>
|
||||
</option>
|
||||
<option name="signal" value="SIGNAL_UNSPECIFIED" />
|
||||
<option name="timeIntervalDays" value="THIRTY_DAYS" />
|
||||
<option name="visibilityType" value="ALL" />
|
||||
</InsightsFilterSettings>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
6
.idea/compiler.xml
generated
6
.idea/compiler.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="17" />
|
||||
</component>
|
||||
</project>
|
10
.idea/deploymentTargetDropDown.xml
generated
10
.idea/deploymentTargetDropDown.xml
generated
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<value>
|
||||
<entry key="samples.demo-android">
|
||||
<State />
|
||||
</entry>
|
||||
</value>
|
||||
</component>
|
||||
</project>
|
40
.idea/inspectionProfiles/Project_Default.xml
generated
40
.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="ClassCanBeRecord" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="myIgnoredAnnotations">
|
||||
<list>
|
||||
@@ -12,7 +13,46 @@
|
||||
</list>
|
||||
</option>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewMustBeTopLevelFunction" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewNeedsComposableAnnotation" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="FieldCanBeLocal" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="GlancePreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewMustBeTopLevelFunction" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewNeedsComposableAnnotation" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewAnnotationInFunctionWithParameters" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewApiLevelMustBeValid" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewFontScaleMustBeGreaterThanZero" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewMultipleParameterProviders" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewPickerAnnotation" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
|
2
.idea/kotlinc.xml
generated
2
.idea/kotlinc.xml
generated
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="1.9.10" />
|
||||
<option name="version" value="2.1.10" />
|
||||
</component>
|
||||
</project>
|
7
.idea/ktlint-plugin.xml
generated
Normal file
7
.idea/ktlint-plugin.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KtLint plugin">
|
||||
<ktlintMode>MANUAL</ktlintMode>
|
||||
<formatOnSave>false</formatOnSave>
|
||||
</component>
|
||||
</project>
|
17
.idea/runConfigurations.xml
generated
Normal file
17
.idea/runConfigurations.xml
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
@@ -1,15 +1,25 @@
|
||||
# Yuki Reflection
|
||||
|
||||
[](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
|
||||
[](https://github.com/HighCapable/YukiReflection/releases)
|
||||
[](https://t.me/YukiReflection)
|
||||
[](https://t.me/HighCapable_Dev)
|
||||
[](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
|
||||
[](https://github.com/HighCapable/YukiReflection/releases)
|
||||
[](https://t.me/YukiReflection)
|
||||
[](https://t.me/HighCapable_Dev)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
|
||||
|
||||
<img src="https://github.com/HighCapable/YukiReflection/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"/>
|
||||
|
||||
🌴️ 一个使用 Kotlin 构建的用于 Java 和 Android 平台高效反射 API。
|
||||
|
||||
[English](https://github.com/HighCapable/YukiReflection/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) |
|
||||
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
|
||||
|
||||
这个项目属于上述组织,**点击上方链接关注这个组织**,发现更多好项目。
|
||||
|
||||
## 🚨 此项目已停止维护
|
||||
|
||||
此项目由于很多未能解决的黑盒问题已被弃用,我们不再推荐任何人使用它,现在请迁移到全新设计的 [KavaRef](https://github.com/HighCapable/KavaRef)。
|
||||
|
||||
## 这是什么
|
||||
|
||||
@@ -24,17 +34,14 @@
|
||||
|
||||
## 项目推广
|
||||
|
||||
如果你正在寻找一个可以自动管理 Gradle 项目依赖的 Gradle 插件,你可以了解一下 [SweetDependency](https://github.com/HighCapable/SweetDependency) 项目。
|
||||
|
||||
如果你正在寻找一个可以自动生成属性键值的 Gradle 插件,你可以了解一下 [SweetProperty](https://github.com/HighCapable/SweetProperty) 项目。
|
||||
|
||||
本项目同样使用了 **SweetDependency** 和 **SweetProperty**。
|
||||
|
||||
## 捐赠支持
|
||||
|
||||
工作不易,无意外情况此项目将继续维护下去,提供更多可能,欢迎打赏。
|
||||
|
||||
<img src="https://github.com/HighCapable/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
|
||||
|
||||
@@ -47,7 +54,7 @@
|
||||
```
|
||||
Apache License Version 2.0
|
||||
|
||||
Copyright (C) 2019-2023 HighCapable
|
||||
Copyright (C) 2019 HighCapable
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -62,4 +69,4 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
|
||||
版权所有 © 2019-2023 HighCapable
|
||||
版权所有 © 2019 HighCapable
|
42
README.md
42
README.md
@@ -1,15 +1,26 @@
|
||||
# Yuki Reflection
|
||||
|
||||
[](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
|
||||
[](https://github.com/HighCapable/YukiReflection/releases)
|
||||
[](https://t.me/YukiReflection)
|
||||
[](https://t.me/HighCapable_Dev)
|
||||
[](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
|
||||
[](https://github.com/HighCapable/YukiReflection/releases)
|
||||
[](https://t.me/YukiReflection)
|
||||
[](https://t.me/HighCapable_Dev)
|
||||
[](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
|
||||
|
||||
<img src="https://github.com/HighCapable/YukiReflection/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"/>
|
||||
|
||||
🌴️ An efficient Reflection API for Java and Android built in Kotlin.
|
||||
|
||||
English | [简体中文](https://github.com/HighCapable/YukiReflection/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.
|
||||
|
||||
## 🚨 Maintenance of this project has been stopped
|
||||
|
||||
The `YukiReflection` project has been deprecated due to many unsolved black box issues, so we no longer recommend anyone to use it.
|
||||
Please now migrate to the brand new design [KavaRef](https://github.com/HighCapable/KavaRef).
|
||||
|
||||
## What's this
|
||||
|
||||
@@ -24,13 +35,14 @@ The name is taken from ["ももくり" heroine Yuki Kurihara](https://www.bilibi
|
||||
|
||||
## Promotion
|
||||
|
||||
If you are looking for a Gradle plugin that can automatically manage Gradle project dependencies,
|
||||
you can check out the [SweetDependency](https://github.com/HighCapable/SweetDependency) project.
|
||||
|
||||
If you are looking for a Gradle plugin that can automatically generate properties key-values,
|
||||
you can check out the [SweetProperty](https://github.com/HighCapable/SweetProperty) project.
|
||||
|
||||
This project also uses **SweetDependency** and **SweetProperty**.
|
||||
<!--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
|
||||
|
||||
@@ -43,7 +55,7 @@ This project also uses **SweetDependency** and **SweetProperty**.
|
||||
```
|
||||
Apache License Version 2.0
|
||||
|
||||
Copyright (C) 2019-2023 HighCapable
|
||||
Copyright (C) 2019 HighCapable
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -58,4 +70,4 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
|
||||
Copyright © 2019-2023 HighCapable
|
||||
Copyright © 2019 HighCapable
|
@@ -3,4 +3,5 @@ plugins {
|
||||
autowire(libs.plugins.kotlin.jvm) apply false
|
||||
autowire(libs.plugins.kotlin.android) apply false
|
||||
autowire(libs.plugins.jetbrains.compose) apply false
|
||||
autowire(libs.plugins.compose.compiler) apply false
|
||||
}
|
@@ -3,10 +3,10 @@
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@mr-hope/vuepress-plugin-copy-code": "^1.30.0",
|
||||
"@vuepress/plugin-prismjs": "2.0.0-beta.67",
|
||||
"@vuepress/plugin-search": "2.0.0-beta.67",
|
||||
"@vuepress/plugin-shiki": "2.0.0-beta.67",
|
||||
"vuepress": "2.0.0-beta.67"
|
||||
"@vuepress/plugin-prismjs": "2.0.0-rc.0",
|
||||
"@vuepress/plugin-search": "2.0.0-rc.0",
|
||||
"@vuepress/plugin-shiki": "2.0.0-rc.0",
|
||||
"vuepress": "2.0.0-rc.0"
|
||||
},
|
||||
"scripts": {
|
||||
"docs:dev": "vuepress dev src",
|
||||
|
38
docs-source/src/.vuepress/client.ts
Normal file
38
docs-source/src/.vuepress/client.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { defineClientConfig } from '@vuepress/client'
|
||||
import { h, onMounted, watch } from 'vue'
|
||||
import DeprecatedBanner from './components/DeprecatedBanner.vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
||||
export default defineClientConfig({
|
||||
rootComponents: [
|
||||
() => h(DeprecatedBanner)
|
||||
],
|
||||
setup() {
|
||||
const route = useRoute()
|
||||
|
||||
const adjustLayout = () => {
|
||||
requestAnimationFrame(() => {
|
||||
const banner = document.querySelector('.deprecated-banner') as HTMLElement
|
||||
const height = banner?.clientHeight ?? 0
|
||||
|
||||
const themeContainer = document.querySelector('.theme-container') as HTMLElement
|
||||
const navbar = document.querySelector('.navbar') as HTMLElement
|
||||
const sidebar = document.querySelector('.sidebar') as HTMLElement
|
||||
|
||||
if (height > 0) {
|
||||
if (themeContainer) themeContainer.style.paddingTop = `${height}px`
|
||||
if (navbar) navbar.style.marginTop = `${height}px`
|
||||
if (sidebar) sidebar.style.marginTop = `${height}px`
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
adjustLayout()
|
||||
})
|
||||
|
||||
watch(() => route.path, () => {
|
||||
adjustLayout()
|
||||
})
|
||||
}
|
||||
})
|
35
docs-source/src/.vuepress/components/DeprecatedBanner.vue
Normal file
35
docs-source/src/.vuepress/components/DeprecatedBanner.vue
Normal file
@@ -0,0 +1,35 @@
|
||||
<template>
|
||||
<div class="deprecated-banner">
|
||||
YukiReflection is deprecated, Start trying <a href="https://github.com/HighCapable/KavaRef" target="_blank"
|
||||
rel="noopener">KavaRef</a> now! 
|
||||
YukiReflection 已被弃用,立即尝试 <a href="https://github.com/HighCapable/KavaRef/blob/main/README-zh-CN.md"
|
||||
target="_blank" rel="noopener">KavaRef</a> 吧!
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.deprecated-banner {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
background-color: #ffdddd;
|
||||
color: #a00000;
|
||||
text-align: center;
|
||||
padding: 12px 24px;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
z-index: 9999;
|
||||
|
||||
}
|
||||
|
||||
.deprecated-banner a {
|
||||
color: #a00000;
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.deprecated-banner a:hover {
|
||||
color: #600000;
|
||||
}
|
||||
</style>
|
@@ -1,4 +1,4 @@
|
||||
# About this Document
|
||||
# About This Document
|
||||
|
||||
> This document is powered by [VuePress](https://v2.vuepress.vuejs.org/en).
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
```:no-line-numbers
|
||||
Apache License Version 2.0
|
||||
|
||||
Copyright (C) 2019-2023 HighCapable
|
||||
Copyright (C) 2019 HighCapable
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -24,4 +24,4 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
|
||||
Copyright © 2019-2023 HighCapable
|
||||
Copyright © 2019 HighCapable
|
@@ -18,6 +18,7 @@ Time zone of version release date: **UTC+8**
|
||||
|
||||
### 1.0.3 | 2023.10.07  <Badge type="tip" text="latest" vertical="middle" />
|
||||
|
||||
- The license agreement has been changed from `MIT` to `Apache-2.0`, subsequent versions will be distributed under this license agreement, you should change the relevant license agreement after using this version
|
||||
- Change the type of dependency library from **Android Library** (aar) back to **Java Library** (jar)
|
||||
- Adapt and support the native Java platform (some functions are only available on the Android platform)
|
||||
- Fixed [fix get interfaces of class](https://github.com/HighCapable/YukiHookAPI/pull/38) issue and merged into `YukiReflection`
|
||||
|
@@ -2,7 +2,10 @@
|
||||
|
||||
> If you have any questions in use, or have any constructive suggestions, you can contact us.
|
||||
|
||||
Join us [Click to join Telegram group](https://t.me/YukiReflection), [Click to join Telegram group (Developer)](https://t.me/HighCapable_Dev).
|
||||
Join our developers group.
|
||||
|
||||
- [Click to join Telegram group](https://t.me/YukiReflection)
|
||||
- [Click to join Telegram group (Developer)](https://t.me/HighCapable_Dev)
|
||||
|
||||
Find me on **Twitter** [@fankesyooni](https://twitter.com/fankesyooni).
|
||||
|
||||
|
@@ -101,4 +101,119 @@ MyClass().also {
|
||||
|
||||
The above functions may change after the actual release, and the functions of the actual version shall prevail.
|
||||
|
||||
:::
|
||||
|
||||
### Automatically Generate Directly Called Class Objects
|
||||
|
||||
In Kotlin, the way to represent Java class objects is `YourObject::class.java`.
|
||||
|
||||
This writing method is usually very long and will be very unsightly when used extensively during reflection.
|
||||
|
||||
In the existing version, we have built-in commonly used `Class` objects, but this will increase the size of dependencies, and these objects may not be used in most cases.
|
||||
|
||||
For example, `StringClass`, `IntType`, etc., these objects are built in `YukiReflection`.
|
||||
|
||||
So we plan to add a function in the future, which can use `properties` to create a list of `Class` objects that need to be generated,
|
||||
and generate these `Class` objects in sequence through the Gradle plugin.
|
||||
|
||||
`Class` objects of primitive types such as those mentioned above will still be built into `YukiReflection`,
|
||||
and the remaining `Class` objects need to be defined by yourself.
|
||||
|
||||
The generated name specification is **Class Name + Class**.
|
||||
|
||||
In order to prevent package name conflicts, you can control the sub-package name of the generated `Class` object.
|
||||
|
||||
In the configuration file, you don't need to add `Class` as a suffix.
|
||||
|
||||
You can define the generated root package name in the Gradle plugin, which defaults to `com.highcapable.yukireflection.generated.classes`.
|
||||
|
||||
> The following example
|
||||
|
||||
```properties
|
||||
# The most basic way to define is to write the name directly
|
||||
# Will be generated to com.highcapable.yukireflection.generated.classes.BundleClass
|
||||
android.os.Bundle=Bundle
|
||||
# You can use the "." form in front to define the prefixed subpackage name
|
||||
# For example, we want to define this class to the desired package name
|
||||
# Will be generated to com.highcapable.yukireflection.generated.classes.myandroid.myos.BundleClass
|
||||
android.os.Bundle=myandroid.myos.Bundle
|
||||
# You can also not fill in the key value content, which will use the key value name
|
||||
# as the defined package name and class name
|
||||
# Will be generated to com.highcapable.yukireflection.generated.classes.android.os.BundleClass
|
||||
android.os.Bundle
|
||||
```
|
||||
|
||||
The approximate code form of the `Class` object generated by the above method is as follows.
|
||||
|
||||
```kotlin
|
||||
package com.highcapable.yukireflection.generated.classes.android.os
|
||||
|
||||
// Used with default ClassLoader
|
||||
val BundleClass: Class<*> = "android.os.Bundle".toClass()
|
||||
|
||||
// Used when ClassLoader is specified
|
||||
fun BundleClass(loader: ClassLoader): Class<*> = "android.os.Bundle".toClass(loader)
|
||||
```
|
||||
|
||||
Maybe this `Class` may not be obtained in some cases.
|
||||
|
||||
In this case, you can refer to the following configuration method.
|
||||
|
||||
> The following example
|
||||
|
||||
```properties
|
||||
# Add "?" after the key value to define a nullable Class object
|
||||
android.os.Bundle?
|
||||
```
|
||||
|
||||
The approximate code form of the `Class` object generated by the above method is as follows.
|
||||
|
||||
```kotlin
|
||||
package com.highcapable.yukireflection.generated.classes.android.os
|
||||
|
||||
// Used with default ClassLoader
|
||||
val BundleClass: Class<*>? = "android.os.Bundle".toClassOrNull()
|
||||
|
||||
// Used when ClassLoader is specified
|
||||
fun BundleClass(loader: ClassLoader): Class<*>? = "android.os.Bundle".toClassOrNull(loader)
|
||||
```
|
||||
|
||||
If this `Class` object can be referenced by direct call, you can refer to the following configuration method at this time.
|
||||
|
||||
> The following example
|
||||
|
||||
```properties
|
||||
# Add "!!" after the key value to define a Class object that can be called directly
|
||||
android.os.Bundle!!
|
||||
```
|
||||
|
||||
The approximate code form of the `Class` object generated by the above method is as follows.
|
||||
|
||||
```kotlin
|
||||
package com.highcapable.yukireflection.generated.classes.android.os
|
||||
|
||||
import android.os.Bundle
|
||||
|
||||
// Used with default ClassLoader
|
||||
val BundleClass: Class<Bundle> = classOf<Bundle>()
|
||||
|
||||
// Used when ClassLoader is specified
|
||||
fun BundleClass(loader: ClassLoader): Class<Bundle> = classOf<Bundle>(loader)
|
||||
```
|
||||
|
||||
With the generated `Class` object, we can happily use `YukiReflection` for reflection.
|
||||
|
||||
> The following example
|
||||
|
||||
```kotlin
|
||||
method {
|
||||
name = "onCreate"
|
||||
param(BundleClass)
|
||||
}
|
||||
```
|
||||
|
||||
::: tip
|
||||
|
||||
The above functions may change after the actual release, and the functions of the actual version shall prevail.
|
||||
|
||||
:::
|
@@ -28,7 +28,7 @@ The project needs to be created using `Android Studio` or `IntelliJ IDEA` and th
|
||||
|
||||
We recommend using Kotlin DSL as the Gradle build script language and [SweetDependency](https://github.com/HighCapable/SweetDependency) to manage dependencies.
|
||||
|
||||
#### SweetDependency Method
|
||||
#### SweetDependency (Recommended)
|
||||
|
||||
Add the repositories and dependencies in your project's `SweetDependency` configuration file.
|
||||
|
||||
@@ -60,7 +60,7 @@ dependencies {
|
||||
}
|
||||
```
|
||||
|
||||
#### Traditional Method (Not Recommended)
|
||||
#### Traditional Method
|
||||
|
||||
Add repositories in your project `build.gradle.kts` or `build.gradle`.
|
||||
|
||||
|
@@ -16,7 +16,7 @@ features:
|
||||
details: Not only the Android platform, it is highly compatible with the Java API and can be used on any Kotlin on JVM project, wherever Java is available.
|
||||
- title: Quickly Started
|
||||
details: Simple and easy to use it now! Do not need complex configuration and full development experience, Integrate dependencies and enjoy yourself.
|
||||
footer: Apache-2.0 License | Copyright (C) 2019-2023 HighCapable
|
||||
footer: Apache-2.0 License | Copyright (C) 2019 HighCapable
|
||||
---
|
||||
|
||||
### Bring it on! Let reflection become poetic and picturesque
|
||||
|
@@ -13,5 +13,5 @@ actions:
|
||||
- text: 简体中文
|
||||
link: /zh-cn/
|
||||
type: secondary
|
||||
footer: Apache-2.0 License | Copyright (C) 2019-2023 HighCapable
|
||||
footer: Apache-2.0 License | Copyright (C) 2019 HighCapable
|
||||
---
|
@@ -2,14 +2,14 @@
|
||||
|
||||
> 此文档由 [VuePress](https://v2.vuepress.vuejs.org/zh) 强力驱动。
|
||||
|
||||
## License
|
||||
## 许可证
|
||||
|
||||
[Apache-2.0](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
|
||||
|
||||
```:no-line-numbers
|
||||
Apache License Version 2.0
|
||||
|
||||
Copyright (C) 2019-2023 HighCapable
|
||||
Copyright (C) 2019 HighCapable
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
@@ -24,4 +24,4 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
```
|
||||
|
||||
版权所有 © 2019-2023 HighCapable
|
||||
版权所有 © 2019 HighCapable
|
@@ -10,6 +10,7 @@
|
||||
|
||||
### 1.0.3 | 2023.10.07  <Badge type="tip" text="最新" vertical="middle" />
|
||||
|
||||
- 许可协议由 `MIT` 变更为 `Apache-2.0`,在此之后的版本将由此许可协议进行分发,您在使用此版本后应变更相关许可协议
|
||||
- 将依赖库的类型由 **Android Library** (aar) 修改回 **Java Library** (jar)
|
||||
- 适配并支持原生 Java 平台 (部分功能仅限 Android 平台)
|
||||
- 修复 [fix get interfaces of class](https://github.com/HighCapable/YukiHookAPI/pull/38) 问题并合并到 `YukiReflection`
|
||||
|
@@ -2,7 +2,11 @@
|
||||
|
||||
> 如在使用中有任何问题,或有任何建设性的建议,都可以联系我们。
|
||||
|
||||
加入我们 [点击加入 Telegram 群组](https://t.me/YukiReflection)、[点击加入 Telegram 群组 (开发者)](https://t.me/HighCapable_Dev)。
|
||||
加入我们的开发者群组。
|
||||
|
||||
- [点击加入 Telegram 群组](https://t.me/YukiReflection)
|
||||
- [点击加入 Telegram 群组 (开发者)](https://t.me/HighCapable_Dev)
|
||||
- [点击加入 QQ 群 (开发者)](https://qm.qq.com/cgi-bin/qm/qr?k=Pnsc5RY6N2mBKFjOLPiYldbAbprAU3V7&jump_from=webapi&authKey=X5EsOVzLXt1dRunge8ryTxDRrh9/IiW1Pua75eDLh9RE3KXE+bwXIYF5cWri/9lf)
|
||||
|
||||
在 **酷安** 找到我 [@星夜不荟](http://www.coolapk.com/u/876977)。
|
||||
|
||||
|
@@ -101,4 +101,110 @@ MyClass().also {
|
||||
|
||||
以上功能可能会在实际推出后有所变化,最终以实际版本的功能为准。
|
||||
|
||||
:::
|
||||
|
||||
### 自动生成可直接调用的 Class 对象
|
||||
|
||||
在 Kotlin 中,表示 Java 的类对象的方式是 `YourObject::class.java`,这个写法通常会很长,在反射过程中大量使用会很不美观。
|
||||
|
||||
在现有版本中,我们内置了常用的 `Class` 对象,但是这会增大依赖的体积,而且大多数情况下可能都用不到这些对象。
|
||||
|
||||
例如 `StringClass`、`IntType` 等等,这些对象都是在 `YukiReflection` 中内置的。
|
||||
|
||||
所以我们计划在后期添加一个功能,可以使用 `properties` 的方式创建一个需要生成的 `Class` 对象列表,通过 Gradle 插件依次生成这些 `Class` 对象。
|
||||
|
||||
诸如上面提到的这些原始类型的 `Class` 对象依然会内置在 `YukiReflection` 中,其余的 `Class` 对象需要自行定义。
|
||||
|
||||
生成的名称规范为 **类名 + Class**,为了防止包名冲突,你可以控制生成的 `Class` 对象的子包名。
|
||||
|
||||
在配置文件中,你无需添加 `Class` 作为后缀。
|
||||
|
||||
你可以在 Gradle 插件中定义生成的根包名,默认为 `com.highcapable.yukireflection.generated.classes`。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```properties
|
||||
# 最基本的定义方式就是直接写名称
|
||||
# 将会生成到 com.highcapable.yukireflection.generated.classes.BundleClass
|
||||
android.os.Bundle=Bundle
|
||||
# 你可以在前方使用 "." 的形式来定义前置子包名
|
||||
# 例如我们想把这个类定义到想要的包名
|
||||
# 将会生成到 com.highcapable.yukireflection.generated.classes.myandroid.myos.BundleClass
|
||||
android.os.Bundle=myandroid.myos.Bundle
|
||||
# 你也可以不填写键值内容,这将使用键值名称作为定义的包名和类名
|
||||
# 将会生成到 com.highcapable.yukireflection.generated.classes.android.os.BundleClass
|
||||
android.os.Bundle
|
||||
```
|
||||
|
||||
上述方式生成的 `Class` 对象的大概代码形式如下。
|
||||
|
||||
```kotlin
|
||||
package com.highcapable.yukireflection.generated.classes.android.os
|
||||
|
||||
// 在默认 ClassLoader 的情况下使用
|
||||
val BundleClass: Class<*> = "android.os.Bundle".toClass()
|
||||
|
||||
// 在指定 ClassLoader 的情况下使用
|
||||
fun BundleClass(loader: ClassLoader): Class<*> = "android.os.Bundle".toClass(loader)
|
||||
```
|
||||
|
||||
也许这个 `Class` 可能在一些情况下无法被得到,这个时候你可以参考以下配置方式。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```properties
|
||||
# 在键值后添加 "?" 的形式来定义可空的 Class 对象
|
||||
android.os.Bundle?
|
||||
```
|
||||
|
||||
上述方式生成的 `Class` 对象的大概代码形式如下。
|
||||
|
||||
```kotlin
|
||||
package com.highcapable.yukireflection.generated.classes.android.os
|
||||
|
||||
// 在默认 ClassLoader 的情况下使用
|
||||
val BundleClass: Class<*>? = "android.os.Bundle".toClassOrNull()
|
||||
|
||||
// 在指定 ClassLoader 的情况下使用
|
||||
fun BundleClass(loader: ClassLoader): Class<*>? = "android.os.Bundle".toClassOrNull(loader)
|
||||
```
|
||||
|
||||
如果这个 `Class` 对象能使用直接调用的方式进行引用,这个时候你可以参考以下配置方式。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```properties
|
||||
# 在键值后添加 "!!" 的形式来定义可直接调用的 Class 对象
|
||||
android.os.Bundle!!
|
||||
```
|
||||
|
||||
上述方式生成的 `Class` 对象的大概代码形式如下。
|
||||
|
||||
```kotlin
|
||||
package com.highcapable.yukireflection.generated.classes.android.os
|
||||
|
||||
import android.os.Bundle
|
||||
|
||||
// 在默认 ClassLoader 的情况下使用
|
||||
val BundleClass: Class<Bundle> = classOf<Bundle>()
|
||||
|
||||
// 在指定 ClassLoader 的情况下使用
|
||||
fun BundleClass(loader: ClassLoader): Class<Bundle> = classOf<Bundle>(loader)
|
||||
```
|
||||
|
||||
有了生成的 `Class` 对象,我们就可以愉快地使用 `YukiReflection` 进行反射了。
|
||||
|
||||
> 示例如下
|
||||
|
||||
```kotlin
|
||||
method {
|
||||
name = "onCreate"
|
||||
param(BundleClass)
|
||||
}
|
||||
```
|
||||
|
||||
::: tip
|
||||
|
||||
以上功能可能会在实际推出后有所变化,最终以实际版本的功能为准。
|
||||
|
||||
:::
|
@@ -28,7 +28,7 @@
|
||||
|
||||
我们推荐使用 Kotlin DSL 作为 Gradle 构建脚本语言并推荐使用 [SweetDependency](https://github.com/HighCapable/SweetDependency) 来管理依赖。
|
||||
|
||||
#### SweetDependency 方式
|
||||
#### SweetDependency (推荐)
|
||||
|
||||
在你的项目 `SweetDependency` 配置文件中添加存储库和依赖。
|
||||
|
||||
@@ -59,7 +59,7 @@ dependencies {
|
||||
}
|
||||
```
|
||||
|
||||
#### 传统方式 (不推荐)
|
||||
#### 传统方式
|
||||
|
||||
在你的项目 `build.gradle.kts` 或 `build.gradle` 中添加存储库。
|
||||
|
||||
|
@@ -16,7 +16,7 @@ features:
|
||||
details: 不仅仅是 Android 平台,它与 Java API 高度兼容,可使用在任何 Kotlin on JVM 的项目上,有 Java 的地方就可以使用。
|
||||
- title: 快速上手
|
||||
details: 简单易用,不需要繁琐的配置,不需要十足的开发经验,搭建环境集成依赖即可立即开始使用。
|
||||
footer: Apache-2.0 License | Copyright (C) 2019-2023 HighCapable
|
||||
footer: Apache-2.0 License | Copyright (C) 2019 HighCapable
|
||||
---
|
||||
|
||||
### 来吧!让反射也变得诗情画意
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -6,24 +6,31 @@ kotlin.code.style=official
|
||||
kotlin.incremental.useClasspathSnapshot=true
|
||||
# Project Configuration
|
||||
project.name=YukiReflection
|
||||
project.description=An efficient Reflection API for Java and Android built in Kotlin.
|
||||
project.url=https://github.com/HighCapable/YukiReflection
|
||||
project.groupName=com.highcapable.yukireflection
|
||||
project.yukireflection-core.moduleName=api
|
||||
project.yukireflection-core.version="1.0.3"
|
||||
project.licence.name=Apache License 2.0
|
||||
project.licence.url=https://github.com/HighCapable/YukiReflection/blob/master/LICENSE
|
||||
project.developer.id="0"
|
||||
project.developer.name=fankes
|
||||
project.developer.email=qzmmcn@163.com
|
||||
project.android.compileSdk=34
|
||||
project.android.compileSdk=35
|
||||
project.android.minSdk=21
|
||||
project.android.targetSdk=34
|
||||
project.android.targetSdk=35
|
||||
project.samples-demo-android.packageName=${project.groupName}.demo_app
|
||||
project.samples-demo-android.versionName=universal
|
||||
project.samples-demo-android.versionCode=1
|
||||
project.samples-demo-jvm.groupName=${project.groupName}.demo_jvm
|
||||
# Maven Publish Configuration
|
||||
maven.publish.scm.connection=scm:git:git://github.com/HighCapable/YukiReflection.git
|
||||
maven.publish.scm.developerConnection=scm:git:ssh://github.com/HighCapable/YukiReflection.git
|
||||
maven.publish.scm.url=https://github.com/HighCapable/YukiReflection
|
||||
SONATYPE_HOST=S01
|
||||
RELEASE_SIGNING_ENABLED=true
|
||||
# Maven POM Configuration
|
||||
POM_NAME=YukiReflection
|
||||
POM_DESCRIPTION=An efficient Reflection API for Java and Android built in Kotlin.
|
||||
POM_URL=https://github.com/HighCapable/YukiReflection
|
||||
POM_LICENSE_NAME=Apache License 2.0
|
||||
POM_LICENSE_URL=https://github.com/HighCapable/YukiReflection/blob/master/LICENSE
|
||||
POM_LICENSE_DIST=repo
|
||||
POM_SCM_URL=https://github.com/HighCapable/YukiReflection
|
||||
POM_SCM_CONNECTION=scm:git:git://github.com/HighCapable/YukiReflection.git
|
||||
POM_SCM_DEV_CONNECTION=scm:git:ssh://github.com/HighCapable/YukiReflection.git
|
||||
POM_DEVELOPER_ID=0
|
||||
POM_DEVELOPER_NAME=fankes
|
||||
POM_DEVELOPER_EMAIL=qzmmcn@163.com
|
||||
POM_DEVELOPER_URL=https://github.com/fankes
|
@@ -11,24 +11,27 @@ repositories:
|
||||
plugins:
|
||||
org.jetbrains.kotlin.jvm:
|
||||
alias: kotlin-jvm
|
||||
version: 1.9.10
|
||||
version: 2.1.10
|
||||
org.jetbrains.kotlin.android:
|
||||
alias: kotlin-android
|
||||
version-ref: kotlin-jvm
|
||||
org.jetbrains.compose:
|
||||
alias: jetbrains-compose
|
||||
version: 1.5.1
|
||||
version: 1.7.3
|
||||
org.jetbrains.kotlin.plugin.compose:
|
||||
alias: compose-compiler
|
||||
version-ref: kotlin-jvm
|
||||
com.android.application:
|
||||
alias: android-application
|
||||
version: 8.1.1
|
||||
version: 8.9.0
|
||||
com.vanniktech.maven.publish:
|
||||
alias: maven-publish
|
||||
version: 0.25.3
|
||||
version: 0.31.0
|
||||
|
||||
libraries:
|
||||
androidx.compose:
|
||||
compose-bom:
|
||||
version: 2023.09.02
|
||||
version: 2025.03.00
|
||||
androidx.compose.foundation:
|
||||
foundation:
|
||||
version: <no-spec>
|
||||
@@ -40,22 +43,22 @@ libraries:
|
||||
version: <no-spec>
|
||||
androidx.activity:
|
||||
activity-compose:
|
||||
version: 1.7.2
|
||||
version: 1.10.1
|
||||
androidx.core:
|
||||
core-ktx:
|
||||
version: 1.10.0
|
||||
version: 1.15.0
|
||||
androidx.appcompat:
|
||||
appcompat:
|
||||
version: 1.6.1
|
||||
version: 1.7.0
|
||||
com.google.android.material:
|
||||
material:
|
||||
version: 1.8.0
|
||||
version: 1.12.0
|
||||
androidx.test.ext:
|
||||
junit:
|
||||
version: 1.1.5
|
||||
version: 1.2.1
|
||||
androidx.test.espresso:
|
||||
espresso-core:
|
||||
version: 3.5.1
|
||||
version: 3.6.1
|
||||
junit:
|
||||
junit:
|
||||
version: 4.13.2
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
1
samples/.gitignore
vendored
1
samples/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build
|
1
samples/demo-android/.gitignore
vendored
1
samples/demo-android/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build
|
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
autowire(libs.plugins.android.application)
|
||||
autowire(libs.plugins.kotlin.android)
|
||||
autowire(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
android {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
1
samples/demo-jvm/.gitignore
vendored
1
samples/demo-jvm/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build
|
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
autowire(libs.plugins.kotlin.jvm)
|
||||
autowire(libs.plugins.jetbrains.compose)
|
||||
autowire(libs.plugins.compose.compiler)
|
||||
}
|
||||
|
||||
group = property.project.samples.demo.jvm.groupName
|
||||
@@ -10,6 +11,10 @@ java {
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
}
|
||||
|
||||
compose.desktop {
|
||||
application {
|
||||
mainClass = "$group.MainKt"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -7,8 +7,8 @@ pluginManagement {
|
||||
}
|
||||
}
|
||||
plugins {
|
||||
id("com.highcapable.sweetdependency") version "1.0.2"
|
||||
id("com.highcapable.sweetproperty") version "1.0.3"
|
||||
id("com.highcapable.sweetdependency") version "1.0.4"
|
||||
id("com.highcapable.sweetproperty") version "1.0.5"
|
||||
}
|
||||
sweetProperty {
|
||||
global {
|
||||
|
1
yukireflection-core/.gitignore
vendored
1
yukireflection-core/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/build
|
@@ -4,15 +4,16 @@ plugins {
|
||||
}
|
||||
|
||||
group = property.project.groupName
|
||||
version = property.project.yukireflection.core.version
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
|
||||
kotlinOptions {
|
||||
jvmTarget = "17"
|
||||
kotlin {
|
||||
jvmToolchain(17)
|
||||
compilerOptions {
|
||||
freeCompilerArgs = listOf(
|
||||
"-Xno-param-assertions",
|
||||
"-Xno-call-assertions",
|
||||
@@ -26,31 +27,9 @@ dependencies {
|
||||
}
|
||||
|
||||
mavenPublishing {
|
||||
coordinates(property.project.groupName, property.project.yukireflection.core.moduleName, property.project.yukireflection.core.version)
|
||||
pom {
|
||||
name = property.project.name
|
||||
description = property.project.description
|
||||
url = property.project.url
|
||||
licenses {
|
||||
license {
|
||||
name = property.project.licence.name
|
||||
url = property.project.licence.url
|
||||
distribution = property.project.licence.url
|
||||
}
|
||||
}
|
||||
developers {
|
||||
developer {
|
||||
id = property.project.developer.id
|
||||
name = property.project.developer.name
|
||||
email = property.project.developer.email
|
||||
}
|
||||
}
|
||||
scm {
|
||||
url = property.maven.publish.scm.url
|
||||
connection = property.maven.publish.scm.connection
|
||||
developerConnection = property.maven.publish.scm.developerConnection
|
||||
}
|
||||
}
|
||||
publishToMavenCentral(com.vanniktech.maven.publish.SonatypeHost.S01)
|
||||
signAllPublications()
|
||||
coordinates(
|
||||
groupId = group.toString(),
|
||||
artifactId = property.project.yukireflection.core.moduleName,
|
||||
version = version.toString()
|
||||
)
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin.
|
||||
* Copyright (C) 2019-2023 HighCapable
|
||||
* Copyright (C) 2019 HighCapable
|
||||
* https://github.com/HighCapable/YukiReflection
|
||||
*
|
||||
* Apache License Version 2.0
|
||||
|
Reference in New Issue
Block a user