This was attempted in PR #1291 , but failed due to a complicated git history and lack of momentum.
The goal of this issue is to track the progress on this issue, that is blocking for almost all feature development of stryker4s and the future stryker4jvm kotlin & java projects.
In order to attract more developers and / or momentum, the following should be considered:
- Build tooling uses Maven, unless otherwise necessary. (e.g. for the build tool implementations)
- Because Maven is the most compatible with everything, and there is currently a lot of Maven knowledge around (@infosupport HQ)
- Programming language used is Java, unless otherwise necessary. (e.g. for the existing core, and the language interface implementations)
The basic premise of this refactor is the following:
- Add a language interface
- The language interfaces can be written in their own respective language (e.g. Kotlin in Kotlin)
- Add a build tool interface
- Build each build tool specific implementation with the respective build tool. (e.g. Gradle w/ Gradle)
- The common interfaces will be Java for compatibility / interop.
It has been proposed to use ServiceLoaders to load the language interface implementations dynamically into the core at runtime, so that the order of compilation and / or build orchestration is greatly simplified.

This was attempted in PR #1291 , but failed due to a complicated git history and lack of momentum.
The goal of this issue is to track the progress on this issue, that is blocking for almost all feature development of stryker4s and the future stryker4jvm kotlin & java projects.
In order to attract more developers and / or momentum, the following should be considered:
The basic premise of this refactor is the following:
It has been proposed to use ServiceLoaders to load the language interface implementations dynamically into the core at runtime, so that the order of compilation and / or build orchestration is greatly simplified.