Karlatemp
1110a6f3fa
Fix private dependencies resolving; fix #2108
2022-06-22 17:43:09 +08:00
Karlatemp
f69fdb7ac1
improve console it project structs
2022-06-22 17:14:21 +08:00
Karlatemp
3c3657969f
skip publication setup for mirai-console-gradle
2022-06-22 17:02:23 +08:00
Karlatemp
f48940a897
Prefer SystemCommandSender; fix SystemCommandSender error message rendering
2022-06-18 23:49:54 +08:00
Him188
16bbfdd36a
Override vulnerable Log4J version in mirai-console-gradle
2022-06-18 13:02:38 +01:00
Him188
36159c39f4
Remove bintray in mirai-console-gradle
2022-06-18 13:02:38 +01:00
Him188
f527aa9b40
Update docs for commands
2022-06-17 15:00:20 +01:00
Him188
90bc48177a
Allow overriding CommandArgumentContext in JCompositeCommand and JSimpleCommand
2022-06-17 15:00:20 +01:00
Him188
eeb361358a
Add CommandContext and support retrieving original message chain from command, close #1835
2022-06-17 15:00:20 +01:00
Him188
371673678e
Update hints for builtin ValueArgumentParsers
2022-06-15 11:10:12 +01:00
Karlatemp
90fe69b6f2
Update docs
2022-06-15 12:50:13 +08:00
Him188
a4e7fda416
Raise deprecation level for 2.12
2022-06-14 11:19:44 +01:00
Him188
f97feb32c4
Add docs for mirai-console Logging and update UserManual
2022-06-14 10:38:54 +01:00
Him188
98e05f3bf4
Improve comments in LoggerConfig
2022-06-14 10:24:38 +01:00
Him188
091c86b007
Fix RunTerminal configuration
2022-06-14 10:23:21 +01:00
Him188
70c8255b6b
相反于加载顺序卸载插件, close #1994
2022-06-13 19:48:09 +01:00
Eritque arcus
4408750847
mark plugin disabled when it throw exception during enable process ( #2022 )
...
* Fix bootstrap when no env specified
* add PluginWithExceptionTest
* Add exceptedExceptionMessage in MCIT(Throwable or Exception may not work?)
* Using red color show disabled plugins in /status command
* Catch exception during enable process
* Count plugins without disabled plugins
* Revert "Fix bootstrap when no env specified"
This reverts commit ff9bb180fd6687c5da27b8a38da2658a1b26ad93.
* format
* format
* halt plugin enable process when mirai failed to enable it dependencies.
* Update mirai-console/backend/mirai-console/src/internal/plugin/PluginManagerImpl.kt hint
Co-authored-by: Him188 <Him188@mamoe.net>
* rename tmp to dependsOn
* Revert changes of PluginManagerImpl
* Plugin callback executions assertions
* Improve & Fix Logic
* Fix PluginDependOnErrorPlugin
* Update err msg
* move dependencies check from JvmPluginInternal.kt to BuiltInJvmPluginLoaderImpl.kt
* typo
* don't throw err caused by dependencies fail
Co-authored-by: Him188 <Him188@mamoe.net>
Co-authored-by: Karlatemp <kar@kasukusakura.com>
2022-06-13 19:45:39 +01:00
cssxsh
2d41a617fe
在 MultiFilePluginDataStorage.load 失败时,备份数据文件 ( #2089 )
...
* feat: load data failure, backup data file
* feat: load data failure, backup data file
* feat: currentTimeMillis
2022-06-13 19:45:22 +01:00
TheFatCat
342538e31b
修复在插件配置的saveName中使用子路径出现的异常 ( #2088 )
2022-06-13 19:45:11 +01:00
Karlatemp
8de404a69a
Fix shadowing libraries that another used; fix #2070
2022-06-08 00:28:42 +08:00
微莹·纤绫
d0c1848c94
Improve console shutdown ( #2016 )
...
* Try to improve console shutdown
* Resetting & Better java calling
* Dump crash report when timed out to shutdown
* Ensure `CoroutineScope.cancel()` working; rename to `shutdown`
* Signal handlers
* Force halt system to avoid some magic errors
2022-06-07 00:10:51 +08:00
微莹·纤绫
0b67a6783a
PluginCustomCommandSender ( #1964 )
...
* PluginCustomCommandSender
* Update doc & remove lazy
* Update CommandSender.kt
2022-06-07 00:10:28 +08:00
微莹·纤绫
b2c895bc2b
Support launch dev console in idea ( #2058 )
...
* Support launch dev console in idea
* Update idea project creator templates
* document update
2022-06-07 00:09:58 +08:00
水纹霖霖
d9c1da275b
fix protocol guideline & update docs ( #2067 )
...
* Update Bots.md
* Update AutoLoginConfig.kt
2022-06-06 16:57:27 +01:00
xtyuns
361f7f0cf1
doc(JVMPlugin.md): fix the wrong description
2022-06-06 16:42:40 +01:00
Him188
b40b681f81
Deprecate EmptyMessageChain
in favor of emptyMessageChain()
2022-05-25 22:39:53 +01:00
Him188
a9516b401b
Generalize chineseLength
to mirai-core-utils
2022-05-25 22:39:53 +01:00
Karlatemp
167a29e0d8
Fix build
2022-05-24 18:10:18 +08:00
Karlatemp
48c2b04a49
Fix plugin's dependencies classes linking; fix #2054
2022-05-24 17:56:29 +08:00
Karlatemp
e25e604c79
Copy modules as maven module
2022-05-24 17:30:58 +08:00
Karlatemp
50e7462b6b
Rename Access to Classpath
2022-05-24 17:00:30 +08:00
Karlatemp
72d248f1e6
Fix DynLibClassLoader class resolving logic
2022-05-23 18:26:33 +08:00
Karlatemp
237320317e
JvmPluginClassLoaderAccess
2022-05-23 18:26:33 +08:00
Karlatemp
b0711ed9ab
Setup vm-names of JvmPluginClassLoader's libraries classloaders
2022-05-23 17:41:51 +08:00
Him188
26c3bca473
Do not require plugin to be loaded for getPluginDescription
2022-05-21 15:25:28 +01:00
Karlatemp
6d0e5adf95
Fix ktor 2.0.0 linking ( #2051 ); Improve console plugin classloader logic
...
- Drop `io.ktor` in consoleRuntimeClasspath included by `core-api: api(io.ktor)`; Fix #2051
- Fix IT.plugin-resolve-self-dependencies-over-console-ones
- Fix IT.plugin-use-console-deps-fallback
- Fix plugin dependencies linked to AppClassLoader if any external dependencies used
2022-05-21 21:24:09 +08:00
Him188
12dfc6faa7
Update introductory dev docs
2022-05-19 13:39:29 +01:00
Karlatemp
97a37a196f
Fix nested projects building; Fix #2038
2022-05-18 17:24:39 +08:00
Karlatemp
92a5babf1c
Using a released version to run gradle tests
2022-05-18 17:24:39 +08:00
Him188
0da75d31b9
Fix readStringListFromEnv when no env specified
2022-05-08 09:48:10 +01:00
TheFatCat
9d18d79d66
fix docs and add java example ( #2021 )
2022-05-07 07:36:12 +01:00
Him188
008398bd84
Update README.md
2022-05-06 14:47:17 +01:00
Karlatemp
78d0cdd155
Fix bom dependencies again; Fix #1975
2022-05-05 22:44:48 +08:00
Karlatemp
8250c3da65
Using PlatformClassLoader to resolve java.*
; fix #2009
2022-05-04 16:36:13 +08:00
cssxsh
edf7622b0b
fix: ContactOrBot.render ( #2010 )
2022-05-04 16:28:14 +08:00
Karlatemp
115c987c2d
[skip ci] Fix documents building
2022-05-02 19:31:02 +08:00
Him188
61d68c245d
Refine docs examples
2022-05-02 11:16:24 +01:00
Him188
8c9d2e4707
添加插件文档 "使用日志"
2022-05-02 11:14:23 +01:00
Him188
7a6c7a89c0
Update docs for console plugin ( #1995 )
...
* Update docs for console plugin
* Update [skip ci]
* Update docs
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2022-05-01 18:03:10 +01:00
Him188
6b5f9e2eef
Change file suffix of new plugins to '.mirai2.jar'. Ignore '.mirai.jar' if its '.mirai2.jar' counterparts loaded. Close #1999
2022-05-01 17:59:05 +01:00
Him188
4993e59fd0
JavaPluginSchedulerImpl: run jobs with runInterruptible
2022-04-27 12:53:33 +01:00
Him188
bb8cd86daa
Update dependencies:
...
Kotlin 1.6.21
Dokka 1.6.20
coroutines 1.6.1
atomifFU 0.17.2
serialization 1.3.2
ktor 1.6.7
blocking-bridge 2.0.0-162.1
dynamic-delegation 0.3.0-162.2
2022-04-26 11:12:35 +01:00
Him188
e2477645cd
Migrate references of JAutoSavePluginConfig in docs
2022-04-25 14:18:14 +01:00
Him188
3be16c4644
Code cleanup. Remove duplicated internal utilities.
2022-04-25 14:15:29 +01:00
Him188
2780fc4761
Fix build
2022-04-24 16:47:42 +01:00
Him188
854b55f216
Add plugin tests PluginResolveSelfDependenciesOverConsoleOnes, close #1981
2022-04-24 16:18:22 +01:00
Him188
556c805448
console IT: Do not delete entire test sandbox, keep libraries
2022-04-24 16:15:17 +01:00
Him188
97ce422b33
Update docs for console IT
2022-04-24 15:45:58 +01:00
Him188
112bf537cc
Try useExperimentalAnnotation
if optIn
not defined
2022-04-24 15:30:02 +01:00
Him188
a4562a7aef
buildPlugin: Change output directory back to build/mirai
2022-04-24 15:30:02 +01:00
Him188
0e72fe9757
Use optIn
, close #1986
2022-04-24 15:20:14 +01:00
Him188
ffbe540800
Fix AbstractPluginData.findBackingFieldValueNode
2022-04-24 15:05:53 +01:00
Him188
45defb32a2
Fix support for Any and support primitive and reference arrays, close #1801
2022-04-24 15:05:44 +01:00
Him188
d4095fa5c6
Add JavaAutoSavePluginData and deprecate JAutoSavePluginData to fix saving issues. ( #1988 )
2022-04-24 10:37:42 +01:00
Him188
be832c7dbd
Support serializersModule
for PluginData
, close #1796 . Improve PluginData.value
type inference behavior: resolve exact returned type. ( #1987 )
...
Also support `MessageChain` and others from `MessageSerializers.serializersModule`, fix #1922 .
2022-04-24 10:37:10 +01:00
Karlatemp
35c08e8b16
Link mirai-core in console IT, fix non-hard-linked dependencies resolving
2022-04-23 17:15:20 +08:00
Karlatemp
e6e8f77f41
Skip if dependencies have no jars; fix #1975
2022-04-22 23:58:12 +08:00
Karlatemp
7f3b67ad9e
Fix gradle multi-projects packaging error; fix #1973
2022-04-22 23:46:54 +08:00
Him188
fbadf4a256
Fix documentation on PluginDependency.dependsOn and improve other relevant info. Fix #1869
2022-04-22 13:17:29 +01:00
Him188
d7f66e3ba5
Migrate use of deprecated LineMarkerInfo constructor
2022-04-20 17:56:12 +01:00
Him188
481973d5e6
New Project Wizard for IDEA 221 ( #1979 )
...
* NewProjectWizard
* dependencies and validations
* Implement checkers
* Implement project generator
* Add new template RunTerminal.run.xml for Run Configuration
* Set supported IDEA version to 221
* Fix localization
* Fix since-until
* Rearrange files
2022-04-20 17:03:10 +01:00
微莹·纤绫
15133c7902
Rewrite PluginManagerImpl.sortByDependencies
, fixing #1949 : resolving optional dependencies ( #1968 )
...
* Rewrite `PluginManagerImpl.sortByDependencies`
* Update error msgs
2022-04-19 00:24:17 +01:00
cssxsh
a727704061
Fix error message for '/perm cancel' ( #1918 )
...
* fix: cancel error info
* fix: use UnsupportedOperationException
* fix: test
* fix: equals
2022-04-19 00:06:38 +01:00
Him188
4acd74974a
Migrate deprecated usages and cleanup code
2022-04-13 13:08:14 +01:00
Him188
8993de9a13
Review deprecation for 2.11, close #1837
2022-04-13 12:47:21 +01:00
hundun
2930cba0d6
fix doc ( #1970 )
...
[skip ci]
2022-04-09 15:45:59 +08:00
Karlatemp
706e283218
Init dependencies of no-other-plugin-depended plugins first; fix #1965
2022-04-06 20:30:05 +08:00
Him188
eba7698345
Fix doc reference
2022-04-02 13:16:52 +01:00
hundun
ad5132e187
docs add more java example ( #1943 )
...
* docs add java example
* Update mirai-console/docs/Commands.md
Co-authored-by: Him188 <Him188@mamoe.net>
* Update mirai-console/docs/Commands.md
Co-authored-by: Him188 <Him188@mamoe.net>
* Update mirai-console/docs/Commands.md
Co-authored-by: Him188 <Him188@mamoe.net>
* Update mirai-console/docs/Commands.md
Co-authored-by: Him188 <Him188@mamoe.net>
* Update mirai-console/docs/Commands.md
Co-authored-by: Him188 <Him188@mamoe.net>
* apply doc suggestions
Co-authored-by: Him188 <Him188@mamoe.net>
2022-03-30 19:13:16 +01:00
Karlatemp
304220708a
Fix empty resource link resolving
2022-03-30 11:52:36 +08:00
Karlatemp
51c8684e22
Resources resolving
2022-03-30 08:48:42 +08:00
Karlatemp
d6f4e2e567
Resources & ServiceLoader resolving
2022-03-30 08:48:41 +08:00
Karlatemp
94828544cb
Add DynLibClassLoader.name
2022-03-30 08:48:41 +08:00
Karlatemp
884e7a3ee4
Nested modules in console integration test
2022-03-30 08:48:28 +08:00
Karlatemp
7a2d2ef1f9
Add perm source
2022-03-25 11:42:56 +00:00
Karlatemp
7819feaca7
Improve /permissions permittedPermissions
2022-03-25 11:42:56 +00:00
Karlatemp
ffcc489455
Improve /permissions listPermissions
2022-03-25 11:42:56 +00:00
Colerar
c76ec4209a
Add docs for overriding jvmTarget. Fix #1798 , close #1930
2022-03-16 16:16:11 +00:00
Him188
446cf84272
Extract LoginCommand implementation and fix tests
2022-03-16 16:04:10 +00:00
Him188
366ea34fde
Improve LoginCommand logic, remove unsafe checks, and add tests
2022-03-16 15:27:11 +00:00
Him188
b1d66c0d20
Add ConsoleDataScopeImpl.set for test onlyˆ
2022-03-16 15:27:11 +00:00
Karlatemp
d3c230ad12
Initialize jline first; #1936
2022-03-16 17:54:14 +08:00
Him188
80fa25c316
Add contract for MessageScope extensions
2022-03-13 11:25:03 +00:00
微莹·纤绫
2f0972296c
Update Permissions.md
...
[no ci]
2022-03-11 19:49:29 +08:00
Karlatemp
5e0a187bc0
Fix group of buildPlugin
; fix #1921
2022-03-10 23:36:29 +08:00
Karlatemp
595ff7c9d2
Fix config/Console/Logger.yml
ignored
2022-03-10 23:28:18 +08:00
Karlatemp
bb489601b7
Auto finding testing points
2022-03-10 18:05:16 +08:00
Karlatemp
894b8a9c2e
Fix class resolving when package duplicated in dependent plugins. Fix #1920
2022-03-10 17:51:30 +08:00
Karlatemp
9bdbe30522
console-terminal option: --no-logging
2022-03-08 13:16:50 +08:00
Him188
68711538c8
fuzzySearchMember: improve performance
2022-03-01 14:18:04 +00:00
Eritque arcus
3d3a995aae
Support heartbeatStrategy in autologin config ( #1903 )
...
* support heartbeatStrategy in autologin config
* doc: update tips
8d641c1d4c/docs/Bots.md
2022-02-27 15:09:28 +00:00
Him188
77e2a5c3b4
Prohibit premature usages of PermissionService
2022-02-24 11:05:41 +00:00
Him188
044457ae24
apiDump
2022-02-24 11:05:41 +00:00
Him188
c6c2eff8f7
Give built-in providers with priority -1
2022-02-24 11:05:41 +00:00
Him188
0ee15dda7f
Adapt command tests to fit the new structure
2022-02-24 11:05:41 +00:00
Him188
062a644474
Initialize and register configs in a specific phase, store and retrieve then in DataScope, instead of making them objects.
2022-02-24 11:05:41 +00:00
Him188
835059c44c
(ABI change) Rewrite ComponentStorage
: order extensions by property priority
. Remove builtinImplementations
and contribute them at the first initialization phase instead.
...
Close #1888 , fix #1860 .
Add `ComponentStorageInternal` for frontend to provide components.
Deprecate:
- SingletonExtension
- SingletonExtensionPoint
- AbstractSingletonExtensionPoint
- SingletonExtensionSelector
- CommandCallInterceptorProviderImpl
- CommandCallInterceptorProviderImplLazy
- CommandCallParserProviderImpl
- CommandCallParserProviderImplLazy
- CommandCallResolverProviderImpl
- CommandCallResolverProviderImplLazy
ABI breaking change:
- `PermissionServiceProvider`: supertype changed
- `CommandCallResolverProvider.ExtensionPoint`: supertype changed
- `PermissionServiceProvider.ExtensionPoint`: supertype changed
2022-02-24 11:05:41 +00:00
Marcia Sun
96e943c33f
support escape for text parameter parsing ( #1897 )
2022-02-22 10:37:24 +00:00
cssxsh
5a1059b0b3
修复权限取消,同时在取消时给出更多提示 ( #1843 )
...
* fix: AbstractConcurrentPermissionService
* feat: cancel about
* fix: filter parent
* fix: return
* fix: filter parent
* add: PermissionServiceTest
2022-02-22 10:34:18 +00:00
Karlatemp
29ebf78a54
Fix testing
2022-02-21 22:07:04 +08:00
Karlatemp
8e77109d26
Warning if used undefined dependencies
2022-02-21 21:20:53 +08:00
Karlatemp
22d2bd79df
Allow override console non-hard-link dependencies
2022-02-21 21:20:53 +08:00
Karlatemp
0570a50e5e
Support multi remote servers; Support maven local & gradle local
2022-02-21 21:20:51 +08:00
Karlatemp
5df5ecc444
gradle plugin
2022-02-21 21:20:51 +08:00
Karlatemp
d32913aa9f
api dump
2022-02-21 21:20:50 +08:00
Karlatemp
4100eaa245
Plugin dependencies automatic download system
2022-02-21 21:20:35 +08:00
微莹·纤绫
4f6481955c
Save journals to file ( #1874 )
...
* Save journals to file
* Use kotlin coroutines
* Fix StackOverflowError
* Auto split log files && test units
* Implement ConsoleTerminalSettings.noLogging
* Improve logging
* High-Speed logging test
2022-02-21 12:18:05 +00:00
Stardust·减
6b036439fd
Update protocol in autologin.yml ( #1891 )
...
* Add files via upload
* Update AutoLoginConfig.kt
* Update AutoLoginConfig.kt
2022-02-18 22:32:29 +00:00
Him188
6f67a41b5c
Ignore ConsoleFrontEndImplementation
on apiDump
2022-02-17 17:45:48 +00:00
Him188
2ebd017786
Make MiraiConsoleImplementationBridge class, add MiraiConsoleImplementation.origin
. MiraiConsoleImplementation.Companion.getInstance
will now return the bridge object instead of the user-defined implementation.
2022-02-17 17:45:48 +00:00
Him188
5af3d63e25
Print "CONSOLE STOPPED" after each test
2022-02-17 14:02:42 +00:00
Him188
f71ca64b0a
Cancel console instance and join when JVM shutdown, if initialized
2022-02-17 14:02:42 +00:00
cssxsh
d2505a397d
fix: PluginDescription.checkSatisfies ( #1859 )
2022-02-12 12:47:09 +00:00
Him188
963d5f68b9
Support Kotlin 1.6.20-M1 for mirai-console-intellij
2022-02-12 12:45:38 +00:00
Him188
95a82c4949
Use new versioning strategy for idea plugin
2022-02-07 16:23:34 +00:00
Him188
1d97a20b78
idea: Correctly sort versions, fix compatibility issues with some intellij versions.
2022-02-07 16:20:55 +00:00
Him188
4a89da55fb
Enable mirai-console-gradle publishing only when MIRAI_IS_SNAPSHOTS_PUBLISHING
2022-01-21 00:19:39 +00:00
Karlatemp
6f24035154
Update mirai-console.integration-test
2022-01-15 19:17:04 +08:00
Him188
7d3971259d
Review deprecation for 2.10. close #1742 ( #1774 )
2022-01-14 18:26:44 +00:00
cssxsh
a3d29b847e
add: TemporalArgumentParser ( #1748 )
...
* add: TemporalArgumentParser
* fix: no reflect
* fix: delete @Suppress("UNCHECKED_CAST")
* fix: Temporal -> TemporalAccessor
* add: test temporal argument
* add: isInstance
* docs: since 2.10
* docs: since 2.10
2022-01-14 17:14:12 +00:00
Karlatemp
033a10daaf
Fix binary-compatibility-validator
2022-01-14 21:19:59 +08:00
Karlatemp
335dff170d
Add console launch options
2022-01-14 21:12:14 +08:00
Him188
b62b6c3958
Appropriately execute IO tasks for JConsoleInput
2022-01-10 23:27:23 +00:00
Him188
b58bcfe4ac
apiDump
2022-01-10 23:27:23 +00:00
Him188
f8674d6875
Change CommandManager from singleton to instance object
2022-01-10 23:27:23 +00:00
Him188
6db81a50ac
Rewrite console testFramework
2022-01-10 23:27:23 +00:00
Him188
d0c2304e1a
Rename test package framework
to testFramework
2022-01-10 23:27:23 +00:00
Him188
1cde9029b7
Rename BuiltInExtensionSelector
to SingletonExtensionSelectorImpl
2022-01-10 23:27:23 +00:00
Him188
1b0f30c4bf
Convert all built-in permission services from singleton to instances
2022-01-10 23:27:23 +00:00
Him188
9930fc7ed1
Extend AbstractSingletonExtensionPoint
and AbstractInstanceExtensionPoint
, support lazy instance computation
2022-01-10 23:27:23 +00:00
Him188
8435131499
Change JvmPluginLoader
and ConsoleDataScope
from singleton to instances.
2022-01-10 23:27:23 +00:00
Him188
05187f5162
Mark PluginManager
with @NotStableForInheritance
and update docs
2022-01-10 23:27:23 +00:00
Him188
26b84485fe
Mark MiraiConsole
with @NotStableForInheritance
and update docs
2022-01-10 23:27:23 +00:00
Him188
b43e6c1957
Rename all 'fillBuildConstants' tasks to 'generateBuildConstants' and ensure generated files are not versioned. Update docs and CI build config
2022-01-10 23:27:23 +00:00
Him188
41b424c555
Remove MiraiConsoleBuildConstants from git and generate it everytime on build
2022-01-10 23:27:23 +00:00
Him188
d904cd9992
Use dynamic delegation to replace manual delegates for MiraiConsoleImplementationBridge
2022-01-10 23:27:23 +00:00
Him188
0dcba7c30c
Change ConsoleDataScope from singleton to instances
2022-01-10 23:27:23 +00:00
Him188
ea0bf38203
Make PluginManager
not static object
2022-01-10 23:27:23 +00:00
Him188
662fbf8d1e
Deprecate experimental CoroutineScopeUtils
2022-01-10 23:27:23 +00:00
Him188
06d17274a2
Use kotlin-dynamic-delegation
2022-01-10 23:27:23 +00:00