Skip to content
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

Change default Dokka Generator worker isolation to 'classloader' #3908

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

adam-enko
Copy link
Member

@adam-enko adam-enko commented Nov 6, 2024

### Context

DGP must use the Worker API to run Dokka Generator in an isolated classpath. There are two available Worker modes: process isolation, and classloader isolation.

Originally in Dokkatoo I chose process isolation because Dokka Generator can be a heavy process, and using a separate process makes it easier to specifically increase the memory only for Dokka. However, for DGPv2 we want to more closely match the behaviour of DGPv1, which runs Dokka Generator in the same Gradle build process. With classloader isolation configuring memory is also easier (just increase memory for the Gradle daemon).

We also wanted to choose a default that 'just worked' for most project. In some large projects process isolation caused excessive memory usage (running both Dokka and Gradle in separate processes took a lot of system memory).
@adam-enko adam-enko added the runner: Gradle plugin An issue/PR related to Dokka's Gradle plugin label Nov 6, 2024
@adam-enko adam-enko added this to the Dokka 2.0.0 milestone Nov 6, 2024
@adam-enko adam-enko self-assigned this Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
runner: Gradle plugin An issue/PR related to Dokka's Gradle plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant