45 Commits

Author SHA1 Message Date
10643305ec docs: update README 2025-06-25 16:45:54 +08:00
47d590d6a1 refactor: say good night to YukiReflection 2025-06-17 18:37:05 +08:00
d4ccd19ecd chore: bump dependencies 2025-03-17 00:15:37 +08:00
a92e4e0dcb chore: bump gradle to 8.13 2025-03-17 00:15:31 +08:00
b1fa277bc1 chore: update .editorconfig 2025-03-17 00:15:20 +08:00
6fc3448c2d chore: update project files 2025-03-17 00:15:01 +08:00
20ead7a981 chore: bump ci to v4 2025-02-22 02:16:18 +08:00
c58771eb1c chore: update .gitignore 2025-02-22 02:15:49 +08:00
453c8757a2 docs: update license 2025-02-05 10:37:25 +08:00
efeb3aa12a chore: update project files 2025-02-05 10:37:11 +08:00
a43ff83fed docs: update license 2025-01-13 10:50:58 +08:00
864a6db24a chore: update project files 2025-01-13 10:50:54 +08:00
eb669f3ad5 chore: update target sdk to 35 2024-11-10 22:06:01 +08:00
fcaf83b930 chore: bump dependencies 2024-11-10 22:05:32 +08:00
a3173ab245 chore: bump gradle to 8.10.2 2024-11-10 22:05:28 +08:00
32910b8348 chore: update .editorconfig 2024-06-21 10:16:53 +08:00
1ec33a30fe chore: bump dependencies & support Kotlin 2.0.0 2024-06-20 11:48:21 +08:00
7b6262e9a6 chore: bump gradle to 8.7 2024-06-20 11:48:08 +08:00
a13b1d326e chore: update .editorconfig 2024-06-20 11:48:01 +08:00
5152b895c3 chore: bump dependencies 2024-02-20 11:51:11 +08:00
8d113ce2ce chore: bump gradle to 8.6 2024-02-20 11:48:31 +08:00
364f13462c chore: update .editorconfig 2024-01-13 21:30:13 +08:00
a9ec361c3e docs: update contacts 2024-01-02 03:46:25 +08:00
9f34d3d975 docs: update copyright date to 2024 for all existing files 2024-01-01 01:39:10 +08:00
e63cd6341e docs: update about 2023-12-31 21:05:25 +08:00
370a5cfb97 style: merge to new ktlint version & rules 2023-12-29 21:42:24 +08:00
217b7d5efe chore: update .gitignore 2023-12-28 23:36:42 +08:00
748116bbde chore: merge to new maven publish way 2023-12-28 23:35:05 +08:00
1cbb12f9e1 chore: bump dependencies 2023-12-28 23:17:51 +08:00
dcf0f57648 chore: bump gradle to 8.5 2023-12-28 23:17:43 +08:00
a8c9a3afe1 docs: updates (some unimportant) 2023-12-18 09:11:25 +08:00
ae372587b7 chore(docs): bump dependencies 2023-12-18 09:10:18 +08:00
a92328268e docs: add new future 2023-12-18 07:25:53 +08:00
be9ae3bde7 docs: use relative link 2023-12-11 02:31:38 +08:00
aa2a057067 chore: update project files 2023-12-11 02:31:33 +08:00
353e85c03e chore: bump dependency versions 2023-12-11 01:11:14 +08:00
6a0ff96492 docs: update README-zh-CN 2023-12-11 01:07:30 +08:00
12a63e51d8 docs: update promotion 2023-11-18 18:11:28 +08:00
51f411ab39 chore: bump "com.highcapable.sweetdependency" version to 1.0.4 2023-11-14 01:06:31 +08:00
e14a7273d2 chore: bump "com.highcapable.sweetproperty" version to 1.0.5 2023-11-08 15:22:32 +08:00
bcdf203f1f chore: bump dependencies 2023-11-04 03:40:05 +08:00
7112845958 chore: bump plugin versions
- bump "com.highcapable.sweetdependency" version to 1.0.3
- bump "com.highcapable.sweetproperty" version to 1.0.4
2023-11-04 03:16:21 +08:00
7c62a6c42a docs: fix payment code url 2023-10-26 03:55:10 +08:00
47961b9673 docs: update promotion 2023-10-24 22:18:00 +08:00
414c7ac447 docs: additional update instructions 2023-10-07 18:02:35 +08:00
85 changed files with 1345 additions and 792 deletions

View File

@@ -10,6 +10,24 @@ ktlint_standard_argument-list-wrapping = disabled
ktlint_standard_parameter-list-wrapping = disabled ktlint_standard_parameter-list-wrapping = disabled
ktlint_standard_trailing-comma-on-declaration-site = disabled ktlint_standard_trailing-comma-on-declaration-site = disabled
ktlint_function_signature_body_expression_wrapping = multiline 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 ij_continuation_indent_size = 2
indent_size = 4 indent_size = 4
indent_style = space indent_style = space

View File

@@ -16,11 +16,11 @@ jobs:
if: ${{ success() }} if: ${{ success() }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v3 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 18
- name: Build VuePress site - name: Build VuePress site

117
.gitignore vendored
View File

@@ -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 *.iml
.gradle *.ipr
/local.properties
/.idea/caches # Kotlin
/.idea/libraries .kotlin
/.idea/modules.xml
/.idea/workspace.xml # Misc
/.idea/navEditor.xml .idea/misc.xml
/.idea/assetWizardSettings.xml
.DS_Store # CMake
/build 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 /captures
.externalNativeBuild .externalNativeBuild
.cxx .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
View 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>

View File

@@ -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
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>

View File

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

View File

@@ -1,6 +1,7 @@
<component name="InspectionProjectProfileManager"> <component name="InspectionProjectProfileManager">
<profile version="1.0"> <profile version="1.0">
<option name="myName" value="Project Default" /> <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"> <inspection_tool class="ClassCanBeRecord" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="myIgnoredAnnotations"> <option name="myIgnoredAnnotations">
<list> <list>
@@ -12,7 +13,46 @@
</list> </list>
</option> </option>
</inspection_tool> </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="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"> <inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" /> <option name="processCode" value="true" />
<option name="processLiterals" value="true" /> <option name="processLiterals" value="true" />

2
.idea/kotlinc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="KotlinJpsPluginSettings"> <component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.10" /> <option name="version" value="2.1.10" />
</component> </component>
</project> </project>

7
.idea/ktlint-plugin.xml generated Normal file
View 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
View 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>

View File

@@ -1,15 +1,25 @@
# Yuki Reflection # Yuki Reflection
[![GitHub license](https://img.shields.io/github/license/HighCapable/YukiReflection?color=blue)](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE) [![GitHub license](https://img.shields.io/github/license/HighCapable/YukiReflection?color=blue&style=flat-square)](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiReflection?display_name=release&logo=github&color=green)](https://github.com/HighCapable/YukiReflection/releases) [![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiReflection?display_name=release&logo=github&color=green&style=flat-square)](https://github.com/HighCapable/YukiReflection/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram)](https://t.me/YukiReflection) [![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/YukiReflection)
[![Telegram](https://img.shields.io/badge/discussion%20dev-Telegram-blue.svg?logo=telegram)](https://t.me/HighCapable_Dev) [![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/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。 🌴️ 一个使用 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) 项目。 <!--suppress HtmlDeprecatedAttribute -->
<div align="center">
如果你正在寻找一个可以自动生成属性键值的 Gradle 插件,你可以了解一下 [SweetProperty](https://github.com/HighCapable/SweetProperty) 项目。 <h2>嘿,还请君留步!👋</h2>
<h3>这里有 Android 开发工具、UI 设计、Gradle 插件、Xposed 模块和实用软件等相关项目。</h3>
本项目同样使用了 **SweetDependency****SweetProperty** <h3>如果下方的项目能为你提供帮助,不妨为我点个 star 吧!</h3>
<h3>所有项目免费、开源,遵循对应开源许可协议。</h3>
## 捐赠支持 <h1><a href="https://github.com/fankes/fankes/blob/main/project-promote/README-zh-CN.md">→ 查看更多关于我的项目,请点击这里 ←</a></h1>
</div>
工作不易,无意外情况此项目将继续维护下去,提供更多可能,欢迎打赏。
<img src="https://github.com/HighCapable/fankes/blob/main/img-src/payment_code.jpg?raw=true" width = "500" alt="Payment Code"/>
## Star History ## Star History
@@ -47,7 +54,7 @@
``` ```
Apache License Version 2.0 Apache License Version 2.0
Copyright (C) 2019-2023 HighCapable Copyright (C) 2019 HighCapable
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with 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. limitations under the License.
``` ```
版权所有 © 2019-2023 HighCapable 版权所有 © 2019 HighCapable

View File

@@ -1,15 +1,26 @@
# Yuki Reflection # Yuki Reflection
[![GitHub license](https://img.shields.io/github/license/HighCapable/YukiReflection?color=blue)](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE) [![GitHub license](https://img.shields.io/github/license/HighCapable/YukiReflection?color=blue&style=flat-square)](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiReflection?display_name=release&logo=github&color=green)](https://github.com/HighCapable/YukiReflection/releases) [![GitHub release](https://img.shields.io/github/v/release/HighCapable/YukiReflection?display_name=release&logo=github&color=green&style=flat-square)](https://github.com/HighCapable/YukiReflection/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram)](https://t.me/YukiReflection) [![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/YukiReflection)
[![Telegram](https://img.shields.io/badge/discussion%20dev-Telegram-blue.svg?logo=telegram)](https://t.me/HighCapable_Dev) [![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/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. 🌴️ 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 ## What's this
@@ -24,13 +35,14 @@ The name is taken from ["ももくり" heroine Yuki Kurihara](https://www.bilibi
## Promotion ## Promotion
If you are looking for a Gradle plugin that can automatically manage Gradle project dependencies, <!--suppress HtmlDeprecatedAttribute -->
you can check out the [SweetDependency](https://github.com/HighCapable/SweetDependency) project. <div align="center">
<h2>Hey, please stay! 👋</h2>
If you are looking for a Gradle plugin that can automatically generate properties key-values, <h3>Here are related projects such as Android development tools, UI design, Gradle plugins, Xposed Modules and practical software. </h3>
you can check out the [SweetProperty](https://github.com/HighCapable/SweetProperty) project. <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>
This project also uses **SweetDependency** and **SweetProperty**. <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
@@ -43,7 +55,7 @@ This project also uses **SweetDependency** and **SweetProperty**.
``` ```
Apache License Version 2.0 Apache License Version 2.0
Copyright (C) 2019-2023 HighCapable Copyright (C) 2019 HighCapable
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with 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. limitations under the License.
``` ```
Copyright © 2019-2023 HighCapable Copyright © 2019 HighCapable

View File

@@ -3,4 +3,5 @@ plugins {
autowire(libs.plugins.kotlin.jvm) apply false autowire(libs.plugins.kotlin.jvm) apply false
autowire(libs.plugins.kotlin.android) apply false autowire(libs.plugins.kotlin.android) apply false
autowire(libs.plugins.jetbrains.compose) apply false autowire(libs.plugins.jetbrains.compose) apply false
autowire(libs.plugins.compose.compiler) apply false
} }

View File

@@ -3,10 +3,10 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"devDependencies": { "devDependencies": {
"@mr-hope/vuepress-plugin-copy-code": "^1.30.0", "@mr-hope/vuepress-plugin-copy-code": "^1.30.0",
"@vuepress/plugin-prismjs": "2.0.0-beta.67", "@vuepress/plugin-prismjs": "2.0.0-rc.0",
"@vuepress/plugin-search": "2.0.0-beta.67", "@vuepress/plugin-search": "2.0.0-rc.0",
"@vuepress/plugin-shiki": "2.0.0-beta.67", "@vuepress/plugin-shiki": "2.0.0-rc.0",
"vuepress": "2.0.0-beta.67" "vuepress": "2.0.0-rc.0"
}, },
"scripts": { "scripts": {
"docs:dev": "vuepress dev src", "docs:dev": "vuepress dev src",

View 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()
})
}
})

View 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!&nbsp
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>

View File

@@ -1,4 +1,4 @@
# About this Document # About This Document
> This document is powered by [VuePress](https://v2.vuepress.vuejs.org/en). > This document is powered by [VuePress](https://v2.vuepress.vuejs.org/en).
@@ -9,7 +9,7 @@
```:no-line-numbers ```:no-line-numbers
Apache License Version 2.0 Apache License Version 2.0
Copyright (C) 2019-2023 HighCapable Copyright (C) 2019 HighCapable
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with 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. limitations under the License.
``` ```
Copyright © 2019-2023 HighCapable Copyright © 2019 HighCapable

View File

@@ -18,6 +18,7 @@ Time zone of version release date: **UTC+8**
### 1.0.3 | 2023.10.07 &ensp;<Badge type="tip" text="latest" vertical="middle" /> ### 1.0.3 | 2023.10.07 &ensp;<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) - 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) - 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` - Fixed [fix get interfaces of class](https://github.com/HighCapable/YukiHookAPI/pull/38) issue and merged into `YukiReflection`

View File

@@ -2,7 +2,10 @@
> If you have any questions in use, or have any constructive suggestions, you can contact us. > 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). Find me on **Twitter** [@fankesyooni](https://twitter.com/fankesyooni).

View File

@@ -101,4 +101,119 @@ MyClass().also {
The above functions may change after the actual release, and the functions of the actual version shall prevail. 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.
::: :::

View File

@@ -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. 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. 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`. Add repositories in your project `build.gradle.kts` or `build.gradle`.

View File

@@ -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. 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 - 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. 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 ### Bring it on! Let reflection become poetic and picturesque

View File

@@ -13,5 +13,5 @@ actions:
- text: 简体中文 - text: 简体中文
link: /zh-cn/ link: /zh-cn/
type: secondary type: secondary
footer: Apache-2.0 License | Copyright (C) 2019-2023 HighCapable footer: Apache-2.0 License | Copyright (C) 2019 HighCapable
--- ---

View File

@@ -2,14 +2,14 @@
> 此文档由 [VuePress](https://v2.vuepress.vuejs.org/zh) 强力驱动。 > 此文档由 [VuePress](https://v2.vuepress.vuejs.org/zh) 强力驱动。
## License ## 许可证
[Apache-2.0](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE) [Apache-2.0](https://github.com/HighCapable/YukiReflection/blob/master/LICENSE)
```:no-line-numbers ```:no-line-numbers
Apache License Version 2.0 Apache License Version 2.0
Copyright (C) 2019-2023 HighCapable Copyright (C) 2019 HighCapable
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with 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. limitations under the License.
``` ```
版权所有 © 2019-2023 HighCapable 版权所有 © 2019 HighCapable

View File

@@ -10,6 +10,7 @@
### 1.0.3 | 2023.10.07 &ensp;<Badge type="tip" text="最新" vertical="middle" /> ### 1.0.3 | 2023.10.07 &ensp;<Badge type="tip" text="最新" vertical="middle" />
- 许可协议由 `MIT` 变更为 `Apache-2.0`,在此之后的版本将由此许可协议进行分发,您在使用此版本后应变更相关许可协议
- 将依赖库的类型由 **Android Library** (aar) 修改回 **Java Library** (jar) - 将依赖库的类型由 **Android Library** (aar) 修改回 **Java Library** (jar)
- 适配并支持原生 Java 平台 (部分功能仅限 Android 平台) - 适配并支持原生 Java 平台 (部分功能仅限 Android 平台)
- 修复 [fix get interfaces of class](https://github.com/HighCapable/YukiHookAPI/pull/38) 问题并合并到 `YukiReflection` - 修复 [fix get interfaces of class](https://github.com/HighCapable/YukiHookAPI/pull/38) 问题并合并到 `YukiReflection`

View File

@@ -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)。 **酷安** 找到我 [@星夜不荟](http://www.coolapk.com/u/876977)。

View File

@@ -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
以上功能可能会在实际推出后有所变化,最终以实际版本的功能为准。
::: :::

View File

@@ -28,7 +28,7 @@
我们推荐使用 Kotlin DSL 作为 Gradle 构建脚本语言并推荐使用 [SweetDependency](https://github.com/HighCapable/SweetDependency) 来管理依赖。 我们推荐使用 Kotlin DSL 作为 Gradle 构建脚本语言并推荐使用 [SweetDependency](https://github.com/HighCapable/SweetDependency) 来管理依赖。
#### SweetDependency 方式 #### SweetDependency (推荐)
在你的项目 `SweetDependency` 配置文件中添加存储库和依赖。 在你的项目 `SweetDependency` 配置文件中添加存储库和依赖。
@@ -59,7 +59,7 @@ dependencies {
} }
``` ```
#### 传统方式 (不推荐) #### 传统方式
在你的项目 `build.gradle.kts``build.gradle` 中添加存储库。 在你的项目 `build.gradle.kts``build.gradle` 中添加存储库。

View File

@@ -16,7 +16,7 @@ features:
details: 不仅仅是 Android 平台,它与 Java API 高度兼容,可使用在任何 Kotlin on JVM 的项目上,有 Java 的地方就可以使用。 details: 不仅仅是 Android 平台,它与 Java API 高度兼容,可使用在任何 Kotlin on JVM 的项目上,有 Java 的地方就可以使用。
- title: 快速上手 - title: 快速上手
details: 简单易用,不需要繁琐的配置,不需要十足的开发经验,搭建环境集成依赖即可立即开始使用。 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

View File

@@ -6,24 +6,31 @@ kotlin.code.style=official
kotlin.incremental.useClasspathSnapshot=true kotlin.incremental.useClasspathSnapshot=true
# Project Configuration # Project Configuration
project.name=YukiReflection project.name=YukiReflection
project.description=An efficient Reflection API for Java and Android built in Kotlin.
project.url=https://github.com/HighCapable/YukiReflection project.url=https://github.com/HighCapable/YukiReflection
project.groupName=com.highcapable.yukireflection project.groupName=com.highcapable.yukireflection
project.yukireflection-core.moduleName=api project.yukireflection-core.moduleName=api
project.yukireflection-core.version="1.0.3" project.yukireflection-core.version="1.0.3"
project.licence.name=Apache License 2.0 project.android.compileSdk=35
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.minSdk=21 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.packageName=${project.groupName}.demo_app
project.samples-demo-android.versionName=universal project.samples-demo-android.versionName=universal
project.samples-demo-android.versionCode=1 project.samples-demo-android.versionCode=1
project.samples-demo-jvm.groupName=${project.groupName}.demo_jvm project.samples-demo-jvm.groupName=${project.groupName}.demo_jvm
# Maven Publish Configuration # Maven Publish Configuration
maven.publish.scm.connection=scm:git:git://github.com/HighCapable/YukiReflection.git SONATYPE_HOST=S01
maven.publish.scm.developerConnection=scm:git:ssh://github.com/HighCapable/YukiReflection.git RELEASE_SIGNING_ENABLED=true
maven.publish.scm.url=https://github.com/HighCapable/YukiReflection # 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

View File

@@ -11,24 +11,27 @@ repositories:
plugins: plugins:
org.jetbrains.kotlin.jvm: org.jetbrains.kotlin.jvm:
alias: kotlin-jvm alias: kotlin-jvm
version: 1.9.10 version: 2.1.10
org.jetbrains.kotlin.android: org.jetbrains.kotlin.android:
alias: kotlin-android alias: kotlin-android
version-ref: kotlin-jvm version-ref: kotlin-jvm
org.jetbrains.compose: org.jetbrains.compose:
alias: 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: com.android.application:
alias: android-application alias: android-application
version: 8.1.1 version: 8.9.0
com.vanniktech.maven.publish: com.vanniktech.maven.publish:
alias: maven-publish alias: maven-publish
version: 0.25.3 version: 0.31.0
libraries: libraries:
androidx.compose: androidx.compose:
compose-bom: compose-bom:
version: 2023.09.02 version: 2025.03.00
androidx.compose.foundation: androidx.compose.foundation:
foundation: foundation:
version: <no-spec> version: <no-spec>
@@ -40,22 +43,22 @@ libraries:
version: <no-spec> version: <no-spec>
androidx.activity: androidx.activity:
activity-compose: activity-compose:
version: 1.7.2 version: 1.10.1
androidx.core: androidx.core:
core-ktx: core-ktx:
version: 1.10.0 version: 1.15.0
androidx.appcompat: androidx.appcompat:
appcompat: appcompat:
version: 1.6.1 version: 1.7.0
com.google.android.material: com.google.android.material:
material: material:
version: 1.8.0 version: 1.12.0
androidx.test.ext: androidx.test.ext:
junit: junit:
version: 1.1.5 version: 1.2.1
androidx.test.espresso: androidx.test.espresso:
espresso-core: espresso-core:
version: 3.5.1 version: 3.6.1
junit: junit:
junit: junit:
version: 4.13.2 version: 4.13.2

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME 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 distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

1
samples/.gitignore vendored
View File

@@ -1 +0,0 @@
/build

View File

@@ -1 +0,0 @@
/build

View File

@@ -1,6 +1,7 @@
plugins { plugins {
autowire(libs.plugins.android.application) autowire(libs.plugins.android.application)
autowire(libs.plugins.kotlin.android) autowire(libs.plugins.kotlin.android)
autowire(libs.plugins.compose.compiler)
} }
android { android {

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1 +0,0 @@
/build

View File

@@ -1,6 +1,7 @@
plugins { plugins {
autowire(libs.plugins.kotlin.jvm) autowire(libs.plugins.kotlin.jvm)
autowire(libs.plugins.jetbrains.compose) autowire(libs.plugins.jetbrains.compose)
autowire(libs.plugins.compose.compiler)
} }
group = property.project.samples.demo.jvm.groupName group = property.project.samples.demo.jvm.groupName
@@ -10,6 +11,10 @@ java {
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17
} }
kotlin {
jvmToolchain(17)
}
compose.desktop { compose.desktop {
application { application {
mainClass = "$group.MainKt" mainClass = "$group.MainKt"

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -7,8 +7,8 @@ pluginManagement {
} }
} }
plugins { plugins {
id("com.highcapable.sweetdependency") version "1.0.2" id("com.highcapable.sweetdependency") version "1.0.4"
id("com.highcapable.sweetproperty") version "1.0.3" id("com.highcapable.sweetproperty") version "1.0.5"
} }
sweetProperty { sweetProperty {
global { global {

View File

@@ -1 +0,0 @@
/build

View File

@@ -4,15 +4,16 @@ plugins {
} }
group = property.project.groupName group = property.project.groupName
version = property.project.yukireflection.core.version
java { java {
sourceCompatibility = JavaVersion.VERSION_17 sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17
} }
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach { kotlin {
kotlinOptions { jvmToolchain(17)
jvmTarget = "17" compilerOptions {
freeCompilerArgs = listOf( freeCompilerArgs = listOf(
"-Xno-param-assertions", "-Xno-param-assertions",
"-Xno-call-assertions", "-Xno-call-assertions",
@@ -26,31 +27,9 @@ dependencies {
} }
mavenPublishing { mavenPublishing {
coordinates(property.project.groupName, property.project.yukireflection.core.moduleName, property.project.yukireflection.core.version) coordinates(
pom { groupId = group.toString(),
name = property.project.name artifactId = property.project.yukireflection.core.moduleName,
description = property.project.description version = version.toString()
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()
} }

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* YukiReflection - An efficient Reflection API for Java and Android built in Kotlin. * 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 * https://github.com/HighCapable/YukiReflection
* *
* Apache License Version 2.0 * Apache License Version 2.0