Файли
openidea/src/features/build-tools/DependencyAnalyzer.module.css
T
l0ng-ai 4fbe41194f feat(gradle): analyze a Gradle project's dependencies per configuration (#1181)
The Dependency Analyzer lists Gradle projects next to Maven modules. For a Gradle project it runs `<project>:dependencies --configuration <name>` (compile/runtime/test classpaths) in the background (on the project host for remote projects), cancellable and cached per session, and reuses the list/tree views, search, conflicts-only filter and usage paths: an exact request Gradle replaced (1.0 -> 1.1) is a conflict showing the requested version, constraints are left out, unresolved dependencies are marked and build projects (quoted or not) are recognised. Exclude / Jump to Source stay Maven-only. Opened from the Gradle tool window toolbar, a Gradle project's context menu and a build script's menus.

Closes #1005
2026-11-04 13:51:40 +08:00

213 рядки
3.3 KiB
CSS

.view {
height: 100%;
display: flex;
flex-direction: column;
min-height: 0;
background: var(--bg-editor);
}
.toolbar {
flex: none;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
min-height: 36px;
padding: 4px 8px;
border-bottom: 1px solid var(--border);
}
.module {
min-width: 160px;
max-width: 260px;
}
.search {
flex: 1 1 140px;
min-width: 140px;
max-width: 360px;
}
.scope {
min-width: 110px;
}
.sep {
width: 1px;
height: 16px;
margin: 0 2px;
background: var(--border);
}
.banner {
flex: none;
display: flex;
align-items: center;
gap: 6px;
min-height: 28px;
padding: 2px 10px;
font-size: var(--fs-small);
color: var(--fg-secondary);
border-bottom: 1px solid var(--border);
}
.bannerText {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.body {
flex: 1;
min-height: 0;
display: flex;
}
.body > * {
flex: 1;
min-width: 0;
}
.panel {
display: flex;
flex-direction: column;
min-width: 0;
min-height: 0;
}
.panel > * {
flex: 1;
min-height: 0;
}
.row {
display: flex;
align-items: center;
gap: 6px;
min-width: 0;
flex: 1;
white-space: nowrap;
}
.icon {
flex: none;
}
.label {
flex: 0 1 auto;
min-width: 24px;
overflow: hidden;
text-overflow: ellipsis;
color: var(--fg);
}
.selectedLabel {
color: var(--fg-strong);
}
.version {
flex: none;
font-family: var(--font-mono);
font-size: var(--fs-small);
color: var(--fg-secondary);
}
.detail {
flex: 0 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
color: var(--fg-muted);
font-size: var(--fs-small);
}
.conflict {
color: var(--warning);
}
.omitted .label,
.omitted .version {
color: var(--fg-muted);
}
.usages {
display: flex;
flex-direction: column;
min-height: 0;
height: 100%;
}
.usagesHeader {
flex: none;
display: flex;
align-items: center;
gap: 6px;
min-height: 32px;
padding: 0 10px;
border-bottom: 1px solid var(--border);
}
.usagesTitle {
flex: 1;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-family: var(--font-mono);
color: var(--fg-strong);
}
.conflictNote {
flex: none;
display: flex;
align-items: center;
gap: 6px;
padding: 6px 10px;
font-size: var(--fs-small);
color: var(--fg-secondary);
background: var(--bg-feedback-warning);
border-bottom: 1px solid var(--border-feedback-warning);
}
.usageList {
flex: 1;
min-height: 0;
overflow: auto;
padding: 4px 0;
}
.usage {
padding: 6px 10px 8px;
border-bottom: 1px solid var(--border);
}
.usageHeader {
display: flex;
align-items: center;
gap: 6px;
min-height: 26px;
}
.usageVersion {
flex: none;
font-family: var(--font-mono);
color: var(--fg);
}
.usageStatus {
flex: 0 1 auto;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: var(--fs-small);
color: var(--fg-muted);
}
.spacer {
flex: 1;
}
.path {
margin: 4px 0 0;
padding: 0;
list-style: none;
}
.step {
display: flex;
align-items: center;
gap: 6px;
min-height: 22px;
white-space: nowrap;
}
.stepLabel {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
color: var(--fg-secondary);
}
.stepTarget {
color: var(--fg-strong);
}
.errorText {
max-width: 560px;
white-space: pre-wrap;
overflow-wrap: anywhere;
color: var(--fg-muted);
}