Inspect Gradle Class Loader
#
ws
#
tree --sort=name /tmp/ws
/tmp/ws
├── app
│ ├── build.gradle.kts
│ └── core
│ ├── common
│ │ └── build.gradle.kts
│ └── compiler
│ └── build.gradle.kts
├── build.gradle.kts
├── buildtool
│ ├── build.gradle.kts
│ ├── plugin
│ │ └── build.gradle.kts
│ ├── setting
│ │ └── build.gradle.kts
│ ├── settings.gradle.kts
│ └── sorter
│ └── build.gradle.kts
└── settings.gradle.kts
[debug] buildtool:settings VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:buildtool]:kotlin-dsl:/Users/anya/workspace/workspace/buildtool/settings.gradle.kts:Settings/TopLevel/stage2(local)})
[debug] buildtool:settings CachingClassLoader(FilteringClassLoader(MixInLegacyTypesClassLoader(legacy-mixin-loader)))
...
[debug] buildtool:settings jdk.internal.loader.ClassLoaders$PlatformClassLoader@1835f7f
[debug] buildtool:rootProject VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:buildtool]:buildSrc[:buildtool]:root-project[:buildtool]:kotlin-dsl:/Users/anya/workspace/workspace/buildtool/build.gradle.kts:Project/TopLevel/stage2(local)})
[debug] buildtool:rootProject InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:buildtool]:buildSrc[:buildtool]:root-project[:buildtool](export)})
[debug] buildtool:rootProject VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:buildtool]:buildSrc[:buildtool](export)})
...
[debug] buildtool:rootProject jdk.internal.loader.ClassLoaders$PlatformClassLoader@1835f7f
[debug] settings VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:kotlin-dsl:/Users/anya/workspace/workspace/settings.gradle.kts:Settings/TopLevel/stage2(local)})
[debug] settings InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:](export)})
...
[debug] settings jdk.internal.loader.ClassLoaders$PlatformClassLoader@1835f7f
[debug] rootProject VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project[:]:kotlin-dsl:/Users/anya/workspace/workspace/build.gradle.kts:Project/TopLevel/stage2(local)})
[debug] rootProject InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project[:](export)})
[debug] rootProject VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:](export)})
[debug] rootProject InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:](export)})
...
[debug] rootProject jdk.internal.loader.ClassLoaders$PlatformClassLoader@1835f7f
[debug] :app VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project[:]:project-app:kotlin-dsl:/Users/anya/workspace/workspace/app/build.gradle.kts:Project/TopLevel/stage2(local)})
[debug] :app InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:]:root-project[:](export)})
[debug] :app VisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:]:buildSrc[:](export)})
[debug] :app InstrumentingVisitableURLClassLoader(ClassLoaderScopeIdentifier.Id{coreAndPlugins:settings[:](export)})
...
[debug] :app jdk.internal.loader.ClassLoaders$PlatformClassLoader@1835f7f
graph TD
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
JVMClassLoader(Java Virtual Machine ClassLoader):::process --> CoreAndPluginsClassLoader(Core And Plugins ClassLoader):::process
CoreAndPluginsClassLoader --> SettingsClassLoader(Settings ClassLoader):::process
SettingsClassLoader --> BuildSrcClassLoader(BuildSrc ClassLoader):::process
BuildSrcClassLoader --> RootProjectClassLoader(Root Project ClassLoader):::process
RootProjectClassLoader --> ProjectAppClassLoader(Project App ClassLoader):::process
References
#