mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-248623 Move Agent Workbench plugin to Ultimate
Drop the obsolete standalone Gradle scaffold IJ-MR-184958 IJ-MR-184993 IJ-MR-179029 IJ-MR-184126 IJ-MR-181153 IJ-MR-146078 IJ-MR-175479 IJ-MR-186058 IJ-MR-193195 IJ-MR-196957 IJ-MR-199124 IJ-MR-197441 IJ-MR-204135 IJ-MR-204674 IJ-MR-205883 IJ-MR-208539 GitOrigin-RevId: 18a13029becf6885a2de0ae22ac3d5e3acbf883e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
90d5ef0959
commit
c38c8b9532
Generated
-2
@@ -60,8 +60,6 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/engine/intellij.agent.workbench.engine.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/engine/intellij.agent.workbench.engine.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/engine/intellij.agent.workbench.engine.tests.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/engine/intellij.agent.workbench.engine.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/pi/awb/intellij.agent.workbench.pi.awb.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/pi/awb/intellij.agent.workbench.pi.awb.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/plugin/intellij.agent.workbench.plugin.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/plugin/intellij.agent.workbench.plugin.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/plugin/intellij.agent.workbench.plugin.tests.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/plugin/intellij.agent.workbench.plugin.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/prompt/context/intellij.agent.workbench.prompt.context.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/prompt/context/intellij.agent.workbench.prompt.context.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/prompt/core/intellij.agent.workbench.prompt.core.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/prompt/core/intellij.agent.workbench.prompt.core.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/plugins/agent-workbench/prompt/core/intellij.agent.workbench.prompt.core.tests.iml" filepath="$PROJECT_DIR$/plugins/agent-workbench/prompt/core/intellij.agent.workbench.prompt.core.tests.iml" />
|
||||
|
||||
@@ -778,8 +778,6 @@ jvm_library(
|
||||
"//plugins/git4idea/terminal:terminal_test_lib",
|
||||
"//platform/instanceContainer:instanceContainer-tests",
|
||||
"//platform/instanceContainer:instanceContainer-tests_test_lib",
|
||||
"//plugins/agent-workbench/plugin:agent-workbench-plugin-tests",
|
||||
"//plugins/agent-workbench/plugin:agent-workbench-plugin-tests_test_lib",
|
||||
"//platform/polySymbols:polySymbols-tests",
|
||||
"//platform/polySymbols:polySymbols-tests_test_lib",
|
||||
"//plugins/gradle/native/tooling:gradle-native-tooling-tests",
|
||||
|
||||
@@ -1002,7 +1002,6 @@ plugins/agent-workbench/lib-agent/providers/pi/sessions-filewatch
|
||||
plugins/agent-workbench/lib-agent/providers/terminal/sessions
|
||||
plugins/agent-workbench/lib-agent/sessions-core
|
||||
plugins/agent-workbench/pi/awb
|
||||
plugins/agent-workbench/plugin
|
||||
plugins/agent-workbench/prompt/context
|
||||
plugins/agent-workbench/prompt/core
|
||||
plugins/agent-workbench/prompt/testrunner
|
||||
|
||||
@@ -89,7 +89,6 @@
|
||||
<orderEntry type="module" module-name="intellij.terminal.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.vcs.git.terminal" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.instanceContainer.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.plugin.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.polySymbols.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.gradle.native.tooling.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.images.tests" scope="TEST" />
|
||||
|
||||
+1
-1
@@ -197,7 +197,7 @@ private suspend fun buildNonBundledPlugins(
|
||||
json = json,
|
||||
)
|
||||
|
||||
if (isPluginValidationEnabled && plugin.mainModule != "intellij.agent.workbench.plugin") {
|
||||
if (isPluginValidationEnabled && plugin.mainModule != "intellij.air.plugin") {
|
||||
spanBuilder("plugin validation").use { span ->
|
||||
if (Files.notExists(destFile)) {
|
||||
span.addEvent("doesn't exist, skipped", Attributes.of(AttributeKey.stringKey("path"), destFile.invariantSeparatorsPathString))
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="5" platform="JVM 25" allPlatforms="JVM [25]" useProjectSettings="false">
|
||||
<compilerSettings>
|
||||
<option name="additionalArguments" value="-Xjvm-default=all -XXLanguage:+AllowEagerSupertypeAccessibilityChecks -progressive" />
|
||||
</compilerSettings>
|
||||
<compilerArguments>
|
||||
<stringArguments>
|
||||
<stringArg name="jvmTarget" arg="25" />
|
||||
<stringArg name="apiVersion" arg="2.4" />
|
||||
<stringArg name="languageVersion" arg="2.4" />
|
||||
</stringArguments>
|
||||
<arrayArguments>
|
||||
<arrayArg name="pluginClasspaths">
|
||||
<args>$KOTLIN_BUNDLED$/lib/kotlinx-serialization-compiler-plugin.jar</args>
|
||||
</arrayArg>
|
||||
</arrayArguments>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="com.intellij.agent.workbench.acp" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.kotlinx.serialization.core" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.kotlinx.serialization.json" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.execution.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.projectModel" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.acp" />
|
||||
<orderEntry type="module" module-name="intellij.platform.eel" />
|
||||
<orderEntry type="module" module-name="intellij.terminal.frontend" />
|
||||
<orderEntry type="module" module-name="intellij.terminal" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.acp.runtime" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.engine" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.sessions.core" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.toolwindow" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.thread.view" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.ui" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,9 +0,0 @@
|
||||
*~
|
||||
.DS_Store
|
||||
.idea
|
||||
.intellijPlatform
|
||||
.kotlin
|
||||
.gradle
|
||||
gradle
|
||||
build
|
||||
local.properties
|
||||
@@ -5,7 +5,7 @@ This file captures development references only. Product/design decisions live in
|
||||
- `pluginId`: `com.intellij.agent.workbench`
|
||||
- Tool window ID: `agent.workbench.sessions`
|
||||
- Tool window title: "Agent Threads"
|
||||
- Main module: `intellij.agent.workbench.plugin` (plugin.xml)
|
||||
- Main module: `intellij.air.plugin` (plugin.xml)
|
||||
- Content module: `intellij.agent.workbench.sessions`
|
||||
- Spec format (single source): `../../.ai/spec/SPEC_GUIDE.md` (specs live under `spec/`).
|
||||
- Issue tracker: https://github.com/JetBrains/agent-workbench
|
||||
@@ -34,11 +34,11 @@ Always pass fully-qualified test names (FQN). Simple class names do not match.
|
||||
- Single test class:
|
||||
`./tests.cmd --module intellij.agent.workbench.sessions.tests --test com.intellij.agent.workbench.sessions.AgentSessionCliTest`
|
||||
- Plugin-wired editor/action test:
|
||||
`./tests.cmd --module intellij.agent.workbench.plugin.tests --test com.intellij.agent.workbench.thread.view.AgentThreadViewEditorServiceTest`
|
||||
`./tests.cmd --module intellij.air.plugin.tests --test com.intellij.agent.workbench.thread.view.AgentThreadViewEditorServiceTest`
|
||||
- Whole sessions package:
|
||||
`./tests.cmd --module intellij.agent.workbench.sessions.tests --test 'com.intellij.agent.workbench.sessions.*'`
|
||||
- Whole Agent Workbench test suite:
|
||||
`./tests.cmd --module intellij.agent.workbench.plugin.tests --test com.intellij.agent.workbench.plugin.AgentWorkbenchAllTestsSuite`
|
||||
`./tests.cmd --module intellij.air.plugin.tests --test com.intellij.air.plugin.AgentWorkbenchAllTestsSuite`
|
||||
|
||||
Important: keep the `--test` argument quoted (single quotes) so shells like `zsh` do not expand `*` before `tests.cmd` receives it.
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ Primary sources of truth:
|
||||
|
||||
```text
|
||||
com.intellij.agent.workbench
|
||||
`- intellij.agent.workbench.plugin plugin wrapper; owns plugin.xml
|
||||
`- intellij.air.plugin plugin wrapper; owns plugin.xml
|
||||
`- runtime content modules
|
||||
|- lib-agent/* provider/runtime contracts and implementations
|
||||
|- sessions, thread-view, prompt/* app services and user workflows
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
val ultimateModuleDir = rootProject.file("../../../plugins/agent-workbench/ai-review-agents")
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf(ultimateModuleDir.resolve("src"))) }
|
||||
resources { setSrcDirs(listOf(ultimateModuleDir.resolve("resources"))) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
val llmPluginDir: File? = rootProject.findProperty("llmPluginPath")?.toString()?.let { rootProject.file(it) }
|
||||
?: rootProject.file("../../../out/deploy/temp/non-bundled-plugins-IU/ml-llm").takeIf { it.isDirectory }
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
bundledModules(
|
||||
"intellij.platform.vcs",
|
||||
"intellij.platform.vcs.impl",
|
||||
)
|
||||
bundledPlugins(
|
||||
"Git4Idea",
|
||||
)
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("lib")) {
|
||||
include("intellij.platform.vcs*.jar")
|
||||
})
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/vcs-git/lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
if (llmPluginDir != null) {
|
||||
compileOnly(fileTree(llmPluginDir.resolve("lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
implementation(project(":ai-review"))
|
||||
implementation(project(":prompt-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
val ultimateModuleDir = rootProject.file("../../../plugins/agent-workbench/ai-review-space")
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf(ultimateModuleDir.resolve("src"))) }
|
||||
resources { setSrcDirs(listOf(ultimateModuleDir.resolve("resources"))) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
val spacePluginDir: File? = rootProject.findProperty("spacePluginPath")?.toString()?.let { rootProject.file(it) }
|
||||
?: platformLocalPath?.let { rootProject.file(it).resolve("plugins/space") }?.takeIf { it.isDirectory }
|
||||
?: rootProject.file("../../../out/deploy/dist/plugins/space").takeIf { it.isDirectory }
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
bundledModules(
|
||||
"intellij.platform.vcs",
|
||||
"intellij.platform.vcs.impl",
|
||||
"intellij.platform.collaborationTools",
|
||||
"intellij.platform.diff",
|
||||
)
|
||||
bundledPlugins(
|
||||
"Git4Idea",
|
||||
)
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("lib")) {
|
||||
include("intellij.platform.vcs*.jar")
|
||||
include("intellij.platform.collaborationTools*.jar")
|
||||
include("intellij.platform.diff*.jar")
|
||||
})
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/vcs-git/lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
if (spacePluginDir != null) {
|
||||
compileOnly(fileTree(spacePluginDir.resolve("lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
implementation(project(":ai-review"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
if (platformLocalPath == null) {
|
||||
bundledModules(
|
||||
"intellij.platform.vcs",
|
||||
)
|
||||
bundledPlugins(
|
||||
"org.intellij.plugins.markdown",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("lib")) {
|
||||
include("intellij.platform.vcs*.jar")
|
||||
})
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/markdown/lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
implementation(project(":prompt-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,160 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
import java.io.File
|
||||
import java.util.Properties
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
// Module JARs must be named after their IntelliJ module ID so that the IDE can resolve content module descriptors
|
||||
// from lib/modules/<moduleId>.jar. The composedJar task defaults to <rootProject>.<subproject>.jar which doesn't match.
|
||||
subprojects {
|
||||
plugins.withId("org.jetbrains.intellij.platform.module") {
|
||||
tasks.named<AbstractArchiveTask>("composedJar") {
|
||||
archiveBaseName.set("intellij.agent.workbench.${project.name.replace('-', '.')}")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val localProperties = Properties().also { props ->
|
||||
File(rootDir, "local.properties").takeIf { it.exists() }?.inputStream()?.use(props::load)
|
||||
}
|
||||
|
||||
fun localProperty(name: String): String? = localProperties.getProperty(name)
|
||||
|
||||
val platformLocalPath: String? = localProperty("platformLocalPath")
|
||||
val platformVersion = localProperty("platformVersion") ?: "262-SNAPSHOT"
|
||||
|
||||
// Export for subprojects
|
||||
extra["platformLocalPath"] = platformLocalPath
|
||||
extra["platformVersion"] = platformVersion
|
||||
|
||||
// Space plugin is required by ai-review-space at runtime. It's not in the Gradle-transformed IDE,
|
||||
// so resolve it manually and add via localPlugin() to include it in the sandbox.
|
||||
val spacePluginDir: File? = localProperty("spacePluginPath")?.let { file(it) }
|
||||
?: platformLocalPath?.let { file(it).resolve("plugins/space") }?.takeIf { it.isDirectory }
|
||||
?: file("../../../out/deploy/dist/plugins/space").takeIf { it.isDirectory }
|
||||
|
||||
extra["spacePluginDir"] = spacePluginDir
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
pluginConfiguration {
|
||||
name = "Agent Workbench"
|
||||
version = localProperty("pluginVersion") ?: "0.1.0"
|
||||
ideaVersion {
|
||||
sinceBuild = localProperty("pluginSinceBuild")
|
||||
untilBuild = localProperty("pluginUntilBuild")
|
||||
}
|
||||
}
|
||||
// Disable bytecode instrumentation when using a local IDE build (262.x compiler tools aren't published yet)
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
setSrcDirs(emptyList<String>())
|
||||
}
|
||||
resources {
|
||||
setSrcDirs(listOf("plugin/resources"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
bundledPlugins(
|
||||
"org.jetbrains.plugins.terminal",
|
||||
"org.intellij.plugins.markdown",
|
||||
)
|
||||
testFramework(TestFrameworkType.Platform)
|
||||
testFramework(TestFrameworkType.Bundled)
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
|
||||
if (spacePluginDir != null) {
|
||||
localPlugin(spacePluginDir)
|
||||
}
|
||||
|
||||
pluginModule(implementation(project(":core")))
|
||||
pluginModule(implementation(project(":common")))
|
||||
pluginModule(implementation(project(":json")))
|
||||
pluginModule(implementation(project(":filewatch")))
|
||||
pluginModule(implementation(project(":thread-view")))
|
||||
pluginModule(implementation(project(":container")))
|
||||
pluginModule(implementation(project(":prompt-core")))
|
||||
pluginModule(implementation(project(":prompt-context")))
|
||||
pluginModule(implementation(project(":prompt-ui")))
|
||||
pluginModule(implementation(project(":prompt-vcs")))
|
||||
pluginModule(implementation(project(":prompt-testrunner")))
|
||||
pluginModule(implementation(project(":sessions")))
|
||||
pluginModule(implementation(project(":sessions-jbcentral")))
|
||||
pluginModule(implementation(project(":settings")))
|
||||
pluginModule(implementation(project(":sessions-core")))
|
||||
pluginModule(implementation(project(":ui")))
|
||||
pluginModule(implementation(project(":sessions-actions")))
|
||||
pluginModule(implementation(project(":sessions-toolwindow")))
|
||||
pluginModule(implementation(project(":sessions-launch-config-backend")))
|
||||
pluginModule(implementation(project(":claude-common")))
|
||||
pluginModule(implementation(project(":claude-sessions")))
|
||||
pluginModule(implementation(project(":codex-common")))
|
||||
pluginModule(implementation(project(":codex-thread-view")))
|
||||
pluginModule(implementation(project(":codex-ide")))
|
||||
pluginModule(implementation(project(":codex-prompt-suggestions")))
|
||||
pluginModule(implementation(project(":codex-sessions")))
|
||||
pluginModule(implementation(project(":junie-sessions")))
|
||||
pluginModule(implementation(project(":opencode-sessions")))
|
||||
pluginModule(implementation(project(":terminal-sessions")))
|
||||
pluginModule(implementation(project(":ai-review")))
|
||||
pluginModule(implementation(project(":ai-review-agents")))
|
||||
pluginModule(implementation(project(":ai-review-space")))
|
||||
pluginModule(implementation(project(":vcs-merge")))
|
||||
}
|
||||
|
||||
// When using local IDE, add bundled plugin JARs directly (bundledPlugins() has a bug with local builds)
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/terminal/lib")) { include("**/*.jar") })
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/markdown/lib")) { include("**/*.jar") })
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
tasks {
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
wrapper {
|
||||
gradleVersion = "8.14.3"
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":json"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":settings"))
|
||||
implementation(project(":ui"))
|
||||
runtimeOnly(project(":sessions-actions"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":json"))
|
||||
implementation(project(":codex-common"))
|
||||
implementation(project(":prompt-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":thread-view"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
org.gradle.jvmargs=-Xmx1g
|
||||
Vendored
-248
@@ -1,248 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Copyright © 2015 the original authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
# Gradle start up script for POSIX generated by Gradle.
|
||||
#
|
||||
# Important for running:
|
||||
#
|
||||
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
|
||||
# noncompliant, but you have some other compliant shell such as ksh or
|
||||
# bash, then to run this script, type that shell name before the whole
|
||||
# command line, like:
|
||||
#
|
||||
# ksh Gradle
|
||||
#
|
||||
# Busybox and similar reduced shells will NOT work, because this script
|
||||
# requires all of these POSIX shell features:
|
||||
# * functions;
|
||||
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
|
||||
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
|
||||
# * compound commands having a testable exit status, especially «case»;
|
||||
# * various built-in commands including «command», «set», and «ulimit».
|
||||
#
|
||||
# Important for patching:
|
||||
#
|
||||
# (2) This script targets any POSIX shell, so it avoids extensions provided
|
||||
# by Bash, Ksh, etc; in particular arrays are avoided.
|
||||
#
|
||||
# The "traditional" practice of packing multiple parameters into a
|
||||
# space-separated string is a well documented source of bugs and security
|
||||
# problems, so this is (mostly) avoided, by progressively accumulating
|
||||
# options in "$@", and eventually passing that to Java.
|
||||
#
|
||||
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
|
||||
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
|
||||
# see the in-line comments for details.
|
||||
#
|
||||
# There are tweaks for specific operating systems such as AIX, CygWin,
|
||||
# Darwin, MinGW, and NonStop.
|
||||
#
|
||||
# (3) This script is generated from the Groovy template
|
||||
# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||
# within the Gradle project.
|
||||
#
|
||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
|
||||
# Resolve links: $0 may be a link
|
||||
app_path=$0
|
||||
|
||||
# Need this for daisy-chained symlinks.
|
||||
while
|
||||
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
|
||||
[ -h "$app_path" ]
|
||||
do
|
||||
ls=$( ls -ld "$app_path" )
|
||||
link=${ls#*' -> '}
|
||||
case $link in #(
|
||||
/*) app_path=$link ;; #(
|
||||
*) app_path=$APP_HOME$link ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# This is normally unused
|
||||
# shellcheck disable=SC2034
|
||||
APP_BASE_NAME=${0##*/}
|
||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD=maximum
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
} >&2
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
} >&2
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "$( uname )" in #(
|
||||
CYGWIN* ) cygwin=true ;; #(
|
||||
Darwin* ) darwin=true ;; #(
|
||||
MSYS* | MINGW* ) msys=true ;; #(
|
||||
NONSTOP* ) nonstop=true ;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD=$JAVA_HOME/jre/sh/java
|
||||
else
|
||||
JAVACMD=$JAVA_HOME/bin/java
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD=java
|
||||
if ! command -v java >/dev/null 2>&1
|
||||
then
|
||||
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||
case $MAX_FD in #(
|
||||
max*)
|
||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
MAX_FD=$( ulimit -H -n ) ||
|
||||
warn "Could not query maximum file descriptor limit"
|
||||
esac
|
||||
case $MAX_FD in #(
|
||||
'' | soft) :;; #(
|
||||
*)
|
||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||
# shellcheck disable=SC2039,SC3045
|
||||
ulimit -n "$MAX_FD" ||
|
||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Collect all arguments for the java command, stacking in reverse order:
|
||||
# * args from the command line
|
||||
# * the main class name
|
||||
# * -classpath
|
||||
# * -D...appname settings
|
||||
# * --module-path (only if needed)
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if "$cygwin" || "$msys" ; then
|
||||
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
|
||||
|
||||
JAVACMD=$( cygpath --unix "$JAVACMD" )
|
||||
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
for arg do
|
||||
if
|
||||
case $arg in #(
|
||||
-*) false ;; # don't mess with options #(
|
||||
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
|
||||
[ -e "$t" ] ;; #(
|
||||
*) false ;;
|
||||
esac
|
||||
then
|
||||
arg=$( cygpath --path --ignore --mixed "$arg" )
|
||||
fi
|
||||
# Roll the args list around exactly as many times as the number of
|
||||
# args, so each arg winds up back in the position where it started, but
|
||||
# possibly modified.
|
||||
#
|
||||
# NB: a `for` loop captures its iteration list before it begins, so
|
||||
# changing the positional parameters here affects neither the number of
|
||||
# iterations, nor the values presented in `arg`.
|
||||
shift # remove old arg
|
||||
set -- "$@" "$arg" # push replacement arg
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Collect all arguments for the java command:
|
||||
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||
# and any embedded shellness will be escaped.
|
||||
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||
# treated as '${Hostname}' itself on the command line.
|
||||
|
||||
set -- \
|
||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
|
||||
"$@"
|
||||
|
||||
# Stop when "xargs" is not available.
|
||||
if ! command -v xargs >/dev/null 2>&1
|
||||
then
|
||||
die "xargs is not available"
|
||||
fi
|
||||
|
||||
# Use "xargs" to parse quoted args.
|
||||
#
|
||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||
#
|
||||
# In Bash we could simply go:
|
||||
#
|
||||
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
|
||||
# set -- "${ARGS[@]}" "$@"
|
||||
#
|
||||
# but POSIX shell has neither arrays nor command substitution, so instead we
|
||||
# post-process each arg (as a line of input to sed) to backslash-escape any
|
||||
# character that might be a shell metacharacter, then use eval to reverse
|
||||
# that process (while maintaining the separation between arguments), and wrap
|
||||
# the whole thing up as a single "set" statement.
|
||||
#
|
||||
# This will of course break if any of these variables contains a newline or
|
||||
# an unmatched quote.
|
||||
#
|
||||
|
||||
eval "set -- $(
|
||||
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
|
||||
xargs -n1 |
|
||||
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
|
||||
tr '\n' ' '
|
||||
)" '"$@"'
|
||||
|
||||
exec "$JAVACMD" "$@"
|
||||
Vendored
-93
@@ -1,93 +0,0 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
@rem SPDX-License-Identifier: Apache-2.0
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%"=="" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%"=="" set DIRNAME=.
|
||||
@rem This is normally unused
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if %ERRORLEVEL% equ 0 goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo. 1>&2
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
|
||||
echo. 1>&2
|
||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
|
||||
echo location of your Java installation. 1>&2
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
set EXIT_CODE=%ERRORLEVEL%
|
||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||
exit /b %EXIT_CODE%
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@@ -1,60 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation("io.methvin:directory-watcher:0.19.1")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":filewatch"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":json"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":json"))
|
||||
implementation(project(":filewatch"))
|
||||
implementation(project(":claude-common"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
google()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":json"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":json"))
|
||||
implementation(project(":filewatch"))
|
||||
implementation(project(":codex-common"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":junie-common"))
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":filewatch"))
|
||||
implementation(project(":pi-sessions"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":json"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":core"))
|
||||
implementation(project(":pi-sessions"))
|
||||
implementation(project(":sessions"))
|
||||
implementation(project(":settings"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
- name: lib/agent-workbench-sessions.jar
|
||||
modules:
|
||||
- name: intellij.agent.workbench.plugin
|
||||
- name: intellij.air.plugin
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.cli
|
||||
- name: intellij.platform.ai.agent.core
|
||||
@@ -10,7 +10,7 @@
|
||||
- name: intellij.platform.ai.agent.claude.sessions
|
||||
- name: intellij.platform.ai.agent.codex.common
|
||||
- name: intellij.agent.workbench.codex.ide
|
||||
- name: intellij.agent.workbench.container
|
||||
- name: intellij.air.container
|
||||
- name: intellij.platform.ai.agent.filewatch
|
||||
- name: intellij.platform.ai.agent.codex.sessions
|
||||
- name: intellij.platform.ai.agent.junie.sessions
|
||||
@@ -32,12 +32,12 @@
|
||||
- name: intellij.agent.workbench.sessions.actions
|
||||
- name: intellij.agent.workbench.sessions.toolwindow
|
||||
- name: intellij.agent.workbench.engine
|
||||
- name: intellij.agent.workbench.acp
|
||||
- name: intellij.agent.workbench.acp.runtime
|
||||
- name: intellij.air.acp
|
||||
- name: intellij.air.acp.runtime
|
||||
- name: intellij.agent.workbench
|
||||
- name: lib/modules/intellij.agent.workbench.container.mcp.jar
|
||||
- name: lib/modules/intellij.air.container.mcp.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.container.mcp
|
||||
- name: lib/modules/intellij.agent.workbench.container.eel.jar
|
||||
- name: intellij.air.container.mcp
|
||||
- name: lib/modules/intellij.air.container.eel.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.container.eel
|
||||
- name: intellij.air.container.eel
|
||||
|
||||
@@ -1,300 +0,0 @@
|
||||
load("@community//build:tests-options.bzl", "jps_test")
|
||||
load("@rules_jvm//:jvm.bzl", "jvm_library")
|
||||
|
||||
### auto-generated section `build intellij.agent.workbench.plugin` start
|
||||
|
||||
jvm_library(
|
||||
name = "plugin",
|
||||
srcs = glob(
|
||||
[],
|
||||
allow_empty = True,
|
||||
),
|
||||
module_name = "intellij.agent.workbench.plugin",
|
||||
resource_strip_prefix = "resources",
|
||||
resources = glob(
|
||||
["resources/**/*"],
|
||||
),
|
||||
visibility = ["//visibility:public"],
|
||||
runtime_deps = [
|
||||
# do not sort,
|
||||
"//plugins/agent-workbench/lib-agent/cli",
|
||||
"//plugins/agent-workbench/lib-agent/core",
|
||||
"//plugins/agent-workbench/lib-agent/common",
|
||||
"//plugins/agent-workbench/thread-view:agent-workbench-thread-view",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/common",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/common",
|
||||
"//plugins/agent-workbench/codex/thread-view:agent-workbench-codex-thread-view",
|
||||
"//plugins/agent-workbench/codex/ide",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/common",
|
||||
"//plugins/agent-workbench/lib-agent/sessions-core:ai-agent-sessions-core",
|
||||
"//plugins/agent-workbench/prompt/core",
|
||||
"//plugins/agent-workbench/prompt/context",
|
||||
"//plugins/agent-workbench/prompt/ui",
|
||||
"//plugins/agent-workbench/prompt/vcs",
|
||||
"//plugins/agent-workbench/prompt/vcs-ui:agent-workbench-prompt-vcs-ui",
|
||||
"//plugins/agent-workbench/vcs-merge:agent-workbench-vcs-merge",
|
||||
"//plugins/agent-workbench/prompt/testrunner",
|
||||
"//plugins/agent-workbench/sessions",
|
||||
"//plugins/agent-workbench/sessions-actions:agent-workbench-sessions-actions",
|
||||
"//plugins/agent-workbench/sessions-toolwindow:agent-workbench-sessions-toolwindow",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/sessions",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/sessions",
|
||||
"//plugins/agent-workbench/claude/awb",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/sessions",
|
||||
"//plugins/agent-workbench/lib-agent/providers/opencode/sessions",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions",
|
||||
"//plugins/agent-workbench/pi/awb",
|
||||
"//plugins/agent-workbench/lib-agent/providers/terminal/sessions",
|
||||
"//plugins/agent-workbench/sessions-launch-config/backend",
|
||||
],
|
||||
)
|
||||
|
||||
jvm_library(
|
||||
name = "plugin_test_lib",
|
||||
testonly = True,
|
||||
srcs = glob(
|
||||
[],
|
||||
allow_empty = True,
|
||||
),
|
||||
module_name = "intellij.agent.workbench.plugin",
|
||||
visibility = ["//visibility:public"],
|
||||
runtime_deps = [
|
||||
# do not sort,
|
||||
":plugin",
|
||||
"@lib//:kotlin-stdlib",
|
||||
"//plugins/agent-workbench/lib-agent/cli:cli_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/core:core_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/common:common_test_lib",
|
||||
"//plugins/agent-workbench/thread-view:agent-workbench-thread-view_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/common:common_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/common:common_test_lib",
|
||||
"//plugins/agent-workbench/codex/thread-view:agent-workbench-codex-thread-view_test_lib",
|
||||
"//plugins/agent-workbench/codex/ide:ide_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/common:common_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/sessions-core:ai-agent-sessions-core_test_lib",
|
||||
"//plugins/agent-workbench/prompt/core:core_test_lib",
|
||||
"//plugins/agent-workbench/prompt/context:context_test_lib",
|
||||
"//plugins/agent-workbench/prompt/ui:ui_test_lib",
|
||||
"//plugins/agent-workbench/prompt/vcs:vcs_test_lib",
|
||||
"//plugins/agent-workbench/prompt/vcs-ui:agent-workbench-prompt-vcs-ui_test_lib",
|
||||
"//plugins/agent-workbench/vcs-merge:agent-workbench-vcs-merge_test_lib",
|
||||
"//plugins/agent-workbench/prompt/testrunner:testrunner_test_lib",
|
||||
"//plugins/agent-workbench/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/sessions-actions:agent-workbench-sessions-actions_test_lib",
|
||||
"//plugins/agent-workbench/sessions-toolwindow:agent-workbench-sessions-toolwindow_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/claude/awb:awb_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/opencode/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/pi/awb:awb_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/terminal/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/sessions-launch-config/backend:backend_test_lib",
|
||||
"//libraries/junit5",
|
||||
"//libraries/junit5:junit5_test_lib",
|
||||
"//libraries/junit5-suites",
|
||||
"//libraries/junit5-suites:junit5-suites_test_lib",
|
||||
],
|
||||
)
|
||||
### auto-generated section `build intellij.agent.workbench.plugin` end
|
||||
|
||||
### auto-generated section `iml intellij.agent.workbench.plugin` start
|
||||
exports_files(
|
||||
[
|
||||
"intellij.agent.workbench.plugin.iml",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
### auto-generated section `iml intellij.agent.workbench.plugin` end
|
||||
|
||||
### auto-generated section `build intellij.agent.workbench.plugin.tests` start
|
||||
|
||||
jvm_library(
|
||||
name = "agent-workbench-plugin-tests",
|
||||
srcs = glob(
|
||||
[],
|
||||
allow_empty = True,
|
||||
),
|
||||
module_name = "intellij.agent.workbench.plugin.tests",
|
||||
visibility = ["//visibility:public"],
|
||||
runtime_deps = [
|
||||
# do not sort,
|
||||
"//plugins/agent-workbench/lib-agent/cli",
|
||||
"//plugins/agent-workbench/thread-view:agent-workbench-thread-view",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/common",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/common",
|
||||
"//plugins/agent-workbench/codex/thread-view:agent-workbench-codex-thread-view",
|
||||
"//plugins/agent-workbench/codex/ide",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/common",
|
||||
"//plugins/agent-workbench/prompt/core",
|
||||
"//plugins/agent-workbench/prompt/ui",
|
||||
"//plugins/agent-workbench/prompt/vcs",
|
||||
"//plugins/agent-workbench/prompt/vcs-ui:agent-workbench-prompt-vcs-ui",
|
||||
"//plugins/agent-workbench/prompt/testrunner",
|
||||
"//plugins/agent-workbench/sessions",
|
||||
"//plugins/agent-workbench/vcs-merge:agent-workbench-vcs-merge",
|
||||
"//plugins/agent-workbench/sessions-actions:agent-workbench-sessions-actions",
|
||||
"//plugins/agent-workbench/sessions-toolwindow:agent-workbench-sessions-toolwindow",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/sessions",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/sessions",
|
||||
"//plugins/agent-workbench/claude/awb",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/sessions",
|
||||
"//plugins/agent-workbench/lib-agent/providers/opencode/sessions",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions",
|
||||
"//plugins/agent-workbench/pi/awb",
|
||||
"//plugins/agent-workbench/lib-agent/providers/terminal/sessions",
|
||||
"//plugins/agent-workbench/sessions-launch-config/backend",
|
||||
],
|
||||
)
|
||||
|
||||
jvm_library(
|
||||
name = "agent-workbench-plugin-tests_test_lib",
|
||||
testonly = True,
|
||||
srcs = glob(
|
||||
[
|
||||
"testSrc/**/*.kt",
|
||||
"testSrc/**/*.java",
|
||||
"testSrc/**/*.form",
|
||||
],
|
||||
allow_empty = True,
|
||||
),
|
||||
associates = [
|
||||
"//plugins/agent-workbench/plugin",
|
||||
"//plugins/agent-workbench/plugin:plugin_test_lib",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
runtime_deps = [
|
||||
# do not sort,
|
||||
":agent-workbench-plugin-tests",
|
||||
"//plugins/agent-workbench/lib-agent/cli:cli_test_lib",
|
||||
"//plugins/agent-workbench/thread-view:agent-workbench-thread-view_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/common:common_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/common:common_test_lib",
|
||||
"//plugins/agent-workbench/codex/thread-view:agent-workbench-codex-thread-view_test_lib",
|
||||
"//plugins/agent-workbench/codex/ide:ide_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/common:common_test_lib",
|
||||
"//plugins/agent-workbench/prompt/core:core_test_lib",
|
||||
"//plugins/agent-workbench/prompt/ui:ui_test_lib",
|
||||
"//plugins/agent-workbench/prompt/vcs:vcs_test_lib",
|
||||
"//plugins/agent-workbench/prompt/vcs-ui:agent-workbench-prompt-vcs-ui_test_lib",
|
||||
"//plugins/agent-workbench/prompt/testrunner:testrunner_test_lib",
|
||||
"//plugins/agent-workbench/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/vcs-merge:agent-workbench-vcs-merge_test_lib",
|
||||
"//plugins/agent-workbench/sessions-actions:agent-workbench-sessions-actions_test_lib",
|
||||
"//plugins/agent-workbench/sessions-toolwindow:agent-workbench-sessions-toolwindow_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/claude/awb:awb_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/opencode/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/pi/awb:awb_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/terminal/sessions:sessions_test_lib",
|
||||
"//plugins/agent-workbench/sessions-launch-config/backend:backend_test_lib",
|
||||
],
|
||||
deps = [
|
||||
# do not sort,
|
||||
"@lib//:kotlin-stdlib",
|
||||
"//plugins/agent-workbench/lib-agent/common",
|
||||
"//plugins/agent-workbench/lib-agent/common:common_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/core",
|
||||
"//plugins/agent-workbench/lib-agent/core:core_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/sessions-core:ai-agent-sessions-core",
|
||||
"//plugins/agent-workbench/lib-agent/sessions-core:ai-agent-sessions-core_test_lib",
|
||||
"//libraries/assertj-core",
|
||||
"//libraries/assertj-core:assertj-core_test_lib",
|
||||
"//libraries/junit5",
|
||||
"//libraries/junit5:junit5_test_lib",
|
||||
"//libraries/junit5-suites",
|
||||
"//libraries/junit5-suites:junit5-suites_test_lib",
|
||||
"//platform/core-api:core",
|
||||
"//platform/core-api:core_test_lib",
|
||||
"//platform/editor-ui-api:editor-ui",
|
||||
"//platform/editor-ui-api:editor-ui_test_lib",
|
||||
"//platform/testFramework",
|
||||
"//platform/testFramework:testFramework_test_lib",
|
||||
"//platform/testFramework/junit5",
|
||||
"//platform/testFramework/junit5:junit5_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/common:ai-agent-common-tests",
|
||||
"//plugins/agent-workbench/lib-agent/common:ai-agent-common-tests_test_lib",
|
||||
"//plugins/agent-workbench/thread-view:agent-workbench-thread-view-tests",
|
||||
"//plugins/agent-workbench/thread-view:agent-workbench-thread-view-tests_test_lib",
|
||||
"//plugins/agent-workbench/codex/thread-view:agent-workbench-codex-thread-view-tests",
|
||||
"//plugins/agent-workbench/codex/thread-view:agent-workbench-codex-thread-view-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/sessions:ai-agent-claude-sessions-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/claude/sessions:ai-agent-claude-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/claude/awb:agent-workbench-claude-awb-tests",
|
||||
"//plugins/agent-workbench/claude/awb:agent-workbench-claude-awb-tests_test_lib",
|
||||
"//plugins/agent-workbench/codex/ide:agent-workbench-codex-ide-tests",
|
||||
"//plugins/agent-workbench/codex/ide:agent-workbench-codex-ide-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/sessions:ai-agent-codex-sessions-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/sessions:ai-agent-codex-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/sessions:ai-agent-junie-sessions-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/junie/sessions:ai-agent-junie-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/opencode/sessions:ai-agent-opencode-sessions-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/opencode/sessions:ai-agent-opencode-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions:ai-agent-pi-sessions-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions:ai-agent-pi-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions-filewatch:ai-agent-pi-sessions-filewatch-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/pi/sessions-filewatch:ai-agent-pi-sessions-filewatch-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/terminal/sessions:ai-agent-terminal-sessions-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/terminal/sessions:ai-agent-terminal-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/prompt/core:agent-workbench-prompt-core-tests",
|
||||
"//plugins/agent-workbench/prompt/core:agent-workbench-prompt-core-tests_test_lib",
|
||||
"//plugins/agent-workbench/prompt/ui:agent-workbench-prompt-ui-tests",
|
||||
"//plugins/agent-workbench/prompt/ui:agent-workbench-prompt-ui-tests_test_lib",
|
||||
"//plugins/agent-workbench/prompt/vcs:agent-workbench-prompt-vcs-tests",
|
||||
"//plugins/agent-workbench/prompt/vcs:agent-workbench-prompt-vcs-tests_test_lib",
|
||||
"//plugins/agent-workbench/prompt/testrunner:agent-workbench-prompt-testrunner-tests",
|
||||
"//plugins/agent-workbench/prompt/testrunner:agent-workbench-prompt-testrunner-tests_test_lib",
|
||||
"//plugins/agent-workbench/sessions:agent-workbench-sessions-tests",
|
||||
"//plugins/agent-workbench/sessions:agent-workbench-sessions-tests_test_lib",
|
||||
"//plugins/agent-workbench/vcs-merge:agent-workbench-vcs-merge-tests",
|
||||
"//plugins/agent-workbench/vcs-merge:agent-workbench-vcs-merge-tests_test_lib",
|
||||
"//plugins/agent-workbench/sessions-actions:agent-workbench-sessions-actions-tests",
|
||||
"//plugins/agent-workbench/sessions-actions:agent-workbench-sessions-actions-tests_test_lib",
|
||||
"//plugins/agent-workbench/sessions-toolwindow:agent-workbench-sessions-toolwindow-tests",
|
||||
"//plugins/agent-workbench/sessions-toolwindow:agent-workbench-sessions-toolwindow-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/filewatch:ai-agent-filewatch-tests",
|
||||
"//plugins/agent-workbench/lib-agent/filewatch:ai-agent-filewatch-tests_test_lib",
|
||||
"//plugins/agent-workbench/ui:agent-workbench-ui-tests",
|
||||
"//plugins/agent-workbench/ui:agent-workbench-ui-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/cli:ai-agent-cli-tests",
|
||||
"//plugins/agent-workbench/lib-agent/cli:ai-agent-cli-tests_test_lib",
|
||||
"//plugins/agent-workbench/codex/prompt-suggestions:agent-workbench-codex-prompt-suggestions-tests",
|
||||
"//plugins/agent-workbench/codex/prompt-suggestions:agent-workbench-codex-prompt-suggestions-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/core:ai-agent-core-tests",
|
||||
"//plugins/agent-workbench/lib-agent/core:ai-agent-core-tests_test_lib",
|
||||
"//plugins/agent-workbench/settings:agent-workbench-settings-tests",
|
||||
"//plugins/agent-workbench/settings:agent-workbench-settings-tests_test_lib",
|
||||
"//plugins/agent-workbench/sessions-cost:agent-workbench-sessions-cost-tests",
|
||||
"//plugins/agent-workbench/sessions-cost:agent-workbench-sessions-cost-tests_test_lib",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/common:ai-agent-codex-common-tests",
|
||||
"//plugins/agent-workbench/lib-agent/providers/codex/common:ai-agent-codex-common-tests_test_lib",
|
||||
"//plugins/agent-workbench/sessions-launch-config/backend:agent-workbench-sessions-launch-config-backend-tests",
|
||||
"//plugins/agent-workbench/sessions-launch-config/backend:agent-workbench-sessions-launch-config-backend-tests_test_lib",
|
||||
"//plugins/agent-workbench/sessions-task-folders:agent-workbench-sessions-task-folders-tests",
|
||||
"//plugins/agent-workbench/sessions-task-folders:agent-workbench-sessions-task-folders-tests_test_lib",
|
||||
"//plugins/agent-workbench/engine:agent-workbench-engine-tests",
|
||||
"//plugins/agent-workbench/engine:agent-workbench-engine-tests_test_lib",
|
||||
],
|
||||
)
|
||||
### auto-generated section `build intellij.agent.workbench.plugin.tests` end
|
||||
|
||||
### auto-generated section `iml intellij.agent.workbench.plugin.tests` start
|
||||
exports_files(
|
||||
[
|
||||
"intellij.agent.workbench.plugin.tests.iml",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
### auto-generated section `iml intellij.agent.workbench.plugin.tests` end
|
||||
|
||||
### auto-generated section `test intellij.agent.workbench.plugin.tests` start
|
||||
|
||||
jps_test(
|
||||
name = "agent-workbench-plugin-tests_test",
|
||||
runtime_deps = [":agent-workbench-plugin-tests_test_lib"],
|
||||
)
|
||||
### auto-generated section `test intellij.agent.workbench.plugin.tests` end
|
||||
@@ -1,64 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="5" platform="JVM 25" allPlatforms="JVM [25]" useProjectSettings="false">
|
||||
<compilerSettings>
|
||||
<option name="additionalArguments" value="-Xjvm-default=all -XXLanguage:+AllowEagerSupertypeAccessibilityChecks -progressive" />
|
||||
</compilerSettings>
|
||||
<compilerArguments>
|
||||
<stringArguments>
|
||||
<stringArg name="jvmTarget" arg="25" />
|
||||
<stringArg name="apiVersion" arg="2.4" />
|
||||
<stringArg name="languageVersion" arg="2.4" />
|
||||
</stringArguments>
|
||||
<arrayArguments>
|
||||
<arrayArg name="pluginClasspaths">
|
||||
<args>$KOTLIN_BUNDLED$/lib/kotlinx-serialization-compiler-plugin.jar</args>
|
||||
</arrayArg>
|
||||
</arrayArguments>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.cli" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.core" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.thread.view" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.claude.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.codex.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.thread.view" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.ide" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.junie.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.sessions.core" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.core" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.context" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.ui" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.vcs" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.vcs.ui" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.vcs.merge" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.testrunner" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.actions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.toolwindow" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.codex.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.claude.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.claude.awb" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.junie.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.opencode.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.pi.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.pi.awb" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.terminal.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.launch.config.backend" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.junit5" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.junit5.suites" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,101 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="5" platform="JVM 25" allPlatforms="JVM [25]" useProjectSettings="false">
|
||||
<compilerSettings>
|
||||
<option name="additionalArguments" value="-Xjvm-default=all -XXLanguage:+AllowEagerSupertypeAccessibilityChecks -progressive" />
|
||||
</compilerSettings>
|
||||
<compilerArguments>
|
||||
<stringArguments>
|
||||
<stringArg name="jvmTarget" arg="25" />
|
||||
<stringArg name="apiVersion" arg="2.4" />
|
||||
<stringArg name="languageVersion" arg="2.4" />
|
||||
</stringArguments>
|
||||
<arrayArguments>
|
||||
<arrayArg name="pluginClasspaths">
|
||||
<args>$KOTLIN_BUNDLED$/lib/kotlinx-serialization-compiler-plugin.jar</args>
|
||||
</arrayArg>
|
||||
</arrayArguments>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$/testSrc">
|
||||
<sourceFolder url="file://$MODULE_DIR$/testSrc" isTestSource="true" packagePrefix="com.intellij.agent.workbench.plugin" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" scope="TEST" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.cli" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.common" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.core" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.thread.view" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.claude.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.codex.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.thread.view" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.ide" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.junie.common" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.sessions.core" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.core" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.ui" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.vcs" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.vcs.ui" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.testrunner" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.vcs.merge" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.actions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.toolwindow" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.codex.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.claude.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.claude.awb" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.junie.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.opencode.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.pi.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.pi.awb" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.terminal.sessions" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.launch.config.backend" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.assertj.core" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.junit5" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.junit5.suites" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ui" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.testFramework.junit5" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.plugin" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.common.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.thread.view.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.thread.view.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.claude.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.claude.awb.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.ide.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.codex.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.junie.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.opencode.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.pi.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.pi.sessions.filewatch.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.terminal.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.core.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.ui.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.vcs.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.prompt.testrunner.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.vcs.merge.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.actions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.toolwindow.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.filewatch.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.ui.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.cli.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.codex.prompt.suggestions.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.core.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.settings.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.cost.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ai.agent.codex.common.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.launch.config.backend.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.sessions.task.folders.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.engine.tests" scope="TEST" />
|
||||
</component>
|
||||
<component name="TestModuleProperties" production-module="intellij.agent.workbench.plugin" />
|
||||
</module>
|
||||
@@ -1,158 +0,0 @@
|
||||
- name: lib/agent-workbench-plugin.jar
|
||||
modules:
|
||||
- name: intellij.agent.workbench.plugin
|
||||
- name: lib/modules/intellij.agent.workbench.acp.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.acp
|
||||
- name: lib/modules/intellij.agent.workbench.acp.runtime.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.acp.runtime
|
||||
- name: lib/modules/intellij.agent.workbench.ai.code.review.integration.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.ai.code.review.integration
|
||||
- name: lib/modules/intellij.agent.workbench.ai.review.agents.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.ai.review.agents
|
||||
- name: lib/modules/intellij.agent.workbench.ai.review.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.ai.review
|
||||
- name: lib/modules/intellij.agent.workbench.ai.review.llm.plugin.integration.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.ai.review.llm.plugin.integration
|
||||
- name: lib/modules/intellij.agent.workbench.ai.review.space.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.ai.review.space
|
||||
- name: lib/modules/intellij.agent.workbench.claude.awb.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.claude.awb
|
||||
- name: lib/modules/intellij.agent.workbench.codex.ide.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.codex.ide
|
||||
- name: lib/modules/intellij.agent.workbench.codex.prompt.suggestions.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.codex.prompt.suggestions
|
||||
- name: lib/modules/intellij.agent.workbench.codex.thread.view.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.codex.thread.view
|
||||
- name: lib/modules/intellij.agent.workbench.container.eel.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.container.eel
|
||||
- name: lib/modules/intellij.agent.workbench.container.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.container
|
||||
- name: lib/modules/intellij.agent.workbench.container.mcp.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.container.mcp
|
||||
library: io.modelcontextprotocol.kotlin.sdk
|
||||
files:
|
||||
- name: $MAVEN_REPOSITORY$/io/modelcontextprotocol/kotlin-sdk-jvm/0/kotlin-sdk-jvm-0.jar
|
||||
- name: $MAVEN_REPOSITORY$/io/modelcontextprotocol/kotlin-sdk-client-jvm/0/kotlin-sdk-client-jvm-0.jar
|
||||
- name: $MAVEN_REPOSITORY$/io/modelcontextprotocol/kotlin-sdk-server-jvm/0/kotlin-sdk-server-jvm-0.jar
|
||||
- name: $MAVEN_REPOSITORY$/io/modelcontextprotocol/kotlin-sdk-core-jvm/0/kotlin-sdk-core-jvm-0.jar
|
||||
reason: <- intellij.agent.workbench.container.mcp
|
||||
- name: lib/modules/intellij.agent.workbench.engine.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.engine
|
||||
- name: lib/modules/intellij.agent.workbench.pi.awb.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.pi.awb
|
||||
- name: lib/modules/intellij.agent.workbench.prompt.context.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.prompt.context
|
||||
- name: lib/modules/intellij.agent.workbench.prompt.core.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.prompt.core
|
||||
- name: lib/modules/intellij.agent.workbench.prompt.testrunner.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.prompt.testrunner
|
||||
- name: lib/modules/intellij.agent.workbench.prompt.ui.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.prompt.ui
|
||||
- name: lib/modules/intellij.agent.workbench.prompt.vcs.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.prompt.vcs
|
||||
- name: lib/modules/intellij.agent.workbench.prompt.vcs.ui.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.prompt.vcs.ui
|
||||
- name: lib/modules/intellij.agent.workbench.sessions.actions.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.sessions.actions
|
||||
- name: lib/modules/intellij.agent.workbench.sessions.cost.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.sessions.cost
|
||||
- name: lib/modules/intellij.agent.workbench.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.sessions
|
||||
- name: lib/modules/intellij.agent.workbench.sessions.jbcentral.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.sessions.jbcentral
|
||||
- name: lib/modules/intellij.agent.workbench.sessions.launch.config.backend.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.sessions.launch.config.backend
|
||||
- name: lib/modules/intellij.agent.workbench.sessions.toolwindow.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.sessions.toolwindow
|
||||
- name: lib/modules/intellij.agent.workbench.settings.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.settings
|
||||
- name: lib/modules/intellij.agent.workbench.thread.view.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.thread.view
|
||||
- name: lib/modules/intellij.agent.workbench.ui.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.ui
|
||||
- name: lib/modules/intellij.agent.workbench.vcs.merge.jar
|
||||
contentModules:
|
||||
- name: intellij.agent.workbench.vcs.merge
|
||||
- name: lib/modules/intellij.platform.ai.agent.claude.common.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.claude.common
|
||||
- name: lib/modules/intellij.platform.ai.agent.claude.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.claude.sessions
|
||||
- name: lib/modules/intellij.platform.ai.agent.cli.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.cli
|
||||
- name: lib/modules/intellij.platform.ai.agent.codex.common.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.codex.common
|
||||
- name: lib/modules/intellij.platform.ai.agent.codex.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.codex.sessions
|
||||
libraries:
|
||||
night-config-toml:
|
||||
- name: $MAVEN_REPOSITORY$/com/electronwill/night-config/toml/3/toml-3.jar
|
||||
- name: $MAVEN_REPOSITORY$/com/electronwill/night-config/core/3/core-3.jar
|
||||
- name: lib/modules/intellij.platform.ai.agent.common.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.common
|
||||
- name: lib/modules/intellij.platform.ai.agent.core.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.core
|
||||
- name: lib/modules/intellij.platform.ai.agent.filewatch.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.filewatch
|
||||
- name: lib/modules/intellij.platform.ai.agent.json.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.json
|
||||
- name: lib/modules/intellij.platform.ai.agent.junie.common.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.junie.common
|
||||
- name: lib/modules/intellij.platform.ai.agent.junie.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.junie.sessions
|
||||
- name: lib/modules/intellij.platform.ai.agent.opencode.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.opencode.sessions
|
||||
- name: lib/modules/intellij.platform.ai.agent.pi.sessions.filewatch.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.pi.sessions.filewatch
|
||||
- name: lib/modules/intellij.platform.ai.agent.pi.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.pi.sessions
|
||||
- name: lib/modules/intellij.platform.ai.agent.sessions.core.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.sessions.core
|
||||
- name: lib/modules/intellij.platform.ai.agent.terminal.sessions.jar
|
||||
contentModules:
|
||||
- name: intellij.platform.ai.agent.terminal.sessions
|
||||
@@ -1,83 +0,0 @@
|
||||
<idea-plugin>
|
||||
<id>com.intellij.agent.workbench</id>
|
||||
<name>Agent Workbench</name>
|
||||
<description><![CDATA[
|
||||
Run and manage AI coding agents — Codex, Claude, Junie, OpenCode, and more — directly inside your IDE.
|
||||
<ul>
|
||||
<li><b>Quick Launch</b> — press <code>Ctrl Ctrl</code> from anywhere to start a new task or continue an existing one. Your current selection, file, and symbol are attached automatically.</li>
|
||||
<li><b>Launch Profiles</b> — bundle provider, model, reasoning effort, and launch mode into reusable presets (Standard, Full Auto, Brave Mode, or your own) and pick a cheaper, faster, or more careful setup per task without changing your default.</li>
|
||||
<li><b>AI Review</b> — hold <code>Alt</code>/<code>Option</code> and press <code>Ctrl</code> twice to review local changes or commits with AI and catch bugs, security issues, and style problems before they reach the main branch.</li>
|
||||
<li><b>All Sessions in One Place</b> — browse, reopen, and resume AI sessions across providers, grouped by project.</li>
|
||||
<li><b>Terminal Sessions</b> — open regular terminal shells from the same launcher and track them alongside your agent threads; reopen, rename, and archive them just like agent sessions.</li>
|
||||
<li><b>Persistent Agent Thread Views</b> — each session opens in its own editor view and survives IDE restarts.</li>
|
||||
<li><b>Separate Window Mode</b> — run Agent Thread View in a dedicated frame so you can work on code and manage tasks side by side.</li>
|
||||
<li><b>Automatic Context</b> — editor selections, VCS changes, project-view selections, and test results are collected and sent with your prompt so the agent has the context it needs.</li>
|
||||
<li><b>Context from UI</b> — click any IDE component (tool window, editor, panel) to screenshot it and attach the image as visual context for the agent.</li>
|
||||
<li><b>Context from Screen</b> — drag to select any screen area and capture it as a screenshot to share with the agent, even outside the IDE.</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<!--suppress PluginXmlValidity -->
|
||||
<vendor>Vladimir Krivosheev</vendor>
|
||||
<content namespace="agent-workbench">
|
||||
<module name="intellij.platform.ai.agent.cli"/>
|
||||
<module name="intellij.platform.ai.agent.core"/>
|
||||
<module name="intellij.platform.ai.agent.common"/>
|
||||
<module name="intellij.platform.ai.agent.json"/>
|
||||
<module name="intellij.platform.ai.agent.claude.common"/>
|
||||
<module name="intellij.platform.ai.agent.claude.sessions"/>
|
||||
<module name="intellij.agent.workbench.claude.awb"/>
|
||||
<module name="intellij.platform.ai.agent.codex.common"/>
|
||||
<module name="intellij.agent.workbench.codex.thread.view"/>
|
||||
<module name="intellij.agent.workbench.codex.ide"/>
|
||||
<module name="intellij.agent.workbench.codex.prompt.suggestions"/>
|
||||
<module name="intellij.platform.ai.agent.codex.sessions"/>
|
||||
<module name="intellij.platform.ai.agent.junie.common"/>
|
||||
<module name="intellij.platform.ai.agent.junie.sessions"/>
|
||||
<module name="intellij.platform.ai.agent.opencode.sessions"/>
|
||||
<module name="intellij.platform.ai.agent.pi.sessions"/>
|
||||
<module name="intellij.agent.workbench.pi.awb"/>
|
||||
<module name="intellij.platform.ai.agent.pi.sessions.filewatch"/>
|
||||
<module name="intellij.platform.ai.agent.terminal.sessions"/>
|
||||
<module name="intellij.agent.workbench.settings"/>
|
||||
<module name="intellij.platform.ai.agent.sessions.core"/>
|
||||
<module name="intellij.agent.workbench.sessions.cost"/>
|
||||
<module name="intellij.agent.workbench.sessions.launch.config.backend"/>
|
||||
<module name="intellij.agent.workbench.prompt.core"/>
|
||||
<module name="intellij.agent.workbench.prompt.context"/>
|
||||
<module name="intellij.agent.workbench.prompt.ui"/>
|
||||
<module name="intellij.agent.workbench.prompt.vcs"/>
|
||||
<module name="intellij.agent.workbench.prompt.vcs.ui"/>
|
||||
<module name="intellij.agent.workbench.prompt.testrunner"/>
|
||||
<module name="intellij.agent.workbench.sessions"/>
|
||||
<module name="intellij.agent.workbench.sessions.task.folders"/>
|
||||
<module name="intellij.agent.workbench.sessions.jbcentral"/>
|
||||
<module name="intellij.agent.workbench.ui"/>
|
||||
<module name="intellij.agent.workbench.sessions.actions"/>
|
||||
<module name="intellij.agent.workbench.sessions.toolwindow"/>
|
||||
<module name="intellij.agent.workbench.thread.view"/>
|
||||
<module name="intellij.platform.ai.agent.filewatch"/>
|
||||
<module name="intellij.agent.workbench.ai.review"/>
|
||||
<module name="intellij.agent.workbench.ai.review.agents"/>
|
||||
<module name="intellij.agent.workbench.ai.review.llm.plugin.integration"/>
|
||||
<module name="intellij.agent.workbench.ai.code.review.integration" loading="optional"/>
|
||||
<module name="intellij.agent.workbench.ai.review.space"/>
|
||||
<module name="intellij.agent.workbench.vcs.merge"/>
|
||||
<module name="intellij.agent.workbench.container"/>
|
||||
<module name="intellij.agent.workbench.container.mcp"/>
|
||||
<module name="intellij.agent.workbench.container.eel"/>
|
||||
<module name="intellij.agent.workbench.engine"/>
|
||||
<module name="intellij.agent.workbench.acp"/>
|
||||
<module name="intellij.agent.workbench.acp.runtime"/>
|
||||
</content>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<registryKey key="agent.workbench.use.monochrome.icons"
|
||||
defaultValue="true"
|
||||
description="Use monochrome line icons on main toolbar buttons, action buttons, and status indicators in Agent Workbench"
|
||||
restartRequired="false"/>
|
||||
<registryKey key="agent.workbench.new.thread.inline.prompt"
|
||||
defaultValue="true"
|
||||
description="Open Agent Workbench New Thread actions as an inline prompt before starting the agent session"
|
||||
restartRequired="false"/>
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
@@ -1,13 +0,0 @@
|
||||
<svg version="1.1" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<linearGradient id="bgLight" x1="7" x2="33" y1="7" y2="33" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#955AE0" offset="0"/>
|
||||
<stop stop-color="#4D67F0" offset="1"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect x="3" y="3" width="34" height="34" rx="10" fill="url(#bgLight)"/>
|
||||
<g transform="matrix(.9 0 0 .9 5.61 5.57)" fill="#fff">
|
||||
<path d="m16 11.6c-6.18 0.196-6.18 9.16 1e-4 9.35 6.18-0.196 6.18-9.16-1e-4 -9.35zm0 7.35c-3.53-0.0925-3.53-5.26 8e-5 -5.35 3.53 0.0927 3.53 5.26-8e-5 5.35z"/>
|
||||
<path d="m26.3 14.3c-0.826-0.0278-2.28 0.242-2.58-0.794-0.401-1.15-1.07-2.22-1.94-3.1-1.52-1.6-2.86-0.943-0.592-2.97 2.19 1.56 5.51-0.192 5.42-2.91-0.121-4.6-6.87-4.61-6.99 1.9e-4 0 0.484 0.0999 0.946 0.279 1.37-0.714 0.671-1.48 1.49-2.06 2.34-0.523-0.121-1.06-0.194-1.6-0.21-0.706-0.0181-1.39 0.083-2.07 0.249-0.48-0.726-1.18-1.51-2.09-2.37 1.01-2.22-0.756-4.93-3.21-4.87-4.61 0.124-4.61 6.86 1.5e-4 6.99 0.712 0 1.37-0.216 1.93-0.584 0.603 0.574 1.09 1.1 1.45 1.58-1.73 0.947-3.14 2.51-3.89 4.5-0.335 1.05-1.84 0.739-2.67 0.779-2.26-0.064-3.6 2.7-2.11 4.37 0.505 0.594 1.24 0.935 2.02 0.935h0.941c0.701 0 1.27 0.57 1.27 1.27v7.18c-0.0641 1.89 2.46 2.91 3.72 1.49-3e-5 1e-4 0.446-0.465 0.446-0.465 0.324-0.346 0.905-0.324 1.2 0.0401 0-1e-5 0.758 0.908 0.758 0.908 1.01 1.27 3.08 1.34 4.18 0.144 0.535-0.493 1.41-1.88 2.23-1.07 1.19 1.58 3.91 0.617 3.84-1.36 4e-5 1e-4 4e-5 -6.86 4e-5 -6.86 0-0.7 0.57-1.27 1.27-1.27h0.941c3.53-0.113 3.5-5.24-0.0884-5.31zm-3.18-11.3c1.96 0.0352 1.96 2.95-6e-5 2.99-1.96-0.035-1.96-2.95 6e-5 -2.99zm-15.7 1.49c0.0351-1.96 2.95-1.96 2.99 6e-5 -0.035 1.96-2.95 1.96-2.99-6e-5zm19.5 12.9c-0.23 0.36-1.09 0.198-1.44 0.231-1.8-1e-5 -3.27 1.47-3.27 3.27v6.86c0.0066 0.108-0.174 0.25-0.284 0.0986-1.02-1.31-3.17-1.24-4.27-0.04 0-4e-5 -0.951 0.991-0.951 0.991-0.331 0.337-0.904 0.327-1.2-0.0401 0 1e-5 -0.758-0.908-0.758-0.908-1.01-1.27-3.08-1.34-4.18-0.144 0-4e-5 -0.446 0.465-0.446 0.465-0.02 0.0225-0.0733 0.0782-0.175 0.0381-0.0992-0.04-0.0992-0.115-0.0992-0.148v-7.18c0-1.8-1.47-3.27-3.27-3.27h-0.941c-0.863-0.0193-0.881-1.31 0.0884-1.31-4e-5 -2e-5 1.51-2e-5 1.51-2e-5 1.35 0 2.58-0.836 3.04-2.08 1.95-5.56 9.71-5.51 11.6-0.0575 0.444 1.28 1.68 2.14 3.06 2.14h1.41c0.627-0.0273 0.956 0.7 0.587 1.08z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
-48
@@ -1,48 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.agent.workbench.plugin
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionGroup
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.testFramework.TestActionEvent
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import org.junit.jupiter.api.Assertions.assertNotNull
|
||||
import org.junit.jupiter.api.Assertions.assertTrue
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.Timeout
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
@TestApplication
|
||||
@Timeout(value = 2, unit = TimeUnit.MINUTES)
|
||||
class AgentWorkbenchAddToAgentContextActionRegistrationTest {
|
||||
@Test
|
||||
fun registersAddToAgentContextActionInSupportedPopupGroups() {
|
||||
val actionManager = ActionManager.getInstance()
|
||||
|
||||
assertNotNull(actionManager.getAction(ADD_TO_AGENT_CONTEXT_ACTION_ID))
|
||||
assertActionGroupContains(actionManager, "EditorPopupMenu")
|
||||
assertActionGroupContains(actionManager, "ProjectViewPopupMenu")
|
||||
assertActionGroupContains(actionManager, "EditorTabPopupMenu")
|
||||
assertActionGroupContains(actionManager, "ConsoleEditorPopupMenu")
|
||||
assertActionGroupContains(actionManager, "TestTreePopupMenu")
|
||||
assertActionGroupContains(actionManager, "ChangesViewPopupMenu")
|
||||
assertActionGroupContains(actionManager, "Vcs.Log.ContextMenu")
|
||||
assertActionGroupContains(actionManager, "Vcs.Log.ChangesBrowser.Popup")
|
||||
}
|
||||
|
||||
private fun assertActionGroupContains(actionManager: ActionManager, groupId: String) {
|
||||
val group = actionManager.getAction(groupId)
|
||||
assertTrue(group is ActionGroup, "Action group '$groupId' is not registered")
|
||||
|
||||
val childIds = (group as ActionGroup)
|
||||
.getChildren(TestActionEvent.createTestEvent())
|
||||
.mapNotNull { action -> actionManager.getId(action) }
|
||||
assertTrue(
|
||||
ADD_TO_AGENT_CONTEXT_ACTION_ID in childIds,
|
||||
"Action group '$groupId' does not contain '$ADD_TO_AGENT_CONTEXT_ACTION_ID': $childIds",
|
||||
)
|
||||
}
|
||||
|
||||
private companion object {
|
||||
private const val ADD_TO_AGENT_CONTEXT_ACTION_ID = "AgentWorkbenchPrompt.AddToAgentContext"
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.agent.workbench.plugin
|
||||
|
||||
import org.junit.platform.suite.api.SelectPackages
|
||||
import org.junit.platform.suite.api.Suite
|
||||
|
||||
@Suite
|
||||
@SelectPackages(
|
||||
"com.intellij.platform.ai.agent.common",
|
||||
"com.intellij.agent.workbench.thread.view",
|
||||
"com.intellij.platform.ai.agent.claude.sessions",
|
||||
"com.intellij.agent.workbench.codex.ide",
|
||||
"com.intellij.platform.ai.agent.codex.sessions",
|
||||
"com.intellij.platform.ai.agent.junie.sessions",
|
||||
"com.intellij.agent.workbench.prompt.core",
|
||||
"com.intellij.agent.workbench.prompt.ui",
|
||||
"com.intellij.agent.workbench.prompt.vcs",
|
||||
"com.intellij.agent.workbench.prompt.testrunner",
|
||||
"com.intellij.agent.workbench.sessions",
|
||||
"com.intellij.agent.workbench.sessions.launch.config.backend",
|
||||
"com.intellij.agent.workbench.vcs.merge",
|
||||
)
|
||||
class AgentWorkbenchAllTestsSuite
|
||||
@@ -1,72 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.agent.workbench.plugin
|
||||
|
||||
import com.intellij.platform.ai.agent.core.session.AgentSessionProvider
|
||||
import com.intellij.platform.ai.agent.sessions.core.providers.AgentSessionProviderDescriptor
|
||||
import com.intellij.platform.ai.agent.sessions.core.providers.AgentSessionProviders
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Assertions.assertNotNull
|
||||
import org.junit.jupiter.api.Assertions.assertNull
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.Timeout
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
* Pins the bundle keys that built-in providers expose for the New Thread UI.
|
||||
* Catches silent regressions where a future descriptor edit changes which key is referenced.
|
||||
* Only descriptor-level constants are pinned here; resolved bundle messages are exercised by the
|
||||
* sessions-actions tests that already build action presentations from the same keys.
|
||||
*/
|
||||
@TestApplication
|
||||
@Timeout(value = 2, unit = TimeUnit.MINUTES)
|
||||
class AgentWorkbenchProviderDescriptorKeysTest {
|
||||
@Test
|
||||
fun codexExposesGenericQuickStartKeys() {
|
||||
val descriptor = descriptorFor(AgentSessionProvider.from("codex"))
|
||||
assertEquals("toolwindow.action.new.session.codex", descriptor.newSessionLabelKey)
|
||||
assertEquals("toolwindow.action.new.session.codex", descriptor.quickStartLabelKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewThreadQuick.text", descriptor.quickStartActionTextKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewThreadQuick.description", descriptor.quickStartActionDescriptionKey)
|
||||
assertNull(descriptor.quickStartActionTargetDescriptionKey)
|
||||
assertEquals("toolwindow.action.new.thread", descriptor.newSessionTitleKey)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun claudeExposesGenericQuickStartKeys() {
|
||||
val descriptor = descriptorFor(AgentSessionProvider.from("claude"))
|
||||
assertEquals("toolwindow.action.new.session.claude", descriptor.newSessionLabelKey)
|
||||
assertEquals("toolwindow.action.new.session.claude", descriptor.quickStartLabelKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewThreadQuick.text", descriptor.quickStartActionTextKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewThreadQuick.description", descriptor.quickStartActionDescriptionKey)
|
||||
assertNull(descriptor.quickStartActionTargetDescriptionKey)
|
||||
assertEquals("toolwindow.action.new.thread", descriptor.newSessionTitleKey)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun junieExposesGenericQuickStartKeys() {
|
||||
val descriptor = descriptorFor(AgentSessionProvider.from("junie"))
|
||||
assertEquals("toolwindow.action.new.session.junie", descriptor.newSessionLabelKey)
|
||||
assertEquals("toolwindow.action.new.session.junie", descriptor.quickStartLabelKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewThreadQuick.text", descriptor.quickStartActionTextKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewThreadQuick.description", descriptor.quickStartActionDescriptionKey)
|
||||
assertNull(descriptor.quickStartActionTargetDescriptionKey)
|
||||
assertEquals("toolwindow.action.new.thread", descriptor.newSessionTitleKey)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun terminalExposesTerminalSpecificQuickStartKeys() {
|
||||
val descriptor = descriptorFor(AgentSessionProvider.from("terminal"))
|
||||
assertEquals("toolwindow.action.new.session.terminal", descriptor.newSessionLabelKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewTerminalSessionQuick.text", descriptor.quickStartActionTextKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewTerminalSessionQuick.description", descriptor.quickStartActionDescriptionKey)
|
||||
assertEquals("action.AgentWorkbenchSessions.NewTerminalSessionQuick.target.description", descriptor.quickStartActionTargetDescriptionKey)
|
||||
assertEquals("toolwindow.action.new.session.terminal.title", descriptor.newSessionTitleKey)
|
||||
}
|
||||
|
||||
private fun descriptorFor(provider: AgentSessionProvider): AgentSessionProviderDescriptor {
|
||||
val descriptor = AgentSessionProviders.find(provider)
|
||||
assertNotNull(descriptor) { "Provider ${provider.value} not registered" }
|
||||
return descriptor!!
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.agent.workbench.plugin
|
||||
|
||||
import com.intellij.platform.ai.agent.core.session.AgentSessionProvider
|
||||
import com.intellij.platform.ai.agent.sessions.core.providers.AgentSessionProviders
|
||||
import com.intellij.platform.ai.agent.sessions.core.providers.buildAgentSessionProviderMenuModel
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import org.junit.jupiter.api.Assertions.assertFalse
|
||||
import org.junit.jupiter.api.Assertions.assertTrue
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.Timeout
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
@TestApplication
|
||||
@Timeout(value = 2, unit = TimeUnit.MINUTES)
|
||||
class AgentWorkbenchProviderRegistrationTest {
|
||||
@Test
|
||||
fun builtInProvidersAreRegisteredForProviderMenus() {
|
||||
val providers = AgentSessionProviders.allProviders()
|
||||
val registeredProviderIds = providers.map { it.provider }
|
||||
|
||||
assertTrue(AgentSessionProvider.from("codex") in registeredProviderIds)
|
||||
assertTrue(AgentSessionProvider.from("claude") in registeredProviderIds)
|
||||
assertTrue(AgentSessionProvider.from("junie") in registeredProviderIds)
|
||||
assertTrue(AgentSessionProvider.from("opencode") in registeredProviderIds)
|
||||
assertTrue(AgentSessionProvider.from("pi") in registeredProviderIds)
|
||||
assertTrue(AgentSessionProvider.from("terminal") in registeredProviderIds)
|
||||
|
||||
val standardMenuProviders = buildAgentSessionProviderMenuModel(
|
||||
providers,
|
||||
providers.associate { it.provider to true },
|
||||
).standardItems.map { it.bridge.provider }
|
||||
assertTrue(AgentSessionProvider.from("junie") in standardMenuProviders)
|
||||
assertTrue(AgentSessionProvider.from("opencode") in standardMenuProviders)
|
||||
assertTrue(AgentSessionProvider.from("pi") in standardMenuProviders)
|
||||
|
||||
val yoloMenuProviders = buildAgentSessionProviderMenuModel(
|
||||
providers,
|
||||
providers.associate { it.provider to true },
|
||||
).yoloItems.map { it.bridge.provider }
|
||||
assertFalse(AgentSessionProvider.from("opencode") in yoloMenuProviders)
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.agent.workbench.plugin
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.platform.ai.agent.sessions.core.providers.AgentSessionProviderDescriptor
|
||||
import com.intellij.testFramework.junit5.TestApplication
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.junit.jupiter.api.Assertions.assertNotNull
|
||||
import org.junit.jupiter.api.Assertions.assertTrue
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.junit.jupiter.api.Timeout
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
@TestApplication
|
||||
@Timeout(value = 2, unit = TimeUnit.MINUTES)
|
||||
class AgentWorkbenchProviderStructureTest {
|
||||
@Test
|
||||
fun sessionProviderExtensionIdsMatchDescriptorProviderIds() {
|
||||
val registeredIds = LinkedHashSet<String>()
|
||||
|
||||
SESSION_PROVIDER_EP.filterableLazySequence().forEach { extension ->
|
||||
val extensionId = extension.id
|
||||
assertNotNull(extensionId) {
|
||||
"sessionProvider registration ${extension.implementationClassName} must declare an XML id"
|
||||
}
|
||||
|
||||
val descriptor = extension.instance
|
||||
assertNotNull(descriptor) {
|
||||
"sessionProvider registration $extensionId (${extension.implementationClassName}) did not instantiate"
|
||||
}
|
||||
|
||||
registeredIds += extensionId!!
|
||||
assertThat(extensionId)
|
||||
.describedAs("sessionProvider XML id must match descriptor.provider for ${extension.implementationClassName}")
|
||||
.isEqualTo(descriptor!!.provider.value)
|
||||
}
|
||||
|
||||
for (providerId in BUILT_IN_PROVIDER_IDS) {
|
||||
assertTrue(providerId in registeredIds, "Built-in session provider '$providerId' is not registered")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private val SESSION_PROVIDER_EP: ExtensionPointName<AgentSessionProviderDescriptor> =
|
||||
ExtensionPointName("com.intellij.agent.workbench.sessionProvider")
|
||||
|
||||
private val BUILT_IN_PROVIDER_IDS = setOf(
|
||||
"codex",
|
||||
"claude",
|
||||
"junie",
|
||||
"opencode",
|
||||
"pi",
|
||||
"terminal",
|
||||
)
|
||||
@@ -1,59 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":prompt-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
if (platformLocalPath == null) {
|
||||
bundledPlugins("org.intellij.plugins.markdown")
|
||||
}
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/markdown/lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":settings"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":ui"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
if (platformLocalPath == null) {
|
||||
bundledModules(
|
||||
"intellij.platform.vcs",
|
||||
"intellij.platform.vcs.impl.shared",
|
||||
"intellij.platform.vcs.log",
|
||||
"intellij.platform.vcs.log.impl",
|
||||
"intellij.platform.vcs.log.graph",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("lib")) {
|
||||
include("intellij.platform.vcs*.jar", "intellij.platform.lvcs*.jar")
|
||||
})
|
||||
}
|
||||
|
||||
implementation(project(":prompt-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":settings"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":ui"))
|
||||
implementation(project(":thread-view"))
|
||||
implementation(project(":sessions"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":sessions"))
|
||||
implementation(project(":settings"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":ui"))
|
||||
runtimeOnly(project(":sessions-actions"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
if (platformLocalPath == null) {
|
||||
bundledModules("intellij.platform.backend")
|
||||
}
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":ui"))
|
||||
implementation(project(":thread-view"))
|
||||
implementation(project(":sessions"))
|
||||
implementation(project(":sessions-jbcentral"))
|
||||
implementation(project(":sessions-actions"))
|
||||
implementation(project(":settings"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":settings"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":ui"))
|
||||
implementation(project(":thread-view"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,95 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
gradlePluginPortal()
|
||||
}
|
||||
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
gradlePluginPortal()
|
||||
}
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm") version "2.2.20"
|
||||
kotlin("plugin.serialization") version "2.2.20"
|
||||
id("org.jetbrains.intellij.platform") version "2.9.0"
|
||||
id("org.jetbrains.intellij.platform.settings") version "2.9.0"
|
||||
id("org.jetbrains.intellij.platform.module") version "2.9.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "agent-workbench"
|
||||
|
||||
include(":common")
|
||||
include(":core")
|
||||
include(":json")
|
||||
include(":filewatch")
|
||||
include(":cli")
|
||||
include(":thread-view")
|
||||
include(":container")
|
||||
include(":prompt-core")
|
||||
include(":prompt-context")
|
||||
include(":prompt-ui")
|
||||
include(":prompt-vcs")
|
||||
include(":prompt-testrunner")
|
||||
include(":sessions")
|
||||
include(":sessions-jbcentral")
|
||||
include(":settings")
|
||||
include(":sessions-core")
|
||||
include(":sessions-cost")
|
||||
include(":ui")
|
||||
include(":sessions-actions")
|
||||
include(":sessions-toolwindow")
|
||||
include(":sessions-launch-config-backend")
|
||||
include(":claude-common")
|
||||
include(":claude-awb")
|
||||
include(":claude-sessions")
|
||||
include(":codex-common")
|
||||
include(":codex-thread-view")
|
||||
include(":codex-ide")
|
||||
include(":codex-prompt-suggestions")
|
||||
include(":codex-sessions")
|
||||
include(":junie-common")
|
||||
include(":junie-sessions")
|
||||
include(":opencode-sessions")
|
||||
include(":pi-awb")
|
||||
include(":pi-sessions")
|
||||
include(":pi-sessions-filewatch")
|
||||
include(":terminal-sessions")
|
||||
include(":ai-review")
|
||||
include(":ai-review-agents")
|
||||
include(":ai-review-space")
|
||||
include(":vcs-merge")
|
||||
|
||||
project(":prompt-core").projectDir = file("prompt/core")
|
||||
project(":prompt-context").projectDir = file("prompt/context")
|
||||
project(":prompt-ui").projectDir = file("prompt/ui")
|
||||
project(":prompt-vcs").projectDir = file("prompt/vcs")
|
||||
project(":prompt-testrunner").projectDir = file("prompt/testrunner")
|
||||
project(":common").projectDir = file("lib-agent/common")
|
||||
project(":core").projectDir = file("lib-agent/core")
|
||||
project(":json").projectDir = file("lib-agent/json")
|
||||
project(":filewatch").projectDir = file("lib-agent/filewatch")
|
||||
project(":cli").projectDir = file("lib-agent/cli")
|
||||
project(":sessions-core").projectDir = file("lib-agent/sessions-core")
|
||||
project(":sessions-launch-config-backend").projectDir = file("sessions-launch-config/backend")
|
||||
project(":claude-common").projectDir = file("lib-agent/providers/claude/common")
|
||||
project(":claude-awb").projectDir = file("claude/awb")
|
||||
project(":claude-sessions").projectDir = file("lib-agent/providers/claude/sessions")
|
||||
project(":codex-common").projectDir = file("lib-agent/providers/codex/common")
|
||||
project(":codex-thread-view").projectDir = file("codex/thread-view")
|
||||
project(":codex-ide").projectDir = file("codex/ide")
|
||||
project(":codex-prompt-suggestions").projectDir = file("codex/prompt-suggestions")
|
||||
project(":codex-sessions").projectDir = file("lib-agent/providers/codex/sessions")
|
||||
project(":junie-common").projectDir = file("lib-agent/providers/junie/common")
|
||||
project(":junie-sessions").projectDir = file("lib-agent/providers/junie/sessions")
|
||||
project(":opencode-sessions").projectDir = file("lib-agent/providers/opencode/sessions")
|
||||
project(":pi-awb").projectDir = file("pi/awb")
|
||||
project(":pi-sessions").projectDir = file("lib-agent/providers/pi/sessions")
|
||||
project(":pi-sessions-filewatch").projectDir = file("lib-agent/providers/pi/sessions-filewatch")
|
||||
project(":terminal-sessions").projectDir = file("lib-agent/providers/terminal/sessions")
|
||||
@@ -1,64 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
}
|
||||
else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -57,7 +57,7 @@ Date: 2026-05-09
|
||||
- `./tests.cmd --module intellij.agent.workbench.prompt.ui.tests --test "com.intellij.agent.workbench.prompt.ui.actions.*"`
|
||||
- `./tests.cmd --module intellij.agent.workbench.prompt.ui.tests --test "com.intellij.agent.workbench.prompt.ui.AgentPromptContext*Test"`
|
||||
- `./tests.cmd --module intellij.agent.workbench.prompt.core.tests --test com.intellij.agent.workbench.prompt.core.AgentPromptContextEnvelopeFormatterTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.plugin.tests --test com.intellij.agent.workbench.plugin.AgentWorkbenchAddToAgentContextActionRegistrationTest`
|
||||
- `./tests.cmd --module intellij.air.plugin.tests --test com.intellij.air.plugin.AgentWorkbenchAddToAgentContextActionRegistrationTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.thread.view.tests --test com.intellij.agent.workbench.thread.view.AgentThreadViewOpenTopLevelDispatchTest`
|
||||
|
||||
## References
|
||||
|
||||
@@ -8,8 +8,8 @@ targets:
|
||||
- ../../engine/resources/intellij.agent.workbench.engine.xml
|
||||
- ../../thread-view/src/AgentThreadViewCustomContent.kt
|
||||
- ../../thread-view/src/AgentThreadViewFileEditor.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/*.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/resources/intellij.agent.workbench.acp.xml
|
||||
- ../../../../../plugins/ij-air/acp/src/*.kt
|
||||
- ../../../../../plugins/ij-air/acp/resources/intellij.air.acp.xml
|
||||
---
|
||||
|
||||
# Engine Structured Agent Thread
|
||||
@@ -103,7 +103,7 @@ history format, and not a contract that terminal-backed providers must implement
|
||||
attach `requested` approval state by `toolCallId`, and later replace it with `approved`, `rejected`, or
|
||||
`expired` resolution state without reordering the tool-call transcript entry.
|
||||
[@test] ../../engine/testSrc/EngineEventStoreTest.kt
|
||||
[@test] ../../../../../plugins/agent-workbench/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
[@test] ../../../../../plugins/ij-air/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
|
||||
- Terminal command content inside structured threads is modeled as structured tool/command content, not as
|
||||
a separate Agent Thread View terminal tab. Output received before the corresponding terminal/tool entry is
|
||||
@@ -123,10 +123,10 @@ history format, and not a contract that terminal-backed providers must implement
|
||||
[@test] ../../sessions/testSrc/AgentSessionLoadAggregationTest.kt
|
||||
[@test] ../../engine/testSrc/EngineEventStoreTest.kt
|
||||
|
||||
- ACP support lives in the `plugins/agent-workbench/acp` adapter. It launches/prepares ACP sessions,
|
||||
- ACP support lives in the `plugins/ij-air/acp` adapter. It launches/prepares ACP sessions,
|
||||
receives `SessionUpdate`s and ACP client callbacks, and records canonical Engine events. It must not
|
||||
directly construct Swing rows or AUI events for Agent Workbench structured thread UI.
|
||||
[@test] ../../../../../plugins/agent-workbench/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
[@test] ../../../../../plugins/ij-air/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
|
||||
- `Acp2ToAUIConverter` and related AUI converters may be used as references for protocol edge cases
|
||||
(streaming chunks, tool-call merging, permissions, diffs, MCP output, terminal metadata), but they must
|
||||
@@ -311,10 +311,10 @@ and `RuntimeSessionBound` carries the *server-issued* `agentSessionId` once a se
|
||||
- ACP continuation-decision tests verify that a stored `agentSessionId` with `loadSession` support resumes via
|
||||
`loadSession`, that missing `loadSession` support refuses (no fallback to `resumeSession` or `newSession`), and that
|
||||
no stored session id creates a fresh session (brand-new thread view, or legacy restored thread view continued by the user).
|
||||
[@test] ../../../../../plugins/agent-workbench/acp/testSrc/AcpContinuationTest.kt
|
||||
[@test] ../../../../../plugins/ij-air/acp/testSrc/AcpContinuationTest.kt
|
||||
- ACP recovery tests verify `shouldRecoverDisconnectedAcpThread`: a `Disconnected` ACP thread (by thread or binding
|
||||
`runtimeKind`) is a recovery target, while connected or non-ACP threads are not.
|
||||
[@test] ../../../../../plugins/agent-workbench/acp/testSrc/AcpSessionManagerTest.kt
|
||||
[@test] ../../../../../plugins/ij-air/acp/testSrc/AcpSessionManagerTest.kt
|
||||
- Integration follow-ups (require a project + ACP catalog fixture, not yet implemented): the connector rehydrates
|
||||
ownership from persisted binding data so `handles(threadId)` flips true and input re-enables (incl. catalog
|
||||
warm-up), `sendPrompt(...)` records `ThreadDisconnected` instead of an undeliverable user message, and a
|
||||
@@ -383,7 +383,7 @@ and `RuntimeSessionBound` carries the *server-issued* `agentSessionId` once a se
|
||||
## Testing / Local Run
|
||||
|
||||
- `./tests.cmd --module intellij.agent.workbench.engine.tests --test com.intellij.agent.workbench.engine.platform.EngineEventStoreTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.acp.tests --test com.intellij.agent.workbench.acp.AcpThreadEventMapperTest`
|
||||
- `./tests.cmd --module intellij.air.acp.tests --test com.intellij.air.acp.AcpThreadEventMapperTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.thread.view.tests --test com.intellij.agent.workbench.thread.view.AgentThreadViewFileEditorLifecycleTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.sessions.tests --test com.intellij.agent.workbench.sessions.AgentSessionLaunchServiceTest`
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ description: Implementation plan for the minimal readable Engine/ACP thread view
|
||||
targets:
|
||||
- ../../engine/src/ui/AgentAcpThreadScreen.kt
|
||||
- ../../engine/resources/messages/EngineBundle.properties
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpThreadEventMapper.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpThreadEventMapper.kt
|
||||
- ../../../../../plugins/ij-air/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
---
|
||||
|
||||
# Engine Thread View Rendering Plan
|
||||
@@ -235,7 +235,7 @@ Add localized keys to `EngineBundle.properties` for any new visible text, for ex
|
||||
Run after implementation:
|
||||
|
||||
```bash
|
||||
./tests.cmd --module intellij.agent.workbench.acp.tests --test com.intellij.agent.workbench.acp.AcpThreadEventMapperTest
|
||||
./tests.cmd --module intellij.air.acp.tests --test com.intellij.air.acp.AcpThreadEventMapperTest
|
||||
```
|
||||
|
||||
Run Engine tests if reducer/projection code changes; this plan should avoid that:
|
||||
|
||||
@@ -17,9 +17,9 @@ targets:
|
||||
- ../../thread-view/src/AgentThreadViewFileEditorState.kt
|
||||
- ../../engine/src/ui/EngineSessionProviderDescriptor.kt
|
||||
- ../../engine/src/platform/EngineLaunchAgents.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpEngineLaunchAgentProvider.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpOutOfBandLaunch.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/testSrc/**/*.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpEngineLaunchAgentProvider.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpOutOfBandLaunch.kt
|
||||
- ../../../../../plugins/ij-air/acp/testSrc/**/*.kt
|
||||
---
|
||||
|
||||
# ACP Agent Launch Profile Migration
|
||||
@@ -93,7 +93,7 @@ switch later.
|
||||
- Built-in launch-profile generation must include launchable ACP registry/local catalog entries next to the
|
||||
provider-derived terminal built-ins. ACP entries that are not installed or cannot resolve their binary must
|
||||
be omitted from the built-in profile list.
|
||||
[@test] ../../../../../plugins/agent-workbench/acp/testSrc/AcpLaunchableAgentsTest.kt
|
||||
[@test] ../../../../../plugins/ij-air/acp/testSrc/AcpLaunchableAgentsTest.kt
|
||||
- Built-in profile generation must be centralized. Palette UI, Manage Profiles, New Thread menu actions,
|
||||
scratch prompt actions, and `AgentSessionLaunchProfileResolverImpl` must all use the same effective built-in
|
||||
profile source; adding ACP target profiles in only one UI path is not acceptable.
|
||||
@@ -207,7 +207,7 @@ would preserve the original modeling error.
|
||||
- Add launch-context coverage to session launch tests:
|
||||
`./tests.cmd --module intellij.agent.workbench.sessions.tests --test com.intellij.agent.workbench.sessions.AgentSessionLaunchServiceTest`
|
||||
- Keep ACP availability coverage in:
|
||||
`./tests.cmd --module intellij.agent.workbench.acp.tests --test com.intellij.agent.workbench.acp.AcpLaunchableAgentsTest`
|
||||
`./tests.cmd --module intellij.air.acp.tests --test com.intellij.air.acp.AcpLaunchableAgentsTest`
|
||||
- Add an integration-style test or manual run configuration that verifies the New Task picker shows terminal
|
||||
profiles and installed ACP registry profiles side by side.
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ targets:
|
||||
- ../../thread-view/src/AgentThreadViewVirtualFile.kt
|
||||
- ../../thread-view/src/AgentThreadViewTabsStateService.kt
|
||||
- ../../engine/src/ui/EngineSessionProviderDescriptor.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpOutOfBandLaunch.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpLaunchProfileContributor.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpLauncherService.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpSessionManager.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpOutOfBandLaunch.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpLaunchProfileContributor.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpLauncherService.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpSessionManager.kt
|
||||
---
|
||||
|
||||
# Agent Launch Surface Switching
|
||||
|
||||
@@ -7,9 +7,9 @@ targets:
|
||||
- ../../sessions/src/service/AgentSessionLaunchService.kt
|
||||
- ../../engine/src/ui/EngineSessionProviderDescriptor.kt
|
||||
- ../../engine/src/platform/EngineLaunchAgents.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpOutOfBandLaunch.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/src/AcpEngineLaunchAgentProvider.kt
|
||||
- ../../../../../plugins/agent-workbench/acp/resources/intellij.agent.workbench.acp.xml
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpOutOfBandLaunch.kt
|
||||
- ../../../../../plugins/ij-air/acp/src/AcpEngineLaunchAgentProvider.kt
|
||||
- ../../../../../plugins/ij-air/acp/resources/intellij.air.acp.xml
|
||||
---
|
||||
|
||||
# Engine ACP Out-of-Band Launch Profiles
|
||||
@@ -70,7 +70,7 @@ a launch through its own runtime, with ACP being the first consumer.
|
||||
- `AcpOutOfBandLaunch.handles` matches only the `acp` provider; `launch` resolves the catalog
|
||||
entry whose display name equals the selected `modelId`, prepares the ACP session for the thread id, and
|
||||
sends the prompt only when it is non-blank. An unresolved `modelId` is a no-op.
|
||||
[@test] ../../../../../plugins/agent-workbench/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
[@test] ../../../../../plugins/ij-air/acp/testSrc/AcpThreadEventMapperTest.kt
|
||||
|
||||
## User Experience
|
||||
- ACP agents appear in the New-Task launch-profile generation-model picker under the Engine provider,
|
||||
@@ -93,13 +93,13 @@ a launch through its own runtime, with ACP being the first consumer.
|
||||
- `acp` module absent (e.g. a product build without AI Assistant): neither EP has extensions, so the
|
||||
Engine provider lists no generation models and registers no out-of-band launcher; the shared pipeline
|
||||
falls back to its default (terminal) behavior.
|
||||
- `intellij.ml.llm.*` absent: Workbench ACP behavior must still work when `intellij.agent.workbench.acp`
|
||||
and `intellij.agent.workbench.acp.runtime` are loaded. The LLM/AIA plugin must not be required for ACP
|
||||
- `intellij.ml.llm.*` absent: Workbench ACP behavior must still work when `intellij.air.acp`
|
||||
and `intellij.air.acp.runtime` are loaded. The LLM/AIA plugin must not be required for ACP
|
||||
actions, catalog population, launch-profile visibility, or process launch.
|
||||
|
||||
## Testing / Local Run
|
||||
- `./tests.cmd --module intellij.agent.workbench.engine.tests --test com.intellij.agent.workbench.engine.platform.EngineEventStoreTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.acp.tests --test com.intellij.agent.workbench.acp.AcpThreadEventMapperTest`
|
||||
- `./tests.cmd --module intellij.air.acp.tests --test com.intellij.air.acp.AcpThreadEventMapperTest`
|
||||
- End-to-end launch verification uses the AIA-less `IDEA (agent workbench)` run configuration. ACP catalog
|
||||
population and launch must come from AWB modules, not from `intellij.ml.llm.agents.acp`.
|
||||
|
||||
|
||||
@@ -40,8 +40,8 @@ AI Review creates independent review sessions shown as Problems toolwindow tabs.
|
||||
- `./tests.cmd --module intellij.agent.workbench.ai.review.tests --test com.intellij.agent.workbench.ai.review.prompt.AIReviewPaletteExtensionTest`
|
||||
- `./tests.cmd --module intellij.agent.workbench.ai.review.tests --test com.intellij.agent.workbench.ai.review.model.AIReviewViewModelTest`
|
||||
- `./bazel.cmd build @community//plugins/agent-workbench/ai-review:agent-workbench-ai-review`
|
||||
- `./bazel.cmd build //plugins/agent-workbench/ai-review-agents:agent-workbench-ai-review-agents`
|
||||
- `./bazel.cmd build //plugins/agent-workbench/ai-review-space:agent-workbench-ai-review-space`
|
||||
- `./bazel.cmd build //plugins/ij-air/ai-review-agents:agent-workbench-ai-review-agents`
|
||||
- `./bazel.cmd build //plugins/ij-air/ai-review-space:agent-workbench-ai-review-space`
|
||||
|
||||
## References
|
||||
- `../actions/global-prompt-entry.spec.md`
|
||||
|
||||
@@ -123,7 +123,7 @@ Agent Workbench treats Pi as a first-class terminal-backed provider. Pi sessions
|
||||
## Testing / Local Run
|
||||
- `./tests.cmd --module intellij.platform.ai.agent.pi.sessions.tests --test 'com.intellij.platform.ai.agent.pi.sessions.*Test'`
|
||||
- `./tests.cmd --module intellij.platform.ai.agent.pi.sessions.filewatch.tests --test 'com.intellij.platform.ai.agent.pi.sessions.*Test'`
|
||||
- `./tests.cmd --module intellij.agent.workbench.plugin.tests --test com.intellij.agent.workbench.plugin.AgentWorkbenchProviderRegistrationTest`
|
||||
- `./tests.cmd --module intellij.air.plugin.tests --test com.intellij.air.plugin.AgentWorkbenchProviderRegistrationTest`
|
||||
|
||||
## References
|
||||
- `agent-sessions.spec.md`
|
||||
|
||||
@@ -212,8 +212,6 @@ jvm_library(
|
||||
"//libraries/assertj-core:assertj-core_test_lib",
|
||||
"//plugins/terminal",
|
||||
"//plugins/terminal:terminal_test_lib",
|
||||
"//plugins/agent-workbench/plugin",
|
||||
"//plugins/agent-workbench/plugin:plugin_test_lib",
|
||||
],
|
||||
)
|
||||
### auto-generated section `build intellij.agent.workbench.thread.view.tests` end
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
if (platformLocalPath == null) {
|
||||
bundledPlugins("org.jetbrains.plugins.terminal")
|
||||
}
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("plugins/terminal/lib")) { include("**/*.jar") })
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":settings"))
|
||||
implementation(project(":sessions-core"))
|
||||
implementation(project(":ui"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -59,7 +59,6 @@
|
||||
<orderEntry type="module" module-name="intellij.libraries.assertj.core" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.terminal" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.thread.view" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.agent.workbench.plugin" scope="TEST" />
|
||||
</component>
|
||||
<component name="TestModuleProperties" production-module="intellij.agent.workbench.thread.view" />
|
||||
</module>
|
||||
@@ -1,63 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("org.jetbrains.kotlin.jvm")
|
||||
id("org.jetbrains.intellij.platform.module")
|
||||
kotlin("plugin.serialization")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven("https://oss.sonatype.org/content/repositories/snapshots/")
|
||||
intellijPlatform {
|
||||
defaultRepositories()
|
||||
snapshots()
|
||||
nightly()
|
||||
}
|
||||
}
|
||||
|
||||
intellijPlatform {
|
||||
instrumentCode = false
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
java { setSrcDirs(listOf("src")) }
|
||||
resources { setSrcDirs(listOf("resources")) }
|
||||
}
|
||||
}
|
||||
|
||||
val platformLocalPath = rootProject.extra["platformLocalPath"] as? String
|
||||
val platformVersion = rootProject.extra["platformVersion"] as String
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
if (platformLocalPath != null) {
|
||||
local(platformLocalPath)
|
||||
} else {
|
||||
intellijIdeaUltimate(platformVersion) { useInstaller = false }
|
||||
bundledModules(
|
||||
"intellij.platform.vcs",
|
||||
"intellij.platform.vcs.impl.shared",
|
||||
"intellij.platform.vcs.impl",
|
||||
"intellij.platform.diff",
|
||||
"intellij.platform.diff.impl",
|
||||
)
|
||||
}
|
||||
jetbrainsRuntime()
|
||||
}
|
||||
|
||||
if (platformLocalPath != null) {
|
||||
val ideDir = rootProject.file(platformLocalPath)
|
||||
compileOnly(fileTree(ideDir.resolve("lib")) {
|
||||
include("intellij.platform.vcs*.jar", "intellij.platform.diff*.jar")
|
||||
})
|
||||
}
|
||||
|
||||
implementation(project(":common"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":thread-view"))
|
||||
implementation(project(":prompt-core"))
|
||||
implementation(project(":sessions"))
|
||||
implementation(project(":sessions-core"))
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
jvmTarget.set(JvmTarget.JVM_21)
|
||||
freeCompilerArgs.addAll("-Xjvm-default=all")
|
||||
apiVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
languageVersion.set(KotlinVersion.KOTLIN_2_3)
|
||||
}
|
||||
}
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_21
|
||||
targetCompatibility = JavaVersion.VERSION_21
|
||||
}
|
||||
Reference in New Issue
Block a user