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

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 *.iml
.gradle *.ipr
/.idea/caches
/.idea/libraries # Kotlin
/.idea/modules.xml .kotlin
/.idea/workspace.xml
/.idea/navEditor.xml # Misc
/.idea/assetWizardSettings.xml .idea/misc.xml
.DS_Store
/build # 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 /captures
.externalNativeBuild .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"> <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="GrazieInspection" enabled="false" level="GRAMMAR_ERROR" 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="HttpUrlsUsage" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" 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"?> <?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.20" /> <option name="version" value="2.2.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>

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 # Sweet Dependency
[![GitHub license](https://img.shields.io/github/license/HighCapable/SweetDependency?color=blue)](https://github.com/HighCapable/SweetDependency/blob/master/LICENSE) [![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)](https://github.com/HighCapable/SweetDependency/releases) [![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)](https://t.me/HighCapable_Dev) [![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 插件。 一个轻松自动装配和管理依赖的 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) | | <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** 本项目同样使用了 **SweetProperty**
## 捐赠支持 <!--suppress HtmlDeprecatedAttribute -->
<div align="center">
工作不易,无意外情况此项目将继续维护下去,提供更多可能,欢迎打赏。 <h2>嘿,还请君留步!👋</h2>
<h3>这里有 Android 开发工具、UI 设计、Gradle 插件、Xposed 模块和实用软件等相关项目。</h3>
<img src="https://github.com/fankes/fankes/blob/main/img-src/payment_code.jpg?raw=true" width = "500" alt="Payment Code"/> <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 ## Star History
@@ -86,7 +90,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.
@@ -101,4 +105,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,14 +1,15 @@
# Sweet Dependency # Sweet Dependency
[![GitHub license](https://img.shields.io/github/license/HighCapable/SweetDependency?color=blue)](https://github.com/HighCapable/SweetDependency/blob/master/LICENSE) [![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)](https://github.com/HighCapable/SweetDependency/releases) [![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)](https://t.me/HighCapable_Dev) [![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. 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) | | <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 ## 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 ## 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 ## Promotion
@@ -72,6 +73,15 @@ you can check out the [SweetProperty](https://github.com/HighCapable/SweetProper
This project also uses **SweetProperty**. 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
![Star History Chart](https://api.star-history.com/svg?repos=HighCapable/SweetDependency&type=Date) ![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 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.
@@ -98,4 +108,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

@@ -1,16 +1,4 @@
plugins { plugins {
autowire(libs.plugins.kotlin.jvm) apply false autowire(libs.plugins.kotlin.jvm) apply false
} autowire(libs.plugins.maven.publish) 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"
)
}
}
} }

View File

@@ -26,4 +26,10 @@
- 修复从 `1.0.0` 版本开始的一个本插件与 `Kotlin` 插件的 `Class` 冲突问题 - 修复从 `1.0.0` 版本开始的一个本插件与 `Kotlin` 插件的 `Class` 冲突问题
- 更换 Kotlin Multiplatform 中的配置依赖 `autowire(...)` 写法为 `sweet.autowire(...)` - 更换 Kotlin Multiplatform 中的配置依赖 `autowire(...)` 写法为 `sweet.autowire(...)`
- 生成的代码使用 `@Nonnull` 标记以使其能够在 Kotlin DSL 脚本中识别为非空返回值类型 - 生成的代码使用 `@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 - 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(...)` - 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 - 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 - Some other functional improvements

View File

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

View File

@@ -1,19 +1,27 @@
# Project Configuration # Project Configuration
project.name=SweetDependency project.name=SweetDependency
project.description=An easy autowire and manage dependencies Gradle plugin.
project.url=https://github.com/HighCapable/SweetDependency project.url=https://github.com/HighCapable/SweetDependency
project.groupName=com.highcapable.sweetdependency project.groupName=com.highcapable.sweetdependency
project.moduleName=sweet-dependency project.moduleName=sweet-dependency
project.version=1.0.3 project.version=1.0.4
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
# Gradle Plugin Configuration # Gradle Plugin Configuration
gradle.plugin.moduleName=${project.groupName}.gradle.plugin gradle.plugin.moduleName=${project.groupName}.gradle.plugin
gradle.plugin.implementationClass=${project.groupName}.plugin.SweetDependencyPlugin gradle.plugin.implementationClass=${project.groupName}.plugin.SweetDependencyPlugin
# Maven Publish Configuration # Maven Publish Configuration
maven.publish.scm.connection=scm:git:git://github.com/HighCapable/SweetDependency.git SONATYPE_HOST=S01
maven.publish.scm.developerConnection=scm:git:ssh://github.com/HighCapable/SweetDependency.git RELEASE_SIGNING_ENABLED=true
maven.publish.scm.url=https://github.com/HighCapable/SweetDependency # 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: plugins:
org.jetbrains.kotlin.jvm: org.jetbrains.kotlin.jvm:
alias: kotlin-jvm alias: kotlin-jvm
version: 1.9.20 version: 2.2.10
org.jetbrains.kotlin.plugin.serialization: org.jetbrains.kotlin.plugin.serialization:
alias: kotlin-serialization alias: kotlin-serialization
version-ref: kotlin-jvm version-ref: kotlin-jvm
com.vanniktech.maven.publish: com.vanniktech.maven.publish:
alias: maven-publish alias: maven-publish
version: 0.25.3 version: 0.34.0
libraries: libraries:
org.snakeyaml: org.snakeyaml:
snakeyaml-engine: snakeyaml-engine:
version: 2.7 version: 2.10
com.charleskorn.kaml: com.charleskorn.kaml:
kaml: kaml:
version: 0.55.0 version: 0.92.0
com.squareup.okhttp3: com.squareup.okhttp3:
okhttp: okhttp:
version: 4.12.0 version: 5.1.0
com.squareup: com.squareup:
javapoet: javapoet:
version: 1.13.0 version: 1.13.0

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,20 +5,25 @@ plugins {
autowire(libs.plugins.maven.publish) autowire(libs.plugins.maven.publish)
} }
allprojects { group = property.project.groupName
group = property.project.groupName version = property.project.version
version = property.project.version
}
java { java {
sourceCompatibility = JavaVersion.VERSION_17 sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_21
withSourcesJar() withSourcesJar()
} }
kotlin { kotlin {
jvmToolchain(17) jvmToolchain(21)
sourceSets.all { languageSettings { languageVersion = "2.0" } } sourceSets.all { languageSettings { languageVersion = "2.0" } }
compilerOptions {
freeCompilerArgs = listOf(
"-Xno-param-assertions",
"-Xno-call-assertions",
"-Xno-receiver-assertions"
)
}
} }
dependencies { dependencies {
@@ -36,34 +41,4 @@ gradlePlugin {
implementationClass = property.gradle.plugin.implementationClass 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. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/* /*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * Apache License Version 2.0
@@ -68,6 +68,7 @@ internal data class LibraryDependencyWrapper internal constructor(private val in
* - [type] 需要为 [LibraryDependencyType.PROJECT] 否则始终为 null * - [type] 需要为 [LibraryDependencyType.PROJECT] 否则始终为 null
* @return [Project] or 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() val project get() = runCatching { (instance as? ProjectDependency?)?.dependencyProject }.getOrNull()
/** /**

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/* /*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * Apache License Version 2.0
@@ -253,7 +253,19 @@ internal object DependencyManager {
forEachIndexed { index, entry -> forEachIndexed { index, entry ->
val currentVersionFilterExclusionList = versionFilterExclusionList.depends(currentVersion) val currentVersionFilterExclusionList = versionFilterExclusionList.depends(currentVersion)
val availableVersions = mutableListOf<DependencyVersion>() 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() if (index == lastIndex) poms.noEmpty()
?.sortedByDescending { it.lastUpdated } ?.sortedByDescending { it.lastUpdated }
?.let { if (it.all { e -> e.lastUpdated <= 0L }) it.sortedByDescending { e -> e.versions.size } else it } ?.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) 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. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * Apache License Version 2.0

View File

@@ -1,6 +1,6 @@
/* /*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * 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.PreferencesDocument
import com.highcapable.sweetdependency.document.RepositoryDocument import com.highcapable.sweetdependency.document.RepositoryDocument
import com.highcapable.sweetdependency.document.factory.RepositoryList
import com.highcapable.sweetdependency.exception.SweetDependencyUnresolvedException import com.highcapable.sweetdependency.exception.SweetDependencyUnresolvedException
import com.highcapable.sweetdependency.gradle.helper.GradleHelper import com.highcapable.sweetdependency.gradle.helper.GradleHelper
import com.highcapable.sweetdependency.manager.const.AdditionalRepositories 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.noBlank
import com.highcapable.sweetdependency.utils.noEmpty import com.highcapable.sweetdependency.utils.noEmpty
import com.highcapable.sweetdependency.utils.toFile import com.highcapable.sweetdependency.utils.toFile
import org.gradle.api.Project
import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.api.artifacts.repositories.ArtifactRepository import org.gradle.api.artifacts.repositories.ArtifactRepository
import org.gradle.api.artifacts.repositories.AuthenticationSupported import org.gradle.api.artifacts.repositories.AuthenticationSupported
@@ -46,32 +48,27 @@ import org.gradle.api.initialization.resolve.RepositoriesMode as GradleRepositor
*/ */
internal object RepositoryManager { internal object RepositoryManager {
/** 当前存储库数组 */
private var repositories: RepositoryList = mutableListOf()
/**
* 当前是否使用 [Settings.dependencyResolutionManagement] 管理库依赖
* @return [Boolean]
*/
private val isUseDependencyResolutionManagement get() = SweetDependencyConfigs.configs.isUseDependencyResolutionManagement
/** /**
* 生成并应用存储库数组 * 生成并应用存储库数组
* @param settings 当前设置 * @param settings 当前设置
*/ */
internal fun generateAndApply(settings: Settings) { internal fun generateAndApply(settings: Settings) {
val repositories = SweetDependencyConfigs.document.repositories() repositories = SweetDependencyConfigs.document.repositories()
Repositories.generate(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 { settings.pluginManagement {
this.repositories.clear() this.repositories.clear()
this.repositories.apply(isPlugins = true) this.repositories.apply(isPlugins = true)
} }
settings.dependencyResolutionManagement { if (isUseDependencyResolutionManagement) settings.dependencyResolutionManagement {
this.repositoriesMode.set(when (SweetDependencyConfigs.document.preferences().repositoriesMode) { this.repositoriesMode.set(when (SweetDependencyConfigs.document.preferences().repositoriesMode) {
PreferencesDocument.RepositoriesMode.PREFER_PROJECT -> GradleRepositoriesMode.PREFER_PROJECT PreferencesDocument.RepositoriesMode.PREFER_PROJECT -> GradleRepositoriesMode.PREFER_PROJECT
PreferencesDocument.RepositoriesMode.PREFER_SETTINGS -> GradleRepositoriesMode.PREFER_SETTINGS 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] * 应用存储库到 [ArtifactRepository]
* @param document 存储库配置项文档实体 * @param document 存储库配置项文档实体

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/* /*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * Apache License Version 2.0
@@ -57,26 +57,32 @@ internal object MavenParser {
val isIncludeScope = repo.isIncludeScope(dependencyName.type == DependencyName.Type.PLUGIN) val isIncludeScope = repo.isIncludeScope(dependencyName.type == DependencyName.Type.PLUGIN)
/** 离线模式下不会自动装配、更新在线依赖 */ /** 离线模式下不会自动装配、更新在线依赖 */
if (isIncludeScope && GradleHelper.isOfflineMode) return MavenMetadata() if (isIncludeScope && GradleHelper.isOfflineMode) return MavenMetadata()
var currentUrl: String
return when { return when {
repo.url.isNotBlank() -> "$headerUrlOrPath$METADATA_FILE_NAME".executeUrlBody(repo.credentials.username, repo.credentials.password) repo.url.isNotBlank() -> "$headerUrlOrPath$METADATA_FILE_NAME"
repo.path.isNotBlank() -> "$headerUrlOrPath$METADATA_LOCAL_FILE_NAME".executeFileBody() .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}\"") 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] 实体 * 解析 [METADATA_FILE_NAME]、[METADATA_LOCAL_FILE_NAME] 内容到 [MavenMetadata] 实体
* @param url 当前依赖获取 URL
* @param currentVersion 当前依赖版本 * @param currentVersion 当前依赖版本
* @return [MavenMetadata] * @return [MavenMetadata]
*/ */
private fun String.toMetadata(currentVersion: DependencyVersion) = runCatching { private fun String.toMetadata(url: String, currentVersion: DependencyVersion) = runCatching {
if (!(contains("<metadata ") || contains("<metadata>")) || !endsWith("</metadata>")) return@runCatching MavenMetadata() if (!(contains("<metadata ") || contains("<metadata>")) || !endsWith("</metadata>")) return@runCatching MavenMetadata(url)
DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(InputSource(StringReader(this))).let { document -> DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(InputSource(StringReader(this))).let { document ->
val lastUpdated = document.getElementsByTagName("lastUpdated").item(0)?.textContent?.toLongOrNull() ?: 0L val lastUpdated = document.getElementsByTagName("lastUpdated").item(0)?.textContent?.toLongOrNull() ?: 0L
val versionNodeList = document.getElementsByTagName("version") val versionNodeList = document.getElementsByTagName("version")
val versions = mutableListOf<DependencyVersion>() val versions = mutableListOf<DependencyVersion>()
for (i in 0..versionNodeList.length) versionNodeList.item(i)?.textContent?.also { versions.add(currentVersion.clone(it)) } 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. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * Apache License Version 2.0
@@ -25,10 +25,12 @@ import com.highcapable.sweetdependency.gradle.entity.DependencyVersion
/** /**
* Maven Metadata 实体 * Maven Metadata 实体
* @param url 依赖获取 URL
* @param versions 版本数组 * @param versions 版本数组
* @param lastUpdated 最后更新时间戳 * @param lastUpdated 最后更新时间戳
*/ */
internal data class MavenMetadata( internal data class MavenMetadata(
internal var url: String = "",
internal var versions: MutableList<DependencyVersion> = mutableListOf(), internal var versions: MutableList<DependencyVersion> = mutableListOf(),
internal var lastUpdated: Long = 0L internal var lastUpdated: Long = 0L
) )

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/* /*
* SweetDependency - An easy autowire and manage dependencies Gradle plugin. * SweetDependency - An easy autowire and manage dependencies Gradle plugin.
* Copyright (C) 2019-2023 HighCapable * Copyright (C) 2019 HighCapable
* https://github.com/HighCapable/SweetDependency * https://github.com/HighCapable/SweetDependency
* *
* Apache License Version 2.0 * 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.SweetDependency
import com.highcapable.sweetdependency.environment.Environment import com.highcapable.sweetdependency.environment.Environment
import com.highcapable.sweetdependency.plugin.config.proxy.ISweetDependencyConfigs import com.highcapable.sweetdependency.plugin.config.proxy.ISweetDependencyConfigs
import org.gradle.api.initialization.Settings
/** /**
* [SweetDependency] 配置方法体实现类 * [SweetDependency] 配置方法体实现类
@@ -46,6 +47,14 @@ open class SweetDependencyConfigureExtension internal constructor() {
var isEnable = true var isEnable = true
@JvmName("enable") set @JvmName("enable") set
/**
* 是否启用调试模式
*
* 默认不启用 - 启用后将在自动装配时输出详细的依赖搜索信息
*/
var isDebug = false
@JvmName("debug") set
/** /**
* [SweetDependency] 配置文件名称 * [SweetDependency] 配置文件名称
* *
@@ -54,6 +63,16 @@ open class SweetDependencyConfigureExtension internal constructor() {
var configFileName = ISweetDependencyConfigs.DEFAULT_CONFIG_FILE_NAME var configFileName = ISweetDependencyConfigs.DEFAULT_CONFIG_FILE_NAME
@JvmName("configFileName") set @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 { internal fun build(): ISweetDependencyConfigs {
val currentEnable = isEnable val currentEnable = isEnable
val currentDebug = isDebug
val currentConfigFilePath = Environment.resourcesDir(configFileName).absolutePath val currentConfigFilePath = Environment.resourcesDir(configFileName).absolutePath
val currentUseDependencyResolutionManagement = isUseDependencyResolutionManagement
val currentEnableDependenciesAutowireLog = isEnableDependenciesAutowireLog val currentEnableDependenciesAutowireLog = isEnableDependenciesAutowireLog
val currentEnableVerboseMode = isEnableVerboseMode val currentEnableVerboseMode = isEnableVerboseMode
return object : ISweetDependencyConfigs { return object : ISweetDependencyConfigs {
override val isEnable get() = currentEnable override val isEnable get() = currentEnable
override val isDebug get() = currentDebug
override val configFilePath get() = currentConfigFilePath override val configFilePath get() = currentConfigFilePath
override val isUseDependencyResolutionManagement get() = currentUseDependencyResolutionManagement
override val isEnableDependenciesAutowireLog get() = currentEnableDependenciesAutowireLog override val isEnableDependenciesAutowireLog get() = currentEnableDependenciesAutowireLog
override val isEnableVerboseMode get() = currentEnableVerboseMode override val isEnableVerboseMode get() = currentEnableVerboseMode
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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