New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#854 update projects to use new Kotlin Multiplatform Gradle plugin #855
Conversation
… re-integrated one-by-one
…everted or fixed later)
…spec - will fix properly later)
- improve sharing of classes.dex from dispatcher to android agent - migrate client-test subproject
a649c36
to
5dd6203
Compare
@Raibaz Hey, could you have a look at the progress so far? I'd like to know what you think before I finish up. It would probably be easier to look at the changes by checking out the branch, then you can see the new structure. A summary
|
…-config # Conflicts: # modules/mockk-agent-android/api/mockk-agent-android.api
Looks pretty cool so far, thanks a lot! |
- setup JavadocJar to use DokkaHtml - IntelliJ ignore config directories - set up Kover for code coverage
…me reafactoring of build scripts
Sure, this males a lot of sense, thanks! |
Still cannot build it locally btw, getting the same error. |
Are you on an M1 Mac? Is it this issue? gradle/gradle#19874 |
Yep that looks exactly like my case. |
I changed the buildSrc Toolchain to be jdk11 - that might fix it? |
Yep this fixed it, thanks a lot! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.mockk:mockk](https://mockk.io) ([source](https://togithub.com/mockk/mockk)) | `1.12.5` -> `1.12.7` | [![age](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/compatibility-slim/1.12.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/io.mockk:mockk/1.12.7/confidence-slim/1.12.5)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>mockk/mockk</summary> ### [`v1.12.7`](https://togithub.com/mockk/mockk/releases/tag/1.12.7) [Compare Source](https://togithub.com/mockk/mockk/compare/1.12.6...1.12.7) #### What's Changed - Update android-sdk-detector.settings.gradle.kts by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#886 - only sign if the signing properties are present by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#885 - Fix an issue that Android libraries was not published by [@​kubode](https://togithub.com/kubode) in [mockk/mockk#887 #### New Contributors - [@​kubode](https://togithub.com/kubode) made their first contribution in [mockk/mockk#887 **Full Changelog**: mockk/mockk@1.12.6...1.12.7 ### [`v1.12.6`](https://togithub.com/mockk/mockk/releases/tag/1.12.6) [Compare Source](https://togithub.com/mockk/mockk/compare/1.12.5...1.12.6) #### What's Changed - Dependency updates, JDK17 v2 by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#863 - Dependency updates, JDK17 by [@​hduerkop](https://togithub.com/hduerkop) in [mockk/mockk#829 - Fix unmockkAll to work if constructor was mocked multiple times by [@​Chrostoq](https://togithub.com/Chrostoq) in [mockk/mockk#870 - fix: fix value class field determination by [@​qoomon](https://togithub.com/qoomon) in [mockk/mockk#872 - [#​854](https://togithub.com/mockk/mockk/issues/854) update projects to use new Kotlin Multiplatform Gradle plugin by [@​aSemy](https://togithub.com/aSemy) in [mockk/mockk#855 #### New Contributors - [@​hduerkop](https://togithub.com/hduerkop) made their first contribution in [mockk/mockk#829 - [@​Chrostoq](https://togithub.com/Chrostoq) made their first contribution in [mockk/mockk#870 **Full Changelog**: mockk/mockk@1.12.5...1.12.6 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/RBusarow/Dispatch). PR-URL: #564
Initial steps at implementing #854, and migrating to the new Kotlin Multiplatform plugin. Additionally, re-organises the subprojects to a flatter structure.
.api
files are the same. They're still generated, but each new subproject has a single merged file, so I didn't try comparingplugins/configuration
plugins to buildSrc pluginsmodules/mockk-agent-api/api-old
files (I moved them here because themockk-agent-common
andmockk-agent-api
projects were merged, and I wanted to make sure the new.api
matched)localrepo=/Users/raibaz/.m2/repository
ingradle.properties
, so I didn't migrate it. @Raibaz Can this be replaced by running./gradlew publishToMavenLocal
?UPDATE: changed to be system-independent, can be overridden on machines in
$GRADLE_USER_HOME/gradle.properties
Summary
refactored projects to use newer Kotlin Multiplatform plugin
New subprojects are
mockk
mockk-agent
mockk-agent-android
mockk-agent-android-dispatcher
mockk-agent-api
mockk-android
mockk-dsl
the only significant difference is that
mockk-agent-common
was merged intomockk-agent-api
.grouped subprojects under 'modules' directory
set up buildSrc convention plugins
migrated all Gradle config to Kotlin
Renamed
ValueClassSupport
toValueClassSupportAndroid
in the Android project (temp fix because I got an error - this should be fixed in Reduce code duplication across subprojects #857)You can test publishing by running
./gradlew publishAllPublicationsToLocalRepoRepository
and seeing the result in./build/maven-local-repo
removed Jacoco, and replaced it with Kotlinx Kover
Javadoc is now provided by Dokka HTML