Commit Graph

566 Commits

Author SHA1 Message Date
Him188
9514a5c3e8 Make SemVersion.Requirement not fun 2020-09-20 18:59:59 +08:00
Him188
2035e136f3 Rename SemVersion.RangeRequirement to SemVersion.Requirement 2020-09-20 18:59:37 +08:00
Him188
47750c5060 Add ResolveContext for PluginDependency 2020-09-20 18:58:26 +08:00
Him188
09de9e7cd7 Make SimpleJvmPluginDescription internal 2020-09-20 18:57:10 +08:00
Him188
e26e98d030 Rename SemVersion.Companion.parse to SemVersion.Companion.invoke 2020-09-20 18:54:51 +08:00
Karlatemp
eb7cd3811d
Deploy SemVersion 2020-09-20 18:02:35 +08:00
Him188
6912982949 Fix docs 2020-09-20 14:31:27 +08:00
Him188
cea545d46b Merge remote-tracking branch 'origin/master' 2020-09-20 14:29:32 +08:00
Him188
30a10f56d0 Update docs 2020-09-20 14:25:54 +08:00
Karlatemp
40402dadf2
Merge branch 'master' of https://github.com/mamoe/mirai-console 2020-09-20 14:11:28 +08:00
Karlatemp
44598aa1fa
Convert receiver to parameter 2020-09-20 14:10:08 +08:00
Him188
9acaa7882d Merge remote-tracking branch 'origin/master' 2020-09-20 14:10:03 +08:00
Him188
9c2a0abda5 Move implementations to SemVersionInternal 2020-09-20 14:09:48 +08:00
Karlatemp
46ec2460b3
Merge remote-tracking branch 'origin/master' 2020-09-20 13:56:52 +08:00
Him188
7a533d4667 Use lazy for SemVersion.toString 2020-09-20 13:56:12 +08:00
Karlatemp
798425e6e8
Rename SemVersion.RangeRequirement.check to test 2020-09-20 13:55:44 +08:00
Him188
ef4d259f60 Document improvements 2020-09-20 13:55:00 +08:00
Karlatemp
58d799581b
Add CommandExecuteResult.IllegalArgument 2020-09-20 09:40:51 +08:00
Karlatemp
b77a856ebe
Merge remote-tracking branch 'origin/master' into command 2020-09-20 09:24:24 +08:00
Him188
100bc10404 Fix shadow 2020-09-20 00:28:57 +08:00
Him188
ec03f8322d Update docs 2020-09-19 23:29:28 +08:00
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