Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This is the **GitHub Copilot for Eclipse** plugin - an Eclipse IDE extension tha
- **Multi-Platform Support**: Windows, macOS (x64/aarch64), and Linux (x64/aarch64)

### Tech Stack
- **Java**: Primary language (Java 17+, with Eclipse 4.31+ requiring Java 21+)
- **Java**: Primary language (Java 21+, with Eclipse 4.38+ requiring Java 21+)
- **Eclipse RCP/OSGi**: Plugin architecture using Eclipse platform APIs
- **Maven/Tycho**: Build system for Eclipse plugin development
- **LSP4E**: Language Server Protocol integration for Eclipse
Expand Down Expand Up @@ -46,7 +46,7 @@ You MUST verify compilation and code quality before declaring work complete!
- Root POM coordinates multi-module build with Tycho
- Each bundle/feature/test has its own POM inheriting from root
- Checkstyle validation runs during `verify` phase
- Target platform defined in `base.target`, `target-terminal.target`, `target-tm-terminal.target`
- Target platform defined in `target-platforms/2025-12.target`

### Code Change Review Trigger

Expand Down Expand Up @@ -547,7 +547,7 @@ CompletableFuture.runAsync(() -> {

**When** writing tests → use JUnit 5 for core logic; integration tests for Eclipse integration

**When** adding dependencies → only add necessary bundles; check `base.target` for Eclipse 2024-03 version constraints
**When** adding dependencies → only add necessary bundles; check `target-platforms/2025-12.target` for Eclipse 2025-12 version constraints

**When** targeting Eclipse versions → support multiple versions when possible

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ jobs:
working-directory: com.microsoft.copilot.eclipse.core/copilot-agent
run: npm i -f

- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '17'
java-version: '21'
distribution: 'temurin'
cache: maven

Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ When you submit a pull request, a CLA bot will automatically determine whether y

### Prerequisites

- **Java 17** or later (CI uses Temurin 17; use a newer JDK if required by your Eclipse IDE)
- **Java 21** or later (CI uses Temurin 21; use a newer JDK if required by your Eclipse IDE)
- **Maven 3.8+** (or use the provided Maven wrapper `./mvnw`)
- **Node.js 22.13** or later, with npm
- **Eclipse IDE for Eclipse Committers 2024-03** or later (for development)
- **Eclipse IDE for Eclipse Committers 2025-12** or later (for development)
- Recommended: **Eclipse Checkstyle plugin** for code style compliance
(e.g. install from update site: https://checkstyle.org/eclipse-cs-update-site/)

Expand Down Expand Up @@ -61,8 +61,8 @@ The installable P2 repository is generated in `com.microsoft.copilot.eclipse.rep
* Do also import the agent bundle for your OS (e.g., `com.microsoft.copilot.eclipse.core.agent.win32`)
after building the project with npm and maven or import all OS-specific agent bundles.
2. Activate one of the target platforms, i.e. open one of the target definition files and select `Set As Active Target Platform`.
* target-terminal.target (Eclipse 4.37+)
* target-tm-terminal.target (Eclipse 4.36 and earlier)
* `target-platforms/2025-12.target` (Eclipse 4.38 and later)
* `target-platforms/2024-12.target` (Eclipse 4.36 and earlier)
3. For using the Checkstyle configuration (assuming you have installed the Eclipse Checkstyle plugin, see prerequisites),
add a new named Checkstyle configuration.
* Select *Window > Preferences > Checkstyle* and press the *New...* button.
Expand Down
77 changes: 0 additions & 77 deletions base.target

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.linux.aarch64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=linux)(osgi.arch=aarch64))
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.linux.x64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=linux)(osgi.arch=x86_64))
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.macosx.aarch64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=macosx) (osgi.arch=aarch64))
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.macosx.x64
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (&(osgi.os=macosx)(osgi.arch=x86_64))
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Automatic-Module-Name: com.microsoft.copilot.eclipse.core.agent.win32
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Fragment-Host: com.microsoft.copilot.eclipse.core
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Eclipse-PlatformFilter: (osgi.os=win32)
26 changes: 15 additions & 11 deletions com.microsoft.copilot.eclipse.core.test/.classpath
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src">
<attributes>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src">
<attributes>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.compiler.source=21
org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Bundle-Name: com.microsoft.copilot.eclipse.core.test
Bundle-SymbolicName: com.microsoft.copilot.eclipse.core.test;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Fragment-Host: com.microsoft.copilot.eclipse.core
Automatic-Module-Name: com.microsoft.copilot.eclipse.core.test
Import-Package: org.objenesis;version="[3.4.0,4.0.0)",
Expand Down
4 changes: 2 additions & 2 deletions com.microsoft.copilot.eclipse.core.test/build.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
source.. = src
output.. = target/classes
source.. = src/
output.. = target/classes/
bin.includes = META-INF/,\
.

18 changes: 11 additions & 7 deletions com.microsoft.copilot.eclipse.core/.classpath
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.compiler.source=21
org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
Expand Down
4 changes: 2 additions & 2 deletions com.microsoft.copilot.eclipse.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ Export-Package: com.microsoft.copilot.eclipse.core,
com.microsoft.copilot.eclipse.core.lsp.protocol.quota,
com.microsoft.copilot.eclipse.core.lsp.protocol.tools,
com.microsoft.copilot.eclipse.core.nes;x-friends:="com.microsoft.copilot.eclipse.ui",
com.microsoft.copilot.eclipse.core.persistence;x-friends:="com.microsoft.copilot.eclipse.ui,com.microsoft.copilot.eclipse.core.testcom.microsoft.copilot.eclipse.core.utils",
com.microsoft.copilot.eclipse.core.persistence;x-friends:="com.microsoft.copilot.eclipse.ui,com.microsoft.copilot.eclipse.core.test,com.microsoft.copilot.eclipse.core.utils",
com.microsoft.copilot.eclipse.core.utils
Bundle-Activator: com.microsoft.copilot.eclipse.core.CopilotCore
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: com.microsoft.copilot.eclipse.core
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.ui,
Expand Down
4 changes: 2 additions & 2 deletions com.microsoft.copilot.eclipse.core/build.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
source.. = src
output.. = target/classes
source.. = src/
output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
Expand Down
26 changes: 15 additions & 11 deletions com.microsoft.copilot.eclipse.swtbot.test/.classpath
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src">
<attributes>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src">
<attributes>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.compiler.source=21
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Bundle-Name: com.microsoft.copilot.eclipse.swtbot.test
Bundle-SymbolicName: com.microsoft.copilot.eclipse.swtbot.test;singleton:=true
Bundle-Version: 0.20.0.qualifier
Bundle-Vendor: GitHub Copilot
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-RequiredExecutionEnvironment: JavaSE-21
Automatic-Module-Name: com.microsoft.copilot.eclipse.swtbot.test
Require-Bundle: org.eclipse.swtbot.swt.finder;bundle-version="4.1.0",
org.eclipse.swtbot.eclipse.finder;bundle-version="4.1.0",
Expand Down
4 changes: 2 additions & 2 deletions com.microsoft.copilot.eclipse.swtbot.test/build.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
source.. = src
output.. = target/classes
source.. = src/
output.. = target/classes/
bin.includes = META-INF/,\
.,\
plugin.xml,\
Expand Down
18 changes: 11 additions & 7 deletions com.microsoft.copilot.eclipse.terminal.api/.classpath
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=17
org.eclipse.jdt.core.compiler.source=21
Loading