Commit Graph

313 Commits

Author SHA1 Message Date
Him188
6ee1f91314 Merge remote-tracking branch 'origin/master' 2020-08-20 14:30:57 +08:00
Him188
f048890c54 Fix MultiFileSettingStorage 2020-08-20 14:30:29 +08:00
Him188
dc6bb61352 Use classloader for ResourceContainer 2020-08-20 14:30:12 +08:00
Him188
d240ba7b83 Fix CompositeCommand; Rename CommandParam to CommandParameter 2020-08-20 14:26:44 +08:00
Him188
2843f91d02 Fix builtin command Login 2020-08-20 13:51:59 +08:00
Him188
657c2ac613 Fix fillBuildConstants 2020-08-20 12:52:41 +08:00
Him188
a478b85ba2 Add ClassLoader.asResourceContainer; Fix nullability of getResource 2020-08-20 12:52:19 +08:00
PeratX
ba91731576 Fix TestCommand deprecated warning 2020-08-20 12:26:13 +08:00
Karlatemp
c1090c1074
Thread safe. (#114)
* Thread safe.

* Fix OOM in Java x32
2020-08-20 12:17:31 +08:00
Him188
8dd692bbb5 Update documents 2020-08-20 09:02:47 +08:00
Him188
36fc942ace Update documents 2020-08-20 08:42:48 +08:00
Him188
f08a29b472 Remove @JvmSynthetic on bridge functions 2020-08-19 23:53:07 +08:00
Him188
89b7a821a1 Fix build and publishing 2020-08-19 22:39:34 +08:00
Him188
89784db637 Update to Kotlin 1.4.0, kotlinx.serialization 1.0.0-RC, yamlkt 0.4.0 2020-08-19 22:25:42 +08:00
Him188
47e52e20dd Update versions 2020-08-19 21:03:34 +08:00
Him188
30608aedf6 Update licenses 2020-08-16 23:36:24 +08:00
Him188
0f5d46d017 Public API stabilization 2020-08-16 23:21:11 +08:00
Him188
30e359c282 Fix blocking call in shutdown hook 2020-08-01 23:13:49 +08:00
Him188
5efa4824bf Fix tests 2020-08-01 23:05:03 +08:00
Him188
a555137da5 Add explicit kotlin-reflect dependency 2020-08-01 22:19:06 +08:00
Him188
cc8ec67340 Public API stabilization 2020-08-01 22:12:52 +08:00
Him188
e53363482d Fix build 2020-08-01 21:53:24 +08:00
Him188
a1e5cf3b8f 1.0-M1 released 2020-08-01 13:04:32 +08:00
Him188
97c564afdf Make MemorySettingStorage.OnChangedCallback fun interface 2020-07-31 16:39:44 +08:00
Him188
081474931f Use Kotlin language version 1.4 2020-07-31 16:38:39 +08:00
Him188
74925ff6e8 Public api stabilization:
Separate PluginManager and its implementations;
Add Setting extensions;
Documentation updates
2020-07-31 16:35:41 +08:00
Him188
b2177c16cf Fix missing copyright 2020-07-24 20:14:15 +08:00
Him188
4d7826f3d9 API stabilization: rearrange implementations 2020-07-24 20:11:10 +08:00
Him188
ead891e223 Use Semver for plugin version and its dependencies 2020-07-19 22:45:06 +08:00
Him188
9539218150 Use Kotlin compiler 1.4.0 but with stdlib 1.3.72 2020-07-19 13:18:27 +08:00
Him188
abf33bb214 Improve generic parameters 2020-07-13 13:34:36 +08:00
Him188
31aea380eb 1.0-dev-3 2020-07-11 22:14:40 +08:00
Him188
561df66d1c Misc improvements 2020-07-11 20:12:28 +08:00
Him188
0a50674f67 Cleanup 2020-07-11 20:08:53 +08:00
Him188
b636ea9b31 Support builtin settings; cleanup 2020-07-11 20:04:18 +08:00
Him188
58187f95f0 Explicit APIs 2020-07-11 19:26:31 +08:00
Him188
55ec375e09 Fix typo 2020-07-11 12:15:44 +08:00
Him188
6ef9332217 Fix plugin loader 2020-06-29 23:13:34 +08:00
Him188
56a01c23fe Fix builtin commands and frontend-pure command processing 2020-06-29 22:52:15 +08:00
Him188
58eac01cad Fix frontend 2020-06-29 22:10:52 +08:00
Him188
2fd7c6aec7 Add allRegisteredCommands;
Add val MiraiConsole.job;
Implement command listening;
Add simple built-in commands
2020-06-29 16:17:12 +08:00
Him188
108e425082 Fix checkSubCommand 2020-06-28 11:46:06 +08:00
Him188
6b23d5ba27 Publishing 2020-06-28 11:45:21 +08:00
Him188
b9e498aa39 Implement ConsoleCommandOwner as object 2020-06-28 10:45:08 +08:00
Him188
6bfe5929e8 Implement SimpleCommand 2020-06-28 10:44:55 +08:00
Him188
01fd1b3b6e Implement MiraiConsole bootstrap and plugin loading 2020-06-28 10:44:10 +08:00
Him188
442d7ee0ce Implement SettingStorage 2020-06-28 10:43:25 +08:00
Him188
e25a818942 Rework CompositeCommand, SimpleCommand, RawCommand;
Add ConsoleExperimentalAPI annotation;
Add CommandParserContextAware;
2020-06-28 07:43:58 +08:00
Him188
32e77ca420 Add command test, fix various command bugs 2020-06-28 02:08:44 +08:00
Him188
b9342be382 Rename SimpleCommand to RawCommand 2020-06-27 01:28:32 +08:00
Him188
91d2b0b7d2 Fix build 2020-06-27 01:28:19 +08:00
Him188
9f8ce56f15 Fix build 2020-06-27 00:23:43 +08:00
Him188
e76cfe8c69 Implement PluginSetting and its auto-saving;
Introduce PluginFileExtensions;
Introduce ResourceContainer;
Introduce SettingHolder;
Add extensions to JvmPlugin for getSetting;
Add Plugin.safeLoader extension to eliminate unchecked casting;
Various documentation improvements;
2020-06-27 00:16:36 +08:00
Him188
6beed81f40 BuiltInCommands stub 2020-06-26 20:13:43 +08:00
Him188
d4f80b44fe Fix build and tests 2020-06-26 20:13:09 +08:00
Him188
2ba18ab7e4 Rearrange implementations 2020-06-26 20:07:29 +08:00
Him188
d2194c2c2b Introduce interface MiraiConsole 2020-06-26 19:50:13 +08:00
Him188
bd4b0b88ca Add TODO 2020-06-26 18:41:42 +08:00
Him188
d4271f670f Use unstable Json API with guarantee;
Move plugin center from ./center to ./plugin/center
2020-06-26 18:41:27 +08:00
Him188
0dd274fc4e Cleanup 2020-06-24 04:31:30 +08:00
Him188
1186083f09 Introduce AbstractJvmPlugin 2020-06-24 04:31:24 +08:00
Him188
b5b3df4075 Move SettingImpl to internal package 2020-06-24 04:21:01 +08:00
Him188
7048013c5f Support auto-constructing for builtin types 2020-06-24 04:18:32 +08:00
Him188
5adda00be0 Support ArrayList, LinkedHashMap, HashMap, LinkedHashSet, HashSet for value() 2020-06-24 04:11:32 +08:00
Him188
d120bfe576 Rename valueReified to value;
Introduce public valueFromKType;
Fix CompositeListValueImpl
2020-06-24 04:08:53 +08:00
Him188
1425378e19 Codegen for Setting_value_primitives 2020-06-24 03:53:13 +08:00
Him188
927943322a Improve performance 2020-06-24 03:48:11 +08:00
Him188
9a91c9b2a7 Introduce AbstractValueImpl as superclass to all ValueImpl;
Implement CompositeSetValueImpl, CompositeMapValueImpl, CompositeListValueImpl;
Implement value patching and reference tracking;
Add SettingTest.kt;
Implement SettingImpl.updaterSerializer;
`Setting.valueReified` and `Setting.valueFromKType` supports All primitives, Collections and Maps now.
2020-06-24 03:45:27 +08:00
Him188
70b9b012e1 Pretty codegen 2020-06-24 02:22:01 +08:00
Him188
47e6328427 Rearrange old codegen 2020-06-24 02:05:17 +08:00
Him188
9af8d74f36 Simplify codegen launcher 2020-06-24 02:05:04 +08:00
Him188
9f0465c91b Support indenting for codegen 2020-06-24 02:04:45 +08:00
Him188
6b4124895f Simplify type inheritance for IntValueImpl 2020-06-23 22:32:46 +08:00
Him188
77db778503 Generate with @JvmStatic 2020-06-23 22:31:45 +08:00
Him188
7b359108b9 Merge remote-tracking branch 'origin/reborn' into reborn 2020-06-23 22:25:55 +08:00
Him188
7de3445353 Add BuiltInSerializerConstants, update relevant codegen;
Enhance generated primitive values;
Improve SettingImpl.serializer
2020-06-23 22:25:43 +08:00
Karlatemp
3408502f99
Exclude everything that pure does not need 2020-06-23 22:18:49 +08:00
Karlatemp
5e3039f866
Exclude mirai-core in :mirai-console:shadowJar 2020-06-23 22:05:46 +08:00
Karlatemp
d204d1f28e
Fix copyright 2020-06-23 18:36:46 +08:00
Karlatemp
43705d61cf
Merge branch 'plugin-manager' into reborn 2020-06-23 18:35:45 +08:00
Karlatemp
5551d2f048
Suppress("PRE_RELEASE_CLASS") 2020-06-23 18:28:15 +08:00
Him188
4bc19a0a9d Implement command permission checking and relevant exceptions 2020-06-23 18:18:09 +08:00
Him188
a117e73186 Introduce executeCommandDetailed;
Enhance CommandExecuteResult, add type-safe classification with contracts;
Introduce CommandExecutionException providing information about the command on execution failure.
2020-06-23 17:49:09 +08:00
Him188
cbcb5aaccd Setting serializers 2020-06-22 15:37:24 +08:00
Him188
1f0b7e4f01 Support Any type in valueReified 2020-06-22 14:00:45 +08:00
Him188
14d698651a Introduce SerializableValue, SerializerAwareValue 2020-06-22 13:50:34 +08:00
Karlatemp
68c0142765
Update JCommandManager; Add KDoc 2020-06-22 13:12:32 +08:00
Karlatemp
64d13f0a19
Update command execute result 2020-06-22 12:49:02 +08:00
Karlatemp
b3f846ed16
Update auto-fill 2020-06-22 12:30:36 +08:00
Karlatemp
4f418e7a0b
Initialize MiraiConsole when MiraiConsoleInitializer.init called 2020-06-22 12:14:03 +08:00
Him188
2c09f1d82d value delegating 2020-06-21 22:48:34 +08:00
Him188
ecd41bc4e0 Rearrange files 2020-06-21 15:38:47 +08:00
Him188
4ce4c025ee Implement composite Values 2020-06-21 15:27:19 +08:00
Him188
7ac1d94db9 Add build constant auto-fill 2020-06-21 14:24:17 +08:00
Him188
907b2ad946 Update codegen, rearrange entry point 2020-06-21 13:43:28 +08:00
Him188
514183e793 Fix warnings 2020-06-21 00:47:52 +08:00
Him188
9fb167ee60 Fix build 2020-06-21 00:44:02 +08:00
Him188
e0c1600001 Optimize codegen 2020-06-20 23:23:19 +08:00
Him188
f9132124e7 Merge remote-tracking branch 'origin/reborn' into reborn
# Conflicts:
#	frontend/mirai-console-pure/build.gradle.kts
2020-06-20 22:57:37 +08:00
Him188
febe4d9d52 PrimitiveValues codegen 2020-06-20 22:55:18 +08:00
Him188
f5d9f4a67e Rearrange build scripts 2020-06-20 22:55:07 +08:00
Him188
754811ddaa Add codegen framework 2020-06-20 22:54:27 +08:00
Karlatemp
6afa6af4a1
Fix test 2020-06-20 21:16:06 +08:00
Karlatemp
9c1b937aaf
Merge remote-tracking branch 'origin/reborn' into reborn
# Conflicts:
#	backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/plugin/internal/PluginsLoader.kt
2020-06-20 20:52:09 +08:00
Karlatemp
4d69ae617f
Fix wrong initialization order 2020-06-20 20:46:00 +08:00
Karlatemp
a21740ed3c
Suppress SMARTCAST_IMPOSSIBLE 2020-06-20 20:44:53 +08:00
Karlatemp
67014edc31
Fix type mismatch 2020-06-20 20:44:17 +08:00
Him188
ce49e27e95 Fix build 2020-06-20 20:08:26 +08:00
Him188
4b58c76385 Add codegen DSL 2020-06-20 20:08:22 +08:00
Him188
5528de0721 Fix typo 2020-06-19 13:23:26 +08:00
Him188
e7c9029364 Add missing copyright 2020-06-19 13:23:08 +08:00
Him188
ae20a8d180 Fix typo 2020-06-19 13:22:29 +08:00
Him188
65d7871916 Merge remote-tracking branch 'origin/reborn' into reborn 2020-06-19 04:26:43 +08:00
Him188
afc30c5357 Values infrastructure 2020-06-19 04:26:29 +08:00
jiahua.liu
e98bfa363f rewrite JVM Plugin Class Loader 2020-06-19 01:19:45 +08:00
jiahua.liu
9f600a7855 Merge remote-tracking branch 'origin/reborn' into reborn 2020-06-18 23:02:14 +08:00
jiahua.liu
e863e122c5 for merge 2020-06-18 23:01:58 +08:00
Him188
f1a8c78bc7 Merge remote-tracking branch 'origin/reborn' into reborn 2020-06-17 13:25:57 +08:00
Him188
687729df4e Cleanup, remove old settings 2020-06-17 13:25:36 +08:00
Him188
11cb8d5c68 Configure JUnit test 2020-06-17 13:25:28 +08:00
jiahua.liu
86f23e5452 Composite Command Test pass 2020-05-26 17:02:54 +08:00
jiahua.liu
b66142545c Merge remote-tracking branch 'origin/reborn' into reborn
# Conflicts:
#	backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/Command.kt
2020-05-26 17:02:06 +08:00
jiahua.liu
00f90fe3ac Composite Command Test pass 2020-05-26 16:59:15 +08:00
Him188
4945642c5e Fix build 2020-05-26 14:41:12 +08:00
Him188
c8dd3fa49c Referential value infrastructure 2020-05-26 14:40:33 +08:00
Him188
0359bcb89c Add actual Value accessors 2020-05-26 13:30:12 +08:00
Him188
34b585a6f7 Add docs 2020-05-26 13:14:41 +08:00
Him188
f73f064d1a Add docs 2020-05-26 13:06:45 +08:00
Him188
c3f7101830 Add JCommandManager 2020-05-26 13:06:37 +08:00
Him188
65cbf6e780 Improve generated value impl 2020-05-25 18:37:08 +08:00
Him188
240253cf21 Improve generated value impl 2020-05-25 18:34:38 +08:00
Him188
de9ba386c7 Add docs 2020-05-25 18:27:11 +08:00
Him188
51718b3f02 Change object ConsoleCommandSender to abstract class ConsoleCommandSender, and should implemented by frontend 2020-05-25 18:22:05 +08:00
Him188
060ed31873 Add JavaFriendlyAPI 2020-05-25 18:20:57 +08:00
Him188
594ae1f778 Rearrange implementations 2020-05-25 18:09:20 +08:00
Him188
8af7e0b925 Introduce AbstractJvmPlugin 2020-05-25 17:55:41 +08:00
Him188
f1b0bf7e68 SettingStorage infrastructure 2020-05-25 17:51:01 +08:00
Him188
3d53f7f7bc Rename package plugins to plugin 2020-05-25 16:32:14 +08:00
jiahua.liu
4fc91adc5d Composite Command Test pass 2020-05-25 16:04:29 +08:00
jiahua.liu
9a87497a06 CompositeCommand usage 2020-05-25 14:53:24 +08:00
jiahua.liu
538cb574f7 CompositeCommand usage 2020-05-25 14:41:16 +08:00
jiahua.liu
4190058b6d Merge remote-tracking branch 'origin/reborn' into reborn
# Conflicts:
#	backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/Command.kt
#	backend/mirai-console/src/main/kotlin/net/mamoe/mirai/console/command/CommandManager.kt
2020-05-25 00:48:33 +08:00
jiahua.liu
8b56924601 CompositeCommand supported 2020-05-25 00:46:49 +08:00
Him188
ff931ed26e Add smart serializers for PluginDescription 2020-05-24 18:56:08 +08:00
Him188
1cf35b8554 Fix build 2020-05-24 14:56:06 +08:00
Him188
8ea0c538a0 Add copyright 2020-05-24 14:53:17 +08:00
Him188
f6af60191b Implement plugin recognizing 2020-05-23 20:28:25 +08:00
Him188
8cc09c77fb Make JvmPluginImpl sealed 2020-05-23 19:51:22 +08:00
Him188
633e333609 Support plugin reloading 2020-05-23 19:11:47 +08:00
Him188
c3120cf1ac Misc 2020-05-23 18:53:54 +08:00