Commit Graph

580 Commits

Author SHA1 Message Date
Karlatemp
5f6873e347
Change SubCommandDescriptor calling from callSuspend to callSuspendBy
- Support optional argument now.
2020-09-19 15:56:57 +08:00
Him188
48f5c947b6 Add experimental API notes 2020-09-19 13:49:01 +08:00
Him188
ceb689066e Introduce RestrictedScope for further resolution for IDE plugin 2020-09-19 13:48:23 +08:00
Him188
3fa7c9e128 Support ILLEGAL_COMMAND_NAME, ILLEGAL_PERMISSION_NAME, ILLEGAL_PERMISSION_ID, ILLEGAL_PERMISSION_NAMESPACE 2020-09-19 00:22:38 +08:00
Him188
78ebdf038d Extract AbstractCommand 2020-09-19 00:02:36 +08:00
Him188
4c0daefd67 Replace with static import 2020-09-18 23:50:57 +08:00
Him188
b0e082000c Introduce ResolveContext for permission and command 2020-09-18 23:50:02 +08:00
Him188
16598ee8ec Fix docs 2020-09-18 23:33:08 +08:00
Him188
ca40a292cf Add serializersModule 2020-09-18 23:30:40 +08:00
Him188
f40dd189f2 Fix commands 2020-09-18 23:26:16 +08:00
Him188
5a34d58975 Check command names on init 2020-09-18 23:15:29 +08:00
Him188
8b5c6dfa27 Fix returnType and add JvmBlockingBridge for ConsoleCommandSender.sendMessage 2020-09-18 23:03:21 +08:00
Him188
7762ea2f65 Separate Command.names into Command.primaryName and Command.secondaryNames such that primaryName is compulsory while secondaryNames are optional. 2020-09-18 22:55:19 +08:00
Him188
899c6266dd Improve docs 2020-09-18 21:21:06 +08:00
Him188
8654172872 Remove redundant @JvmDefault 2020-09-18 21:10:38 +08:00
Him188
f2d8b1620e API stabilization for PluginData:
Add warnings for PluginConfig
2020-09-18 21:10:11 +08:00
Him188
da68027b7c API stabilization for PluginData:
Enforce explicit saveName on init
2020-09-18 20:53:08 +08:00
Him188
2fe2d2a681 API stabilization for PluginData:
Move members valueNodes, ValueNode, track from PluginData to AbstractPluginData;
Move findBackingFieldValue, findBackingFieldValueNode from PluginData.kt to AbstractPluginData.kt;
Mark unstable APIs with `@ConsoleExperimentalApi`
2020-09-18 20:35:36 +08:00
Him188
53890bcb5d API stabilization: move provideDelegate from PluginData to AbstractPluginData 2020-09-18 20:19:39 +08:00
Him188
179c89b48f Fix Pair and Triple values 2020-09-18 20:06:03 +08:00
Him188
cd86878307 Merge remote-tracking branch 'origin/master' 2020-09-18 20:01:10 +08:00
Him188
7244cb76c4 Introduce inspection NOT_CONSTRUCTABLE_TYPE for PluginData.value 2020-09-18 15:36:03 +08:00
Karlatemp
8fe2506e75
Terminal (#179)
* Rename ConsolePure to ConsoleTerminal

* Fix the way to close console with Ctrl+C

* Fix windows pipeline error. Fix EndOfFileException

* Add ConsoleExperimentalApi

* Collect imports

* Review

- Change old CLI main deprecation level to ERROR
- Update documents
- Update tasks from pure to terminal

* Fix error in closing console.

* Fix terminal closing and Ctrl+C closing.

* Add console shut-downing status

* Don't invokeOnCompletion when console shut-downing

* Fix Input interrupt

* Ensure active unless console is shut downing

* Change MiraiConsole.isShutDowning to `!job.isActive`

* Code Review

- Update Message on MiraiConsolePureLoader.kt
- Change MiraiConsole.isShutDowning to MiraiConsole.isActive
- Change MiraiConsole.shutdown to ConsoleInternalApi

* run catching

* Fix console input

* Update shutdown

* Fix module

* Revert 5199395

* Typo
2020-09-18 12:43:57 +08:00
Karlatemp
f990b7ce8c
Remove redundant code 2020-09-18 12:40:18 +08:00
Karlatemp
a49efda337
Add serializer for SemVersion 2020-09-18 12:37:40 +08:00
Karlatemp
001fac65cc
Update SemVersion rules 2020-09-18 12:34:30 +08:00
Him188
961bbfba53 Make dsl markers BINARY to be resolved 2020-09-18 01:50:41 +08:00
Him188
5dbf596582 Support checking plugin name and plugin id (ILLEGAL_PLUGIN_DESCRIPTION) 2020-09-18 01:49:08 +08:00
Him188
7bcef7997a Introduce ResolveContext for resolve 2020-09-17 22:07:45 +08:00
Karlatemp
dc81835b68
Sem Version (#164)
* Sem Version

* Review: Add missing logic

* Review code

- Removed @JvmField
- Comments
- Fix Compare Logic
- Add tests from SemVer.org

* Deleted redundant statement

* Rename RangeChecker to RangeRequirement

* Code Review

- Move SemVersion#compareTo to SemVersionInternal#compareInternal
- Move top-level functions to companion object
- Make SemVersion comparable

* KDoc

* Update KDoc; fix parseRangeRequirement

* Update KDoc

* Update comment

* Update KDoc

* Update KDoc

* Typo

* Typo
2020-09-17 20:52:57 +08:00
Him188
466b067d9f Throw IllegalStateException when restarting MiraiConsoleImplementation 2020-09-17 10:24:48 +08:00
Him188
cd6e78d36c Add getInstance for front-end implementers 2020-09-17 10:23:29 +08:00
Him188
be311923d0 Add descriptions for permissions 2020-09-14 12:48:38 +08:00
Him188
18bf3bd563 Fill MiraiConsoleBuildConstants for debug use 2020-09-13 02:19:54 +08:00
Him188
c25733b8ac Use Plugin.name for JvmPlugin.logger 2020-09-13 02:16:49 +08:00
Him188
e554b8596d Add Semver warnings 2020-09-13 01:59:01 +08:00
Him188
3ded2cc87b Add docs 2020-09-13 01:52:46 +08:00
Him188
6a34c0a673 Add User.permitteeId, etc. 2020-09-13 01:46:20 +08:00
Him188
6f7cc1a78d Add "command." prefix to command permissions 2020-09-13 01:15:20 +08:00
Him188
9139d62a7c Update docs 2020-09-13 01:13:45 +08:00
Him188
235391e658 Rename PermissionId.id to PermissionId.name 2020-09-13 01:12:46 +08:00
Him188
854528357f Remove ExperimentalPermission 2020-09-13 00:51:34 +08:00
Him188
d59d67ad9e Init all command properties on register 2020-09-13 00:29:23 +08:00
Him188
aa3c8baccb Add Java bridge for implementing ConsoleInput 2020-09-13 00:26:50 +08:00
Him188
7d9d181002 Make ConsoleCommandSender an object 2020-09-13 00:26:23 +08:00
Him188
5250e3779f Update docs 2020-09-12 23:25:16 +08:00
Him188
712ecb5a80 Use strict version 2020-09-12 23:00:47 +08:00
Him188
b173b9ad30 Avoid resolution ambiguity 2020-09-12 22:46:41 +08:00
Him188
fd23a03618 Introduce version DSL 2020-09-12 22:34:15 +08:00
Him188
807df3bbcd Check PluginDependency.id on init 2020-09-12 21:22:47 +08:00
Him188
f303b0d21a Remove deprecated functions 2020-09-12 21:21:29 +08:00
Him188
165f4d73b8 Move internal implementations of extensions into internal.extension 2020-09-12 21:20:53 +08:00
Him188
65cba4fd0b API stabilization:
Extract ExtensionPoint;
Rename ExtensionPoint.extensionType;
Declare ExtensionPoint stable;
Improve ExtensionException
2020-09-12 21:17:08 +08:00
Him188
87373ef3ba Review extensions:
Rename ScopedComponentStorage to PluginComponentStorage;
Add more extensions for PluginComponentStorage;
Misc improvements
2020-09-12 21:13:55 +08:00
Him188
9b3e96e3d3 Fix description checking 2020-09-12 20:38:06 +08:00
Him188
3b9414dc50 Fix typo 2020-09-12 20:28:58 +08:00
Him188
6b9ec05c98 Review plugins:
Move PluginLoader into plugin.loader;
Improve docs;
Change extension PluginLoader.description to member function PluginLoader.getPluginDescription;
Change builtIn loader lists with Lazy items;
Add Regex for testing plugin names and ids.
2020-09-12 20:20:41 +08:00
Him188
5c6b4aa8cc Rename JarPluginLoader to JvmPluginLoader. Rename JvmPluginLoader.Companion to JvmPluginLoader.BuiltIn 2020-09-12 19:43:51 +08:00
Him188
c9ed804bf2 Fix plugin load 2020-09-12 19:34:28 +08:00
Him188
c5e68885c7 Public API stabilization: Review and remove ExperimentalPermission annotations 2020-09-12 19:26:36 +08:00
Him188
6ebad54856 Fix compilation 2020-09-12 19:10:41 +08:00
Him188
79136a2666 Add extensions for CommandSender.execute(Command,...) 2020-09-12 19:06:05 +08:00
Him188
3a45254fee Rename BuiltInCommands.rootPermission to BuiltInCommands.parentPermission;
Update docs
2020-09-12 19:00:18 +08:00
Him188
7b8e9cc1c6 Review: Permission, PermissionService;
Lots of improvements;
Rename Permissible to Permittee, rename PermissibleIdentifier to PermitteeId;
Add docs for Permission system;
Remove ExperimentalPermission annotations on some targets
2020-09-12 18:51:40 +08:00
Him188
c7cde8e790 Fix PermissibleIdentifier.allParentsWithSelf 2020-09-12 16:26:12 +08:00
Him188
8fc4da127b Extract executeCommandInternal 2020-09-12 16:25:58 +08:00
Him188
8a01dcc556 Support parsing self for PermissibleIdentifierArgumentParser 2020-09-12 16:25:36 +08:00
Him188
f24042f31e Install built-in CommandArgumentParsers for PermissionId and PermissibleIdentifier 2020-09-12 16:25:24 +08:00
Him188
8f1cc48c6b Fix buildscript 2020-09-12 16:11:53 +08:00
Him188
956e193d02 Correct class naming following Kotlin formal style 2020-09-12 13:31:34 +08:00
Him188
e41a2c0d09 Fix CombinedScope 2020-09-11 23:22:43 +08:00
Him188
a13ce6ff17 Redesign extensions;
Introduce ComponentStorage;
Add receiver ScopedComponentStorage to JvmPlugin;
Remove dynamic registers for PluginLoader;
Redesign plugin load flow;
2020-09-11 23:05:00 +08:00
Him188
ca4107b476 Fix PermissionImpl.equals, PermissionImpl.hashCode, PermissionImpl.toString 2020-09-10 20:55:08 +08:00
Him188
12662f4716 Remove duplications in BuiltInPermissionService.SaveData 2020-09-10 20:51:00 +08:00
Him188
829bd6d454 Rename PluginKind to PluginLoadPriority, revise load phases 2020-09-10 20:41:09 +08:00
Him188
d7fe94acbd Reload BuiltInSingletonExtensionSelector on startup 2020-09-10 20:03:57 +08:00
Him188
cea884c3d7 Use Permission for Permission.parent 2020-09-10 19:53:27 +08:00
Him188
1c51456e07 Update docs 2020-09-10 18:34:43 +08:00
Him188
cd8f21d073 Rename scopeWithNotNull to scopeWith 2020-09-10 18:34:01 +08:00
Him188
795d8040cb Update docs 2020-09-10 18:04:50 +08:00
Him188
49eafe6699 Fix doc 2020-09-10 17:41:23 +08:00
Him188
76c277a9e7 Fix compiler error 2020-09-10 17:41:14 +08:00
Him188
7fe2d13544 Fix exception message 2020-09-10 13:01:40 +08:00
Him188
b242fc4eb8 Improve serialized configs 2020-09-10 12:56:07 +08:00
Him188
5cd35d7fbe Fix permission duplication 2020-09-10 10:49:36 +08:00
Him188
8dd302073b Add builtin Permission command 2020-09-10 10:44:49 +08:00
Him188
c76a6dacc9 Introduce JvmPluginDescriptionBuilder, add checks 2020-09-10 10:30:00 +08:00
Him188
a70e00464f Ignore CancellationException on stop 2020-09-10 09:08:19 +08:00
Him188
405d8cd88f Don't save registered permissions map 2020-09-10 09:05:34 +08:00
Him188
42a4c844e1 Ignore CancellationException on stop 2020-09-10 09:04:06 +08:00
Him188
6d4bc28ee5 Add serializers for PermissibleIdentifier 2020-09-10 08:48:01 +08:00
Him188
ba3fe945f7 Fix PermissionService config saving 2020-09-09 23:22:34 +08:00
Him188
a881235caa Add serializers for PermissionId 2020-09-09 23:17:29 +08:00
Him188
cce8c2db16 Fix permission tips 2020-09-09 23:06:56 +08:00
Him188
9ce468db95 Install serializers for Permission objects 2020-09-09 23:01:01 +08:00
Him188
0c94ea96a8 Fix generated usage 2020-09-09 22:54:47 +08:00
Him188
a6bd7b7d63 Fix data comparison, fix commands 2020-09-09 22:49:48 +08:00
Him188
6ec3390b8d Move extensions into PermissionService.Companion 2020-09-09 22:20:18 +08:00
Him188
4822a8c5fe Rename AncestorPermission to RootPermission 2020-09-09 22:09:37 +08:00
Him188
a6109bb301 Rename Permission.parent to Permission.parentId 2020-09-09 22:08:50 +08:00
Him188
6429e400f1 Rename BasePermission to AncestorPermission 2020-09-09 22:08:15 +08:00
Him188
39ef007370 Review: Add duplication details for DuplicatedPermissionRegistrationException 2020-09-09 22:06:09 +08:00
Him188
703c4feae1 Add missing opt-in annotations 2020-09-09 22:00:25 +08:00
Him188
d3e3db9662 (internal) Use MutableList for grantedPermissionMap 2020-09-09 22:00:06 +08:00
Him188
a7777d008a Change parameter permissionId: PermissionId to permission: P for PermissionService.testPermission;
Add PermissionService<P>.getOrFail
2020-09-09 21:55:48 +08:00
Him188
1abb0204a2 Update docs 2020-09-09 21:53:10 +08:00
Him188
6cdc85facd Fix permissionType checks 2020-09-09 21:45:12 +08:00
Him188
c622c1b4fe Fix NotNullMutableMap 2020-09-09 21:42:38 +08:00
Him188
8d115cd954 Don't infix for grantedWith 2020-09-09 21:41:20 +08:00
Him188
8661627607 Introduce NotNullMap and NotNullMutableMap 2020-09-09 21:34:08 +08:00
Him188
72df43db27 Cleanup 2020-09-09 20:07:32 +08:00
Him188
2926e55590 Introduce parentPermission for commands 2020-09-09 10:02:56 +08:00
Him188
44ef4e7c56 Introduce BasePermission 2020-09-09 08:59:39 +08:00
Him188
a830a095de Add extensions for permission 2020-09-09 08:41:28 +08:00
Him188
3183bc4018 Init ConsoleInput and BotManager on start 2020-09-08 21:43:00 +08:00
Him188
9fec51977e Remove the serializer of PluginKind 2020-09-08 21:41:32 +08:00
Him188
05cde028bf Fix docs 2020-09-08 21:37:26 +08:00
Him188
6010d8c618 Remove CuiPluginCenter 2020-09-08 21:37:20 +08:00
Him188
48f6d68581 Add missing license 2020-09-08 21:35:52 +08:00
Him188
485e7ec9f7 Rearrange implementations 2020-09-08 21:35:30 +08:00
Him188
5cfaef0fcd Use 'Console' for dataHolderName for builtins 2020-09-08 21:29:30 +08:00
Him188
bf4c82f1a5 ExtensionSelectors and improved extensions API 2020-09-08 21:28:56 +08:00
Him188
e1f8125163 Structured init phases; Load plugins and init services in order 2020-09-08 20:21:41 +08:00
Him188
2f7d7fb097 Add docs 2020-09-08 19:27:30 +08:00
Him188
60e13e73e9 Fix ExactMember, ExactTemp 2020-09-08 17:24:02 +08:00
Him188
5c2a9a9553 Integrate Command with PermissionService 2020-09-08 17:21:53 +08:00
Him188
7638a7e759 No more kapt 2020-09-08 15:51:45 +08:00
Him188
048a10cc50 Fix serializers for StorablePermissionService.SaveData 2020-09-08 12:34:20 +08:00
Him188
900eac58b4 Install serializer for PermissionImpl, make PermissionImpl final 2020-09-08 12:33:56 +08:00
Him188
9b3c7c1902 Install serializer for PermissionId 2020-09-08 12:33:12 +08:00
Him188
6af2094b8f Don't require plugin to be enabled when registering extensions 2020-09-08 12:23:27 +08:00
Him188
fac66583ed Make inheritors of AbstractPermissibleIdentifier data class 2020-09-08 09:54:39 +08:00
Him188
1f9705deaf Permissions 2020-09-07 21:59:15 +08:00
Him188
8e3e328672 PermissionService fundamental 2020-09-07 12:12:27 +08:00
Him188
78d5f56c49 PermissionService fundamental 2020-09-06 14:24:50 +08:00
Him188
77176f5242 Adjust exception message for ExtensionException 2020-09-06 14:22:01 +08:00
Him188
7da6d33815 Add PostStartupExtension 2020-09-06 14:21:41 +08:00
Him188
52d417ad0e Check forbidden plugin names 2020-09-06 11:54:16 +08:00
Him188
9add8f71ef Add fake constructor for JvmPluginDescription 2020-09-06 11:44:16 +08:00
Him188
4fd379cfec Add suffix ".yml" for data files 2020-09-04 21:42:55 +08:00
Him188
127e49953c Use -jvm-default-all 2020-09-04 20:49:15 +08:00
Him188
bffecea0a1 Fix generic types 2020-09-04 20:49:02 +08:00
Him188
4ed8948e94 Add supertype Extension for AbstractExtensionPoint 2020-09-04 20:31:19 +08:00
Him188
a10e48cc36 Fix commands 2020-09-04 18:56:42 +08:00
Him188
21ec2c7786 Update docs 2020-09-04 15:34:34 +08:00
Him188
e8d96aaae2 Use MessageContent for CommandArgumentParser 2020-09-04 12:40:37 +08:00
Him188
d58e907d73 Correct file class name 2020-09-04 12:32:07 +08:00
Him188
4566403ece Use MessageChain for arguments for executing commands 2020-09-04 11:44:56 +08:00
Him188
6713ba9a19 Update README 2020-09-04 10:57:32 +08:00
Him188
09b249e9da Update docs: PluginData 2020-09-03 22:26:27 +08:00