diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index b340544d8af..6ecc70a3eb2 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -5,8 +5,8 @@ This repository contains the core Eclipse Platform components that form the basis for the Eclipse IDE. It is a **large-scale Java/OSGi project** (~120MB, 5,600+ Java files across 38 Maven modules) using **Maven/Tycho** for building Eclipse RCP bundles and features. **Key Technologies:** -- Language: Java (JDK 17+, targets JDK 21 in CI) -- Build: Maven 3.9+ with Eclipse Tycho (OSGi/RCP build tooling) +- Language: Java (JDK 21) +- Build: Maven 3.9.11 with Eclipse Tycho (OSGi/RCP build tooling) - Architecture: OSGi bundles organized as Eclipse plugins - Testing: JUnit with Tycho Surefire plugin @@ -22,25 +22,10 @@ This repository contains the core Eclipse Platform components that form the basi ## Critical Build Information -**⚠️ IMPORTANT: This repository CANNOT be built in isolation.** It depends on a parent POM (`eclipse-platform-parent`) from the [eclipse.platform.releng.aggregator](https://github.com/eclipse-platform/eclipse.platform.releng.aggregator) repository. - -### Individual Bundle Builds - -Individual bundles CAN be built using the pre-configured profile if you have network access to Eclipse repositories: - -```bash -cd # e.g., runtime/bundles/org.eclipse.core.runtime -mvn clean verify -Pbuild-individual-bundles -``` - The `-Pbuild-individual-bundles` profile (configured in `.mvn/maven.config`) enables the bundle to fetch the parent POM from https://repo.eclipse.org/content/repositories/eclipse/. **Note:** If network access to Eclipse repositories is blocked, individual bundle builds will fail. In such environments, code exploration and analysis can still be performed, but build verification is not possible. -### Full Platform Build - -For full platform builds, use the aggregator repository which includes this repo as a Git submodule. The CI workflows in this repository delegate to workflows in the aggregator repository. - ### Build Profiles Used in CI The Jenkinsfile shows the complete build command: diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 00000000000..51b896e1ee2 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,32 @@ +name: "Copilot Setup Steps" + +# Automatically run the setup steps when they are changed to allow for easy validation, and +# allow manual testing through the repository's "Actions" tab +on: + workflow_dispatch: + pull_request: + paths: + - .github/workflows/copilot-setup-steps.yml + +jobs: + # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. + copilot-setup-steps: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + cache: 'maven' + + - name: Set up Maven 3.9.11 + uses: stCarolas/setup-maven@v5 + with: + maven-version: '3.9.11' +