Him188
b500830a51
[build] Add dummy compileJava
and testClasses
to allow IntelliJ IDEA to run main functions from jvmTest
2023-09-09 15:45:39 +08:00
Karlatemp
061bd28798
[build/testing] Add jupiter-api back to testing
2023-07-25 15:29:05 +08:00
Him188
8ff64d4a7f
Remove native ( #2700 )
...
* Remove native target
* Add foojay-resolver-convention
* disable windows
2023-06-16 13:40:46 +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
Him188
2ef89d2b3f
[build] Do not apply Android-relevant plugins if Android target is not enabled
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
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
sandtechnology
cc7f35519e
Update login protocol ( #2433 )
...
* Update login protocol
Still need testing
* Turn off debug option and make t547 null when failed
* Fix wrong convert method and improve tips
* Remove unused part and improve tips
* Fix typo
* Inline resultStatus for performance
* Rename pow to PoW, the name should be "Proof of Work"
* Add shadow and deps-test for kt-bignum
* Try to fix deps-test
* Fix deps-test again
2023-01-18 17:41:21 +08:00
Him188
60bbcf6e2c
[core] Revert "Review atomic calls and enable atomicfu compiler. Close #2315 ", due to atomicfu does not behave correctly when mirai-console depends on mirai-core-utils. Fixes #2329 .
...
This commit reverts part of commit 564a7ce8f8
2022-11-27 20:08:21 +00:00
Him188
3360347ca2
[build] Fix dependency exclusion for builds when IDEA_ACTIVE
2022-11-27 15:25:18 +00:00
Him188
76cee371a9
[build] Register native binaries for mirai-core only to speed up builds
2022-11-27 15:25:18 +00:00
Him188
c0ccdbe9d3
[build] Rewrite shadow relocation
2022-11-27 15:25:18 +00:00
Him188
7e84330262
[core] Use netty-handler instead of netty-all to reduce size
2022-10-29 13:11:30 +01:00
Him188
564a7ce8f8
[core] Review atomic calls and enable atomicfu compiler. Close #2315
2022-10-29 13:04:37 +01:00
Him188
25e66d19c7
[core] Filter out relocated ktor dependencies in runtime except for mirai-core-utils and mirai-core-all. Fix #2291
2022-10-21 16:09:27 +01:00
AdoptOSS
397d824d33
[core] enhance(ECDH): reconstruct ECDH ( #2161 )
...
* enhance(ECDH): reconstruct ECDH
common: 移动特定于 QQ 平台的实现到 OicqECDH,重新设计 ECDH,使 ECDH 类只针对算法本身,而不过多包括 QQ 协议的使用细节
jvm: 尝试优先使用平台加密实现,可能改善性能
jvm & android: 使用 curveName `secp256r1` 代替 `prime256v1`,前者在 Java 中更常用,可以被更多的 JCE 实现所识别(虽然都是指同一条曲线)
android: 使用系统自带的实现以减少依赖,并尝试兼容 Android P+ 版本
native: 中间储存时保留OpenSSL内部结构而不反复 new & free,提高性能
(为了实现智能指针,需要用到 `@ExperimentalStdlibApi` 的 `createCleaner`,但这种风险应该可以接受)
native: 直接使用 point/bignum 到 bytes 的转换,避免了 hex string 作为中间层,提高效率
* test(ECDH): fix AndroidTest
* style(Ecdh): obey official Kotlin coding conventions
> When using an acronym as part of a declaration name, capitalize it if it consists of two letters (IOStream); capitalize only the first letter if it is longer (XmlFormatter, HttpInputStream).
> [View origin](https://kotlinlang.org/docs/coding-conventions.html )
Co-authored-by: ArcticLampyrid <arcticlampyrid@outlook.com>
2022-09-11 20:14:39 +08:00
Him188
fd67ba9204
Configure shadow relocation and add checks for multiplatform publishing
2022-07-20 00:30:16 +08:00
AdoptOSS
7325c1f7e2
native: 优化 build script 及 actions,修复 ECDH 相关资源释放问题 ( #2110 )
...
* build: fix build on Windows
* test: fix ContentEqualsTest on native
* build: allow disabling targets with property
* fix: free ECDH-related resources properly on native
avoid memory leaking (usually on *nix) or crash (usually on Windows)
Signed-off-by: AdoptOSS <adoptoss@outlook.com>
* build(workflow): remove invalid options
* fix(styling): `mirai.target` property
* build(workflow): try to limit memory usage during mirai-console:tools:gradle-plugin:integTest
* enhance(test): use buildList
* build(workflow): retry
Co-authored-by: ArcticLampyrid <arcticlampyrid@outlook.com>
2022-07-20 00:30:16 +08:00
Him188
21c4a5ba04
Use kotlinx-coroutines-test
2022-07-20 00:30:16 +08:00
Him188
cca40b8aa3
Add dummy jvmBase target for IDE
2022-07-20 00:30:16 +08:00
Him188
7dbb1a5ad7
Add RunConfigurations
2022-07-20 00:30:16 +08:00
Him188
fe0a4de368
Produce shared libraries and static libraries
2022-07-20 00:30:16 +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
daf9c4a208
Configure GitHub Actions for native
2022-07-20 00:30:16 +08:00
Him188
13dadd5a95
Implement mirai-core for native
2022-07-20 00:30:16 +08:00
Him188
7088835402
HMPP
2022-07-20 00:30:16 +08:00
Him188
ff2a8acb0c
Implement multiplatform modules
2022-07-20 00:30:16 +08:00
Him188
ce87400998
Use ktor-io to replace kotlinx-io
2022-07-20 00:30:16 +08:00
Him188
d96641dedb
Configure HMPP project structure
2022-07-20 00:30:16 +08:00
Him188
287769799a
Enable kotlin-dynamic-delegation in mirai-core and mirai-core-api
2022-05-25 22:39:53 +01:00
Him188
3d864362aa
Generalize binary validator
2022-01-06 20:26:52 +00:00
Him188
2a036d7bb3
Simplify buildscript: remove redundant comments
2022-01-06 04:46:58 +00:00
Him188
7faf630454
Update kotlin-jvm-blocking-bridge to 2.0.0-160.2
2021-12-23 01:37:11 +00:00
Him188
66999aadaf
Migrate to Kotlin 1.5.30 and review dependencies:
...
- Remove redundant atomicfu-common
- Do not expose kotlinx-io and atomicfu
2021-09-01 18:52:36 +08:00
Him188
8663978d65
Add RecordingNoticeProcessor
2021-09-01 13:55:39 +08:00
RainChan
06c1652d53
Bypass BC deprecation check on Android ( #1481 )
...
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
Co-authored-by: Karlatemp <karlatemp@vip.qq.com>
2021-08-25 15:07:56 +08:00
Him188
5950e9e1e8
Improve logging: use Log4j internally and support markers
...
Migrate usages of `MiraiLogger.create` to new API
apiDump for new logging
2021-08-11 15:24:32 +08:00
Him188
038be54444
Remote pcap4j from jvmTest
2021-06-08 16:14:23 +08:00
Him188
19bc781854
Add kotlinx-coroutines-debug
to jvmTest
2021-06-08 16:14:23 +08:00
Him188
5e25c0e25b
Remove bintray
2021-05-25 12:25:53 +08:00
Him188
0e1b9da5e4
Fix test KeepAliveNetworkHandlerSelectorTest
2021-05-09 00:54:48 +08:00
Him188
51c1450202
ComponentStorage
2021-05-09 00:54:48 +08:00
Him188
a143340141
Buildscript: Fix test artifacts included in main sourceset
2021-05-09 00:54:48 +08:00
Him188
b844efb072
New network: framework infrastructure
2021-05-09 00:54:48 +08:00