Inspect Gradle Class Loader

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 #