Commit Graph

46 Commits

Author SHA1 Message Date
ArgonarioD
4f0f733f4d
修复JvmPlugin无法通过自己的classLoader以getResource的方法获取全局依赖的class文件 (#2536)
* [console] Fixed classLoaders of JvmPlugin cannot getResource(classes of global dependencies), fix #2535

* [core/utils/jvm] new fun: addAll(Enumeration)

* [console] modify DynLibClassLoader.tryFastOrStrictResolveResource to tryFastOrStrictResolveResources

* [console] remove allClassesAsResources field

* [console] add var to control whether class files of mirai dependencies could be load as resources

* [console/integration-test] modify loader test

* [console] dump new apis

* [console] rename JvmPluginClasspath.openMiraiDependenciesClassResource and standardize its KDoc

* [console] modify the KDoc of JvmPluginClasspath.shouldResolveConsoleSystemResource

* [console/integration-test] improve resources loading test cases

* [console/integration-test] modify assert to assertTrue
2023-03-12 22:37:47 +08:00
Karlatemp
62ae2ac03c
[console] Create PluginOnDisableCalledOnlyOnceTest test; Fix tests 2023-01-02 23:43:33 +08:00
Karlatemp
a3f9755e8e
[console] Disable network log in testing 2022-12-18 22:36:13 +08:00
Karlatemp
500ad3cc9e
Fix console integration test 2022-09-06 18:21:40 +08:00
Him188
4c6b879873 Upgrade to Ktor 2.0.2, use CIO engine for linux targets; Remove ktor-client-okhttp from mirai-core-api jvmBaseMain
Use Input.readAllText instead of Input.readText, because readText only reads one buffer.
#2084
2022-07-20 00:30:16 +08:00
Him188
13dadd5a95 Implement mirai-core for native 2022-07-20 00:30:16 +08:00
Him188
ff2a8acb0c Implement multiplatform modules 2022-07-20 00:30:16 +08:00
Him188
d96641dedb Configure HMPP project structure 2022-07-20 00:30:16 +08:00
Karlatemp
1be39eeb0a
Hard linking jdk builtin modules; fix #2141; fix #2126
- Not allow override jdk modules
2022-07-08 13:08:34 +08:00
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
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
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
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
0da75d31b9 Fix readStringListFromEnv when no env specified 2022-05-08 09:48:10 +01:00
Karlatemp
8250c3da65
Using PlatformClassLoader to resolve java.*; fix #2009 2022-05-04 16:36:13 +08: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
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
Karlatemp
35c08e8b16
Link mirai-core in console IT, fix non-hard-linked dependencies resolving 2022-04-23 17:15:20 +08:00
Him188
4acd74974a Migrate deprecated usages and cleanup code 2022-04-13 13:08:14 +01:00
Karlatemp
706e283218
Init dependencies of no-other-plugin-depended plugins first; fix #1965 2022-04-06 20:30:05 +08: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
884e7a3ee4
Nested modules in console integration test 2022-03-30 08:48:28 +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
29ebf78a54
Fix testing 2022-02-21 22:07:04 +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
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
Karlatemp
6f24035154
Update mirai-console.integration-test 2022-01-15 19:17:04 +08:00
Him188
ecc4425463 Move KClass.createInstance to mirai-core-utils and optimize TestPointPluginImpl.<init> 2021-12-23 01:37:11 +00:00
Karlatemp
1d1a77ff1a
Test of rename folder 2021-12-19 00:46:46 +08:00
Karlatemp
dda61f5a5d
Fix exception catch 2021-12-19 00:45:13 +08:00
微莹·纤绫
8d6b4b4970
[CONSOLE] Integration Test (#1741)
* [CONSOLE] Realtime Test Unit

* Rename to IntegrationTest; IDEA Debugging support

* External Plugins support

* Simply redesign
2021-12-18 22:59:43 +08:00