Commit Graph

8412 Commits

Author SHA1 Message Date
Him188
64e3d6c0f2
[core] Add common JvmFile for compatibility 2023-05-08 12:21:38 +01:00
cssxsh
44e9bb118c
[core+console] Update docs (#2639)
* feat: Question.md

* update: UserManual.md

* update: ConsoleTerminal.md

* update: ConsoleTerminal.md

* update: Question.md

* update: Bots.md

* update: Question.md

* update: EventList.md

* update: Question.md

* update: Preparations.md

* update: ConsoleTerminal.md

* update: Bots.md

* update: nav.js

* update: UserManual.md

* update: Bots.md

* update: Bots.md

* update: Bots.md

* update: ConsoleTerminal.md

* update: Questions.md

* update: Questions.md

* update: ...

* update: Bots.md

* update: Questions.md

---------

Co-authored-by: Him188 <Him188@mamoe.net>
2023-05-06 13:13:18 +01:00
Him188
9d1e78386e
[core] Generate blocking bridges for Announcements.members and Announcements.remind 2023-05-06 11:53:04 +01:00
Him188
b82e938b2c
[build] Fix checkAndroidApiLevel tasks when building without ADK 2023-05-06 11:20:49 +01:00
Him188
363d1f7ece
Remove module-level opt-ins, add @OptIn explicit in use-sites;
added some opt-in markers on API which should have:

- `appendMiraiCodeTo`

Made API stable (otherwise they require too heavy opt-ins):
- MiraiConsoleImplementation$ConsoleLaunchOptions
- LowLevelApi
2023-05-06 11:04:31 +01:00
Karlatemp
96a772c5ca
Add mirai.enable.jvmtoolchain.special=false to disable jvmToolchain 2023-05-05 23:26:52 +08:00
Karlatemp
bc8ff18b07
[build] Reload local.properties when file modified 2023-05-05 23:26:12 +08:00
Him188
bda5d54bd3 [core/auth] Wrap exception from BotAuthorization as BotAuthorizationException; add tests 2023-05-04 16:36:28 +01:00
Him188
b18e62b3b6 [core] SsoProcessor.loginSuccess: use sendRegister to allow being overriden for tests 2023-05-04 16:36:28 +01:00
Him188
c6a8f4bde5 [core] Remove Latch since it's not needed anymore 2023-05-04 16:36:28 +01:00
Him188
0e625d3368 [core] OnDemandChannel: Ensure scope is closed on exceptional cases:
[core] OnDemandChannel: Ensure channel close and emit shares same behavior

[core] OnDemandChannel: Ensure channel is closed properly when producer throws an exception

[core] OnDemandChannel: Ensure coroutine scope cancelled when producer coroutine throws exception,

also added more tests
2023-05-04 16:36:28 +01:00
Him188
87fbaa4fb2 [core] Revise OnDemandChannel, improve state abstraction:
[core] Start producer coroutine immediately on `expectMore` and yield

Improve docs for OnDemandChannel

Rename factory function `OnDemandReceiveChannel` to  `OnDemandChannel` to better cover its meaning

Create deferred lazily in Producing state

Rename ProducerState to ChannelState

fix atomicfu bug receiveOrNull

Add docs (WIP, to be rebased)

[core] OnDemandChannel: Catch Throwable in `receiveOrNull` to prevent possible failures
2023-05-04 16:36:28 +01:00
Him188
99f592d614 [core] Move Latch and OnDemandValueScope to mirai-core-utils,
and rename OnDemandValueScope to OnDemandSendChannel and OnDemandReceiveChannel
2023-05-04 16:36:28 +01:00
Him188
36d90c57fe [core] Add UtilsLogger in mirai-core-utils module to bridge logging,
also added delegations in mirai-core and mirai-core-api.
2023-05-04 16:36:28 +01:00
Him188
26ea98db6a [core] Extract SafeBotAuthSession implementation from AuthControl 2023-05-04 16:36:28 +01:00
Him188
0c24053198 [core] AuthControl: require explicit .start() instead of launching job in constructor 2023-05-04 16:36:28 +01:00
Him188
10e731f260 [core] CoroutineOnDemandValueScope: remove CreatingProducer state 2023-05-04 16:36:28 +01:00
Him188
d263a9ee29
[core] MiraiProtocolInternal: Use setters 2023-05-02 21:41:22 +01:00
Him188
64cfab6f0a [build] Publish android artifacts 2023-05-02 16:17:48 +01:00
Him188
84d03c9a71 [core] Set minimum Android API level to 21 2023-05-02 16:17:48 +01:00
Him188
193fedfc24 [docs] Improve docs for building the project and add instructions for building Android 2023-05-02 16:17:48 +01:00
Him188
2ef89d2b3f [build] Do not apply Android-relevant plugins if Android target is not enabled 2023-05-02 16:17:48 +01:00
Him188
438b58c717 [build] Binary validator: support Android 2023-05-02 16:17:48 +01:00
Him188
178ca6c1b5 [build] Rewrite shadow relocation; fix dependency graph issues with Android, and improve build performance:
- Generate relocated JARs with classifier `relocated`, instead of replacing the output of `:jar` task.

- Create `JvmRelocated` publications to publish relocated artifacts.

- Patch Kotlin Metadata and Maven Pom for the added publication.

- Updated deps test to be more strict
2023-05-02 16:17:48 +01:00
Him188
40d4957837 [core/android] Implement mirai-core tests for Android target with AndroidSDK 2023-05-02 16:17:48 +01:00
Him188
4ed551027a [build] Support both configuring Android targets by Android SDK or JVM
- try to fix sdk dir when android is desired
- Do not printAndroidNotInstalled multiple times
2023-05-02 16:17:48 +01:00
Him188
2cf97a181f [build] Use JUnit5 on Android 2023-05-02 16:17:48 +01:00
Him188
a2d50ec03a [build] Relocate ktor only for jvm, not for Android 2023-05-02 16:17:48 +01:00
Him188
164f621427 [build] Fully support Android target; Update to Gradle 8.0 2023-05-02 16:17:48 +01:00
Him188
fc549d380f
[core] Make properties mutable in MiraiProtocolInternal 2023-05-01 23:11:46 +01:00
Him188
a988d442e2
[core] Add PacketReplier DSL for core tests 2023-05-01 22:56:34 +01:00
Him188
e4ff4d108e
[build] Use language version 1.9 and enable Context Receivers for tests 2023-05-01 22:56:33 +01:00
Him188
7a5cbbcb88
[core] Add kotlinx-coroutines-debug in mirai-core-utils 2023-05-01 22:52:29 +01:00
Him188
0ea5503f3b
[core/testFramework] Add assertNoCoroutineSuspension 2023-05-01 22:52:11 +01:00
Him188
9995a2136c
[build] Publishing: remove install OpenSSL for macOS 2023-05-01 11:09:44 +01:00
Him188
c3a9511783
[core] Remove redundant AtomicFU runtime dependency from mirai-core-utils 2023-05-01 11:09:40 +01:00
Him188
f469e889d2
[build] Enable atomicfu compiler plugin for mirai-core and mirai-core-api, but disable transformations for JVM, #2315 2023-05-01 11:09:28 +01:00
Him188
38a98bbd98
[build] Print "SonaType is not available" using Gradle logger 2023-05-01 11:08:53 +01:00
Him188
1166f3d77a
[core] Make Services.registerAsOverride public to be used in tests 2023-05-01 11:08:26 +01:00
Him188
6798de8093
[core] Make ImageUploadedChecker not fun interface since Kotlin doesn't support suspend fun in that 2023-05-01 11:08:21 +01:00
Him188
111236e0be
[build] Create "local.properties" on build if not exists 2023-05-01 11:08:12 +01:00
Him188
d2d2f4844d
[core] Fix minor compiler warnings
- unused variables
- requires opt-in
2023-05-01 11:08:04 +01:00
Him188
3cbc253121
[core] Handle a nullable case in readResource from Java 2023-05-01 11:08:04 +01:00
Him188
959224cad2
[core] Throw ISE when "user.dir" is not available, instead of throwing NPE 2023-05-01 11:08:04 +01:00
Him188
cd18eb857d
[gradle] Suppress deprecation on compileKotlinTask since we still need to support older Kotlin versions 2023-05-01 11:08:03 +01:00
Samarium
f0bdd18d26
[idea] feat: provide an option for whether to use the proxy repo (#2636)
* feat(idea): set proxy repository for gradle plugins

* feat(idea): provide an option for whether to use the proxy repo

* chore: update copyright

* fix: rename the message key
2023-04-24 15:22:38 +01:00
Him188
b4bd1e74cf
[build] Use "kotlinx-datetime-jvm" for ci-release-helper to overcome missing dependency issue 2023-04-22 12:57:31 +01:00
Samarium
a397ee9959
[idea] feat: set jvmTarget version explicitly (#2631)
feat(idea): set jvmTarget version explicitly
2023-04-18 10:08:32 +01:00
Him188
578d1a9d48
[core] CoroutineOnDemandValueScope: fix exception message when emit/receive while producer is already finished 2023-04-16 10:31:03 +01:00
Him188
a1d8d744d0
[core] CoroutineOnDemandValueScope: fix emit when state is ProducerReady 2023-04-16 10:31:03 +01:00