50 Commits

Author SHA1 Message Date
16f8422424 chore: bump gradle to 8.14.3 2025-08-19 14:05:40 +08:00
df85b8b8eb chore: bump dependencies 2025-08-19 14:05:35 +08:00
b4b3511c16 refactor: some tweaks in GradleProjectFactory 2025-08-19 14:05:26 +08:00
040f619413 docs: mark a fixme when support gradle 9.0.0 after in LibraryDependencyWrapper 2025-08-19 14:05:11 +08:00
46786f765b refactor: change update checking url in PluginUpdateHelper 2025-08-19 13:26:59 +08:00
47055fd724 docs: update README 2025-06-24 15:35:41 +08:00
1292f727dc chore: update project files 2025-06-24 15:33:50 +08:00
bfb97905cc chore: bump dependencies 2025-03-17 01:15:32 +08:00
fd44cdff0f chore: bump gradle to 8.13 2025-03-17 01:15:29 +08:00
cd984201dc chore: update project files 2025-03-17 01:15:24 +08:00
967e24889d chore: update .gitignore 2025-03-17 01:15:20 +08:00
12ff773c54 chore: update .editorconfig 2025-03-17 01:15:12 +08:00
5b353269ab docs: update license 2025-01-13 10:39:04 +08:00
a317610884 chore: update project files 2025-01-13 10:39:00 +08:00
36cc89a0ea chore: bump dependencies 2024-11-10 19:36:10 +08:00
38a93760b7 chore: bump gradle to 8.10.2 2024-11-10 19:36:07 +08:00
2cbf00e997 chore: update .editorconfig 2024-06-21 10:19:30 +08:00
b93bca20dd chore: update project files 2024-06-21 10:19:26 +08:00
2c58843942 chore: bump dependencies 2024-06-20 13:02:56 +08:00
e24fe8d9cb chore: bump gradle to 8.7 2024-06-20 13:02:53 +08:00
7635ded918 chore: update .editorconfig 2024-06-20 13:02:48 +08:00
8528873fad fix: wrong gradle version check in SweetDependencyExtensionImpl 2024-02-20 10:27:58 +08:00
e6286d4fd0 chore: bump dependencies 2024-02-20 10:07:44 +08:00
eb5aeb4449 chore: bump gradle to 8.6 2024-02-20 10:07:37 +08:00
258f559a9c chore: update .editorconfig 2024-01-13 21:33:17 +08:00
69da68e1e2 docs: update contacts 2024-01-02 03:31:56 +08:00
6cc079bcb1 docs: update copyright date to 2024 for all existing files 2024-01-01 01:46:00 +08:00
005c1b173f chore: update project files 2024-01-01 01:45:57 +08:00
982e574e35 style: merge to new ktlint version & rules 2023-12-29 21:29:45 +08:00
4452afa408 chore: add included properties for build 2023-12-29 21:17:53 +08:00
4e01ddacc3 chore: specify project name in properties 2023-12-28 23:27:45 +08:00
0ea6807231 chore: update .gitignore 2023-12-28 22:29:05 +08:00
6834ea84da chore: merge and update to java 21 2023-12-28 21:30:22 +08:00
72d6263eaf chore: bump gradle to 8.5 2023-12-28 21:30:04 +08:00
47a59ae8c7 chore: merge to new maven publish way 2023-12-28 21:02:01 +08:00
c6d6de94d6 chore: update project files 2023-12-28 20:56:47 +08:00
a0279171d2 chore: bump dependencies 2023-12-28 20:56:43 +08:00
e5229e8cb0 docs: use relative link 2023-12-11 02:25:24 +08:00
bce37d80bf chore: update project files 2023-12-11 02:25:22 +08:00
12713006a5 feat: add dependency versions 2023-12-11 01:02:37 +08:00
845cc2c6d7 docs: update README-zh-CN 2023-12-11 01:01:32 +08:00
c525a720f2 docs: update promotion 2023-11-18 18:19:12 +08:00
10e3915197 Bump version to 1.0.4 2023-11-14 00:32:47 +08:00
70aa40a5b1 docs: update guide 2023-11-14 00:22:52 +08:00
86e06bab69 feat: add dependencies autowire debug info 2023-11-14 00:22:46 +08:00
f0331ffee7 feat: update runtime debug info 2023-11-13 23:15:02 +08:00
6ff5801cb7 docs: update guide 2023-11-13 22:52:15 +08:00
d697a59c26 feat: add enable or disable dependencyResolutionManagement function 2023-11-13 22:52:07 +08:00
d896554421 chore: bump "com.highcapable.sweetproperty" version to 1.0.5 2023-11-08 15:06:07 +08:00
68dfdbf648 chore: update samples 2023-11-04 03:00:35 +08:00
103 changed files with 468 additions and 379 deletions

View File

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

117
.gitignore vendored
View File

@@ -1,13 +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
/.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
.cxx
# Gradle projects
.gradle
build/
# Mkdocs temporary serving folder
docs-gen
site
*.bak
.idea/appInsightsSettings.xml
# Mac OS
.DS_Store

10
.idea/.gitignore generated vendored
View File

@@ -1,10 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
/gradle.xml
/misc.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

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>

12
.idea/compiler.xml generated
View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17">
<module name="SweetDependency.buildSrc" target="17" />
<module name="SweetDependency.buildSrc.main" target="17" />
<module name="SweetDependency.buildSrc.test" target="17" />
<module name="SweetDependency.main" target="17" />
<module name="SweetDependency.test" target="17" />
</bytecodeTargetLevel>
</component>
</project>

View File

@@ -1,6 +1,7 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="CheckImageSize" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="GrazieInspection" enabled="false" level="GRAMMAR_ERROR" enabled_by_default="false" />
<inspection_tool class="HttpUrlsUsage" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
</component>
</project>

2
.idea/kotlinc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.20" />
<option name="version" value="2.2.10" />
</component>
</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>

6
.idea/markdown.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MarkdownSettings">
<option name="showProblemsInCodeBlocks" value="false" />
</component>
</project>

124
.idea/uiDesigner.xml generated
View File

@@ -1,124 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

View File

@@ -1,14 +1,15 @@
# Sweet Dependency
[![GitHub license](https://img.shields.io/github/license/HighCapable/SweetDependency?color=blue)](https://github.com/HighCapable/SweetDependency/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/SweetDependency?display_name=release&logo=github&color=green)](https://github.com/HighCapable/SweetDependency/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram)](https://t.me/HighCapable_Dev)
[![GitHub license](https://img.shields.io/github/license/HighCapable/SweetDependency?color=blue&style=flat-square)](https://github.com/HighCapable/SweetDependency/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/SweetDependency?display_name=release&logo=github&color=green&style=flat-square)](https://github.com/HighCapable/SweetDependency/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/HighCapable_Dev)
[![QQ](https://img.shields.io/badge/discussion-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/SweetDependency/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"/>
一个轻松自动装配和管理依赖的 Gradle 插件。
[English](https://github.com/HighCapable/SweetDependency/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) |
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
@@ -57,11 +58,11 @@
## 开始使用
- [点击这里](https://github.com/HighCapable/SweetDependency/blob/master/docs/guide-zh-CN.md) 查看使用文档
- [点击这里](docs/guide-zh-CN.md) 查看使用文档
## 更新日志
- [点击这里](https://github.com/HighCapable/SweetDependency/blob/master/docs/changelog-zh-CN.md) 查看历史更新日志
- [点击这里](docs/changelog-zh-CN.md) 查看历史更新日志
## 项目推广
@@ -69,11 +70,14 @@
本项目同样使用了 **SweetProperty**
## 捐赠支持
工作不易,无意外情况此项目将继续维护下去,提供更多可能,欢迎打赏。
<img src="https://github.com/fankes/fankes/blob/main/img-src/payment_code.jpg?raw=true" width = "500" alt="Payment Code"/>
<!--suppress HtmlDeprecatedAttribute -->
<div align="center">
<h2>嘿,还请君留步!👋</h2>
<h3>这里有 Android 开发工具、UI 设计、Gradle 插件、Xposed 模块和实用软件等相关项目。</h3>
<h3>如果下方的项目能为你提供帮助,不妨为我点个 star 吧!</h3>
<h3>所有项目免费、开源,遵循对应开源许可协议。</h3>
<h1><a href="https://github.com/fankes/fankes/blob/main/project-promote/README-zh-CN.md">→ 查看更多关于我的项目,请点击这里 ←</a></h1>
</div>
## Star History
@@ -86,7 +90,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.
@@ -101,4 +105,4 @@ See the License for the specific language governing permissions and
limitations under the License.
```
版权所有 © 2019-2023 HighCapable
版权所有 © 2019 HighCapable

View File

@@ -1,14 +1,15 @@
# Sweet Dependency
[![GitHub license](https://img.shields.io/github/license/HighCapable/SweetDependency?color=blue)](https://github.com/HighCapable/SweetDependency/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/SweetDependency?display_name=release&logo=github&color=green)](https://github.com/HighCapable/SweetDependency/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram)](https://t.me/HighCapable_Dev)
[![GitHub license](https://img.shields.io/github/license/HighCapable/SweetDependency?color=blue&style=flat-square)](https://github.com/HighCapable/SweetDependency/blob/master/LICENSE)
[![GitHub release](https://img.shields.io/github/v/release/HighCapable/SweetDependency?display_name=release&logo=github&color=green&style=flat-square)](https://github.com/HighCapable/SweetDependency/releases)
[![Telegram](https://img.shields.io/badge/discussion-Telegram-blue.svg?logo=telegram&style=flat-square)](https://t.me/HighCapable_Dev)
[![QQ](https://img.shields.io/badge/discussion-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/SweetDependency/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 easy autowire and manage dependencies Gradle plugin.
English | [简体中文](https://github.com/HighCapable/SweetDependency/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) |
|-------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|
@@ -59,11 +60,11 @@ Some functions will be gradually improved following the needs of users.
## Get Started
- [Click here](https://github.com/HighCapable/SweetDependency/blob/master/docs/guide.md) to view the documentation
- [Click here](docs/guide.md) to view the documentation
## Changelog
- [Click here](https://github.com/HighCapable/SweetDependency/blob/master/docs/changelog.md) to view the historical changelog
- [Click here](docs/changelog.md) to view the historical changelog
## Promotion
@@ -72,6 +73,15 @@ you can check out the [SweetProperty](https://github.com/HighCapable/SweetProper
This project also uses **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
![Star History Chart](https://api.star-history.com/svg?repos=HighCapable/SweetDependency&type=Date)
@@ -83,7 +93,7 @@ This project also uses **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.
@@ -98,4 +108,4 @@ See the License for the specific language governing permissions and
limitations under the License.
```
Copyright © 2019-2023 HighCapable
Copyright © 2019 HighCapable

View File

@@ -1,16 +1,4 @@
plugins {
autowire(libs.plugins.kotlin.jvm) apply false
}
allprojects {
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = listOf(
"-Xno-param-assertions",
"-Xno-call-assertions",
"-Xno-receiver-assertions"
)
}
}
autowire(libs.plugins.maven.publish) apply false
}

View File

@@ -26,4 +26,10 @@
- 修复从 `1.0.0` 版本开始的一个本插件与 `Kotlin` 插件的 `Class` 冲突问题
- 更换 Kotlin Multiplatform 中的配置依赖 `autowire(...)` 写法为 `sweet.autowire(...)`
- 生成的代码使用 `@Nonnull` 标记以使其能够在 Kotlin DSL 脚本中识别为非空返回值类型
- 一些其它功能性的改进
## 1.0.4 | 2023.11.14
- 新增 `isUseDependencyResolutionManagement` 选项,默认启用,现在你可以选择是否允许插件使用 `dependencyResolutionManagement` 配置库依赖
- 新增 `isDebug` 选项,默认不启用,你可以启用此选项来在自动装配时输出详细的依赖搜索信息
- 一些其它功能性的改进

View File

@@ -29,4 +29,11 @@
- Fix a `Class` conflict between this plugin and the `Kotlin` plugin starting from `1.0.0` version
- Change the configuration dependency `autowire(...)` in Kotlin Multiplatform to `sweet.autowire(...)`
- Generated code is marked with `@Nonnull` to make it recognized as a non-null return type in Kotlin DSL scripts
- Some other functional improvements
## 1.0.4 | 2023.11.14
- Added `isUseDependencyResolutionManagement` option, enabled by default, now you can choose whether to allow plugins to
use `dependencyResolutionManagement` to configure library dependencies
- Added `isDebug` option, not enabled by default, you can enable this option to output detailed dependency search information during autowiring
- Some other functional improvements

View File

@@ -31,6 +31,9 @@
如果你的项目依然在使用 `buildscript` 的方式进行管理,请迁移到新方式,否则会发生错误。
如果你的项目不能使用 `dependencyResolutionManagement` 进行管理,你可以参考此页面最下方的 [自定义选项](#自定义选项)
通过配置 `isUseDependencyResolutionManagement = false` 来使用传统的库依赖管理方式。
## 快速开始
首先,打开你根项目的 `settings.gradle``settings.gradle.kts`
@@ -1146,9 +1149,18 @@ sweetDependency {
// 启用 SweetDependency设置为 false 将禁用所有功能
isEnable = true
// 是否启用调试模式
// 默认不启用,启用后将在自动装配时输出详细的依赖搜索信息
isDebug = false
// SweetDependency 配置文件名称
configFileName = "sweet-dependency-config.yaml"
// 是否使用 Settings.dependencyResolutionManagement 管理库依赖
// 此功能默认启用,如果你的项目必须存在自定义的 "repositories" 方法块,请关闭此功能
// 注意:关闭后配置文件中的 "repositories-mode" 选项将不再有效
isUseDependencyResolutionManagement = true
// 是否启用依赖自动装配日志
// 此功能默认启用,会在当前根项目 (Root Project) 的 ".gradle/sweet-dependency" 目录下创建日志文件
isEnableDependenciesAutowireLog = true
@@ -1164,7 +1176,9 @@ sweetDependency {
```groovy
sweetDependency {
enable true
debug false
configFileName 'sweet-dependency-config.yaml'
useDependencyResolutionManagement true
enableDependenciesAutowireLog true
enableVerboseMode true
}

View File

@@ -32,6 +32,10 @@ Note that `SweetDependency` supports at least Gradle `7.x.x` and is managed usin
If your project is still managed using the `buildscript` method, please migrate to the new method, otherwise errors will occur.
If your project cannot be managed using `dependencyResolutionManagement`, you can refer to the [Custom Preferences](#custom-preferences)
at the bottom of this page,
use traditional library dependency management by configuring `isUseDependencyResolutionManagement = false`.
## Quick Start
First, open `settings.gradle` or `settings.gradle.kts` of your root project.
@@ -1216,9 +1220,20 @@ sweetDependency {
// Enable SweetDependency, set to false will disable all functions
isEnable = true
// Whether to enable debug mode
// Not enabled by default,
// if enabled, detailed dependencies search information will be output during autowiring
isDebug = false
// SweetDependency configuration file name
configFileName = "sweet-dependency-config.yaml"
// Whether to use Settings.dependencyResolutionManagement to manage library dependencies
// This function is enabled by default,
// if your project must have a custom "repositories" method block, please disable this function
// Note: The "repositories-mode" option in the configuration file will no longer be effective after disabled
isUseDependencyResolutionManagement = true
// Whether to enable dependency autowiring logging
// This function is enabled by default and will create a log file in the ".gradle/sweet-dependency" directory of the current root project
isEnableDependenciesAutowireLog = true
@@ -1235,7 +1250,9 @@ sweetDependency {
```groovy
sweetDependency {
enable true
debug false
configFileName 'sweet-dependency-config.yaml'
useDependencyResolutionManagement true
enableDependenciesAutowireLog true
enableVerboseMode true
}

View File

@@ -1,19 +1,27 @@
# Project Configuration
project.name=SweetDependency
project.description=An easy autowire and manage dependencies Gradle plugin.
project.url=https://github.com/HighCapable/SweetDependency
project.groupName=com.highcapable.sweetdependency
project.moduleName=sweet-dependency
project.version=1.0.3
project.licence.name=Apache License 2.0
project.licence.url=https://github.com/HighCapable/SweetDependency/blob/master/LICENSE
project.developer.id="0"
project.developer.name=fankes
project.developer.email=qzmmcn@163.com
project.version=1.0.4
# Gradle Plugin Configuration
gradle.plugin.moduleName=${project.groupName}.gradle.plugin
gradle.plugin.implementationClass=${project.groupName}.plugin.SweetDependencyPlugin
# Maven Publish Configuration
maven.publish.scm.connection=scm:git:git://github.com/HighCapable/SweetDependency.git
maven.publish.scm.developerConnection=scm:git:ssh://github.com/HighCapable/SweetDependency.git
maven.publish.scm.url=https://github.com/HighCapable/SweetDependency
SONATYPE_HOST=S01
RELEASE_SIGNING_ENABLED=true
# Maven POM Configuration
POM_NAME=SweetDependency
POM_ARTIFACT_ID=sweet-dependency
POM_DESCRIPTION=An easy autowire and manage dependencies Gradle plugin.
POM_URL=https://github.com/HighCapable/SweetDependency
POM_LICENSE_NAME=Apache License 2.0
POM_LICENSE_URL=https://github.com/HighCapable/SweetDependency/blob/master/LICENSE
POM_LICENSE_DIST=repo
POM_SCM_URL=https://github.com/HighCapable/SweetDependency
POM_SCM_CONNECTION=scm:git:git://github.com/HighCapable/SweetDependency.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://github.com/HighCapable/SweetDependency.git
POM_DEVELOPER_ID=0
POM_DEVELOPER_NAME=fankes
POM_DEVELOPER_EMAIL=qzmmcn@163.com
POM_DEVELOPER_URL=https://github.com/fankes

View File

@@ -12,24 +12,24 @@ repositories:
plugins:
org.jetbrains.kotlin.jvm:
alias: kotlin-jvm
version: 1.9.20
version: 2.2.10
org.jetbrains.kotlin.plugin.serialization:
alias: kotlin-serialization
version-ref: kotlin-jvm
com.vanniktech.maven.publish:
alias: maven-publish
version: 0.25.3
version: 0.34.0
libraries:
org.snakeyaml:
snakeyaml-engine:
version: 2.7
version: 2.10
com.charleskorn.kaml:
kaml:
version: 0.55.0
version: 0.92.0
com.squareup.okhttp3:
okhttp:
version: 4.12.0
version: 5.1.0
com.squareup:
javapoet:
version: 1.13.0

View File

@@ -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.14.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

View File

@@ -8,7 +8,7 @@ pluginManagement {
plugins {
// Import the SweetDependency plugin here
// 在这里引入 SweetDependency 插件
id("com.highcapable.sweetdependency") version "1.0.2"
id("com.highcapable.sweetdependency") version "1.0.4"
}
sweetDependency {
configFileName = "sweet-dependency-config.yaml"

View File

@@ -8,7 +8,7 @@ pluginManagement {
plugins {
// Import the SweetDependency plugin here
// 在这里引入 SweetDependency 插件
id("com.highcapable.sweetdependency") version "1.0.2"
id("com.highcapable.sweetdependency") version "1.0.4"
}
sweetDependency {
configFileName = "sweet-dependency-config.yaml"

View File

@@ -7,8 +7,8 @@ pluginManagement {
}
}
plugins {
id("com.highcapable.sweetdependency") version "1.0.3"
id("com.highcapable.sweetproperty") version "1.0.4"
id("com.highcapable.sweetdependency") version "1.0.4"
id("com.highcapable.sweetproperty") version "1.0.8"
}
sweetDependency {
isEnableVerboseMode = false
@@ -17,6 +17,10 @@ sweetProperty {
global {
sourcesCode {
className = rootProject.name
includeKeys(
"^project\\..*\$".toRegex(),
"^gradle\\..*\$".toRegex()
)
isEnableRestrictedAccess = true
}
}

View File

@@ -1,2 +0,0 @@
.gradle
build/

View File

@@ -5,20 +5,25 @@ plugins {
autowire(libs.plugins.maven.publish)
}
allprojects {
group = property.project.groupName
version = property.project.version
}
group = property.project.groupName
version = property.project.version
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
withSourcesJar()
}
kotlin {
jvmToolchain(17)
jvmToolchain(21)
sourceSets.all { languageSettings { languageVersion = "2.0" } }
compilerOptions {
freeCompilerArgs = listOf(
"-Xno-param-assertions",
"-Xno-call-assertions",
"-Xno-receiver-assertions"
)
}
}
dependencies {
@@ -36,34 +41,4 @@ gradlePlugin {
implementationClass = property.gradle.plugin.implementationClass
}
}
}
mavenPublishing {
coordinates(property.project.groupName, property.project.moduleName, property.project.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()
}

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -144,7 +144,7 @@ internal fun Project.waitForPluginAdded(id: String, action: (Plugin<*>) -> Unit)
*/
internal inline fun <reified T : BaseTask> Project.createTask(group: String, name: String) = runCatching {
T::class.java.getConstructor().newInstance().also { instance ->
task(name) {
tasks.register(name) {
this.group = group
outputs.upToDateWhen { false }
doFirst { instance.onTransaction() }

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -68,6 +68,7 @@ internal data class LibraryDependencyWrapper internal constructor(private val in
* - [type] 需要为 [LibraryDependencyType.PROJECT] 否则始终为 null
* @return [Project] or null
*/
// FIXME: https://stackoverflow.com/questions/79619019/how-replace-deprecated-getdependencyproject-in-a-backwards-compatible-way
val project get() = runCatching { (instance as? ProjectDependency?)?.dependencyProject }.getOrNull()
/**

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -253,7 +253,19 @@ internal object DependencyManager {
forEachIndexed { index, entry ->
val currentVersionFilterExclusionList = versionFilterExclusionList.depends(currentVersion)
val availableVersions = mutableListOf<DependencyVersion>()
poms.add(MavenParser.acquire(dependencyName, entry, currentVersion))
poms.add(MavenParser.acquire(dependencyName, entry, currentVersion).also {
if (!SweetDependencyConfigs.configs.isDebug) return@also
val isNotFound = it.versions.isEmpty()
logDoneOrWarn("$positionTagName > OBTAIN (${index + 1}/$size) ${dependencyName.description}", isNotFound)
logDoneOrWarn(
"""
- Repository (${entry.nodeName}): ${it.url}
- Last Updated: ${it.lastUpdated}
- Versions: ${it.versions}
- Adopted Versions: ${currentVersionFilterExclusionList.filter(it.versions)}
""".trimIndent(), isNotFound, noTag = true
)
})
if (index == lastIndex) poms.noEmpty()
?.sortedByDescending { it.lastUpdated }
?.let { if (it.all { e -> e.lastUpdated <= 0L }) it.sortedByDescending { e -> e.versions.size } else it }
@@ -333,4 +345,13 @@ internal object DependencyManager {
}
else -> SLog.info("$positionTagName > UP-TO-DATE ${dependencyName.description} version $currentVersion", SLog.DONE)
}
/**
* 打印完成或警告 Log
* @param msg 消息内容
* @param isWarn 是否为警告模式 - 默认否
* @param noTag 无标签 - 默认否
*/
private fun logDoneOrWarn(msg: String, isWarn: Boolean = false, noTag: Boolean = false) =
if (isWarn) SLog.warn(msg, noTag = noTag) else SLog.info(msg, SLog.DONE, noTag = noTag)
}

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -23,6 +23,7 @@ package com.highcapable.sweetdependency.manager
import com.highcapable.sweetdependency.document.PreferencesDocument
import com.highcapable.sweetdependency.document.RepositoryDocument
import com.highcapable.sweetdependency.document.factory.RepositoryList
import com.highcapable.sweetdependency.exception.SweetDependencyUnresolvedException
import com.highcapable.sweetdependency.gradle.helper.GradleHelper
import com.highcapable.sweetdependency.manager.const.AdditionalRepositories
@@ -33,6 +34,7 @@ import com.highcapable.sweetdependency.utils.debug.SLog
import com.highcapable.sweetdependency.utils.noBlank
import com.highcapable.sweetdependency.utils.noEmpty
import com.highcapable.sweetdependency.utils.toFile
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.api.artifacts.repositories.ArtifactRepository
import org.gradle.api.artifacts.repositories.AuthenticationSupported
@@ -46,32 +48,27 @@ import org.gradle.api.initialization.resolve.RepositoriesMode as GradleRepositor
*/
internal object RepositoryManager {
/** 当前存储库数组 */
private var repositories: RepositoryList = mutableListOf()
/**
* 当前是否使用 [Settings.dependencyResolutionManagement] 管理库依赖
* @return [Boolean]
*/
private val isUseDependencyResolutionManagement get() = SweetDependencyConfigs.configs.isUseDependencyResolutionManagement
/**
* 生成并应用存储库数组
* @param settings 当前设置
*/
internal fun generateAndApply(settings: Settings) {
val repositories = SweetDependencyConfigs.document.repositories()
repositories = SweetDependencyConfigs.document.repositories()
Repositories.generate(repositories)
/**
* 应用存储库数组到 Gradle
* @param isPlugins 当前应用类型是否为插件依赖
*/
fun RepositoryHandler.apply(isPlugins: Boolean) = repositories.forEach {
if (it.isIncludeScope(isPlugins)) when (it.nodeType) {
RepositoryDocument.RepositoryType.GOOGLE -> google { applyToArtifact(it) }
RepositoryDocument.RepositoryType.MAVEN_CENTRAL -> mavenCentral { applyToArtifact(it) }
RepositoryDocument.RepositoryType.MAVEN_LOCAL -> mavenLocal { applyToArtifact(it) }
RepositoryDocument.RepositoryType.MAVEN -> maven { applyToArtifact(it) }
RepositoryDocument.RepositoryType.GRADLE_PLUGIN_PORTAL -> gradlePluginPortal { applyToArtifact(it) }
else -> {}
}
}
settings.pluginManagement {
this.repositories.clear()
this.repositories.apply(isPlugins = true)
}
settings.dependencyResolutionManagement {
if (isUseDependencyResolutionManagement) settings.dependencyResolutionManagement {
this.repositoriesMode.set(when (SweetDependencyConfigs.document.preferences().repositoriesMode) {
PreferencesDocument.RepositoriesMode.PREFER_PROJECT -> GradleRepositoriesMode.PREFER_PROJECT
PreferencesDocument.RepositoriesMode.PREFER_SETTINGS -> GradleRepositoriesMode.PREFER_SETTINGS
@@ -82,6 +79,33 @@ internal object RepositoryManager {
}
}
/**
* 应用存储库数组
* @param rootProject 当前根项目
*/
internal fun apply(rootProject: Project) {
if (!isUseDependencyResolutionManagement)
rootProject.allprojects {
this.repositories.clear()
this.repositories.apply(isPlugins = false)
}
}
/**
* 应用存储库数组到 Gradle
* @param isPlugins 当前应用类型是否为插件依赖
*/
private fun RepositoryHandler.apply(isPlugins: Boolean) = repositories.forEach {
if (it.isIncludeScope(isPlugins)) when (it.nodeType) {
RepositoryDocument.RepositoryType.GOOGLE -> google { applyToArtifact(it) }
RepositoryDocument.RepositoryType.MAVEN_CENTRAL -> mavenCentral { applyToArtifact(it) }
RepositoryDocument.RepositoryType.MAVEN_LOCAL -> mavenLocal { applyToArtifact(it) }
RepositoryDocument.RepositoryType.MAVEN -> maven { applyToArtifact(it) }
RepositoryDocument.RepositoryType.GRADLE_PLUGIN_PORTAL -> gradlePluginPortal { applyToArtifact(it) }
else -> {}
}
}
/**
* 应用存储库到 [ArtifactRepository]
* @param document 存储库配置项文档实体

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -57,26 +57,32 @@ internal object MavenParser {
val isIncludeScope = repo.isIncludeScope(dependencyName.type == DependencyName.Type.PLUGIN)
/** 离线模式下不会自动装配、更新在线依赖 */
if (isIncludeScope && GradleHelper.isOfflineMode) return MavenMetadata()
var currentUrl: String
return when {
repo.url.isNotBlank() -> "$headerUrlOrPath$METADATA_FILE_NAME".executeUrlBody(repo.credentials.username, repo.credentials.password)
repo.path.isNotBlank() -> "$headerUrlOrPath$METADATA_LOCAL_FILE_NAME".executeFileBody()
repo.url.isNotBlank() -> "$headerUrlOrPath$METADATA_FILE_NAME"
.apply { currentUrl = this }
.executeUrlBody(repo.credentials.username, repo.credentials.password)
repo.path.isNotBlank() -> "$headerUrlOrPath$METADATA_LOCAL_FILE_NAME"
.apply { currentUrl = this }
.executeFileBody()
else -> SError.make("Could not resolve this repository \"${repo.nodeName}\"")
}.trim().toMetadata(currentVersion)
}.trim().toMetadata(currentUrl, currentVersion)
}
/**
* 解析 [METADATA_FILE_NAME]、[METADATA_LOCAL_FILE_NAME] 内容到 [MavenMetadata] 实体
* @param url 当前依赖获取 URL
* @param currentVersion 当前依赖版本
* @return [MavenMetadata]
*/
private fun String.toMetadata(currentVersion: DependencyVersion) = runCatching {
if (!(contains("<metadata ") || contains("<metadata>")) || !endsWith("</metadata>")) return@runCatching MavenMetadata()
private fun String.toMetadata(url: String, currentVersion: DependencyVersion) = runCatching {
if (!(contains("<metadata ") || contains("<metadata>")) || !endsWith("</metadata>")) return@runCatching MavenMetadata(url)
DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(InputSource(StringReader(this))).let { document ->
val lastUpdated = document.getElementsByTagName("lastUpdated").item(0)?.textContent?.toLongOrNull() ?: 0L
val versionNodeList = document.getElementsByTagName("version")
val versions = mutableListOf<DependencyVersion>()
for (i in 0..versionNodeList.length) versionNodeList.item(i)?.textContent?.also { versions.add(currentVersion.clone(it)) }
MavenMetadata(versions.noEmpty()?.reversed()?.toMutableList() ?: mutableListOf(), lastUpdated)
MavenMetadata(url, versions.noEmpty()?.reversed()?.toMutableList() ?: mutableListOf(), lastUpdated)
}
}.getOrNull() ?: MavenMetadata()
}.getOrNull() ?: MavenMetadata(url)
}

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -25,10 +25,12 @@ import com.highcapable.sweetdependency.gradle.entity.DependencyVersion
/**
* Maven Metadata 实体
* @param url 依赖获取 URL
* @param versions 版本数组
* @param lastUpdated 最后更新时间戳
*/
internal data class MavenMetadata(
internal var url: String = "",
internal var versions: MutableList<DependencyVersion> = mutableListOf(),
internal var lastUpdated: Long = 0L
)

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -83,6 +83,8 @@ internal object RuntimeDebugTransaction {
"Gradle Version" value GradleHelper.version,
"Plugin Version" value SweetDependency.VERSION,
"Plugin Configuration" to mapOf(
"isEnable" value configs.isEnable,
"isDebug" value configs.isDebug,
"configFileName" with "(path) ${configs.configFilePath}" to mapOf(
"preferences" to mapOf(
"autowire-on-sync-mode" value preferences.autowireOnSyncMode,
@@ -103,6 +105,7 @@ internal object RuntimeDebugTransaction {
"plugins" to pluginsMap,
"libraries" to librariesMap
),
"isUseDependencyResolutionManagement" value configs.isUseDependencyResolutionManagement,
"isEnableDependenciesAutowireLog" value configs.isEnableDependenciesAutowireLog,
"isEnableVerboseMode" value configs.isEnableVerboseMode
),

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -22,6 +22,7 @@
package com.highcapable.sweetdependency.plugin.config.proxy
import com.highcapable.sweetdependency.SweetDependency
import org.gradle.api.initialization.Settings
/**
* [SweetDependency] 配置类接口类
@@ -41,9 +42,15 @@ internal interface ISweetDependencyConfigs {
/** 是否启用插件 */
val isEnable: Boolean
/** 是否启用调试模式 */
val isDebug: Boolean
/** [SweetDependency] 的配置文件路径 */
val configFilePath: String
/** 是否使用 [Settings.dependencyResolutionManagement] 管理库依赖 */
val isUseDependencyResolutionManagement: Boolean
/** 是否启用依赖自动装配日志 */
val isEnableDependenciesAutowireLog: Boolean

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -26,6 +26,7 @@ package com.highcapable.sweetdependency.plugin.extension.dsl.configure
import com.highcapable.sweetdependency.SweetDependency
import com.highcapable.sweetdependency.environment.Environment
import com.highcapable.sweetdependency.plugin.config.proxy.ISweetDependencyConfigs
import org.gradle.api.initialization.Settings
/**
* [SweetDependency] 配置方法体实现类
@@ -46,6 +47,14 @@ open class SweetDependencyConfigureExtension internal constructor() {
var isEnable = true
@JvmName("enable") set
/**
* 是否启用调试模式
*
* 默认不启用 - 启用后将在自动装配时输出详细的依赖搜索信息
*/
var isDebug = false
@JvmName("debug") set
/**
* [SweetDependency] 配置文件名称
*
@@ -54,6 +63,16 @@ open class SweetDependencyConfigureExtension internal constructor() {
var configFileName = ISweetDependencyConfigs.DEFAULT_CONFIG_FILE_NAME
@JvmName("configFileName") set
/**
* 是否使用 [Settings.dependencyResolutionManagement] 管理库依赖
*
* 此功能默认启用 - 如果你的项目必须存在自定义的 "repositories" 方法块 - 请关闭此功能
*
* - 注意:关闭后配置文件中的 "repositories-mode" 选项将不再有效
*/
var isUseDependencyResolutionManagement = true
@JvmName("useDependencyResolutionManagement") set
/**
* 是否启用依赖自动装配日志
*
@@ -76,12 +95,16 @@ open class SweetDependencyConfigureExtension internal constructor() {
*/
internal fun build(): ISweetDependencyConfigs {
val currentEnable = isEnable
val currentDebug = isDebug
val currentConfigFilePath = Environment.resourcesDir(configFileName).absolutePath
val currentUseDependencyResolutionManagement = isUseDependencyResolutionManagement
val currentEnableDependenciesAutowireLog = isEnableDependenciesAutowireLog
val currentEnableVerboseMode = isEnableVerboseMode
return object : ISweetDependencyConfigs {
override val isEnable get() = currentEnable
override val isDebug get() = currentDebug
override val configFilePath get() = currentConfigFilePath
override val isUseDependencyResolutionManagement get() = currentUseDependencyResolutionManagement
override val isEnableDependenciesAutowireLog get() = currentEnableDependenciesAutowireLog
override val isEnableVerboseMode get() = currentEnableVerboseMode
}

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -35,8 +35,8 @@ import javax.xml.parsers.DocumentBuilderFactory
*/
internal object PluginUpdateHelper {
/** OSS Release URL 地址 */
private const val SONATYPE_OSS_RELEASES_URL = "https://s01.oss.sonatype.org/content/repositories/releases"
/** Maven Central Release URL 地址 */
private const val SONATYPE_OSS_RELEASES_URL = "https://repo1.maven.org/maven2"
/** 依赖配置文件名 */
private const val METADATA_FILE_NAME = "maven-metadata.xml"

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0
@@ -63,7 +63,7 @@ internal class SweetDependencyExtensionImpl : BaseExtensionImpl() {
""".trimIndent(), noTag = true
)
}
if (GradleHelper.version.let { it.startsWith("7.") || !it.startsWith("8.") }) SError.make(
if (GradleHelper.version.let { !it.startsWith("7.") && !it.startsWith("8.") }) SError.make(
"${SweetDependency.TAG} ${SweetDependency.VERSION} " +
"does not support Gradle ${GradleHelper.version}, please update Gradle or plugin version"
)
@@ -81,8 +81,10 @@ internal class SweetDependencyExtensionImpl : BaseExtensionImpl() {
}
override fun onTransaction(transaction: ProjectTransaction) {
if (transaction.isRoot) DependencyManager.resolve(transaction.current)
transaction.evaluation { project, isRoot -> if (isRoot) DependencyManager.deploy(project) }
if (transaction.isRoot) {
RepositoryManager.apply(transaction.current)
DependencyManager.resolve(transaction.current)
}; transaction.evaluation { project, isRoot -> if (isRoot) DependencyManager.deploy(project) }
}
/**

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable
* Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency
*
* Apache License Version 2.0

Some files were not shown because too many files have changed in this diff Show More