Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
da9fbe4
Tempmaster2 (#31)
carstenartur Oct 14, 2025
d459839
Merge branch 'eclipse-jdt:master' into master
carstenartur Oct 18, 2025
f4e7b6f
Merge branch 'eclipse-jdt:master' into master
carstenartur Oct 26, 2025
2a92e5d
Merge branch 'eclipse-jdt:master' into master
carstenartur Nov 23, 2025
ff98667
Merge branch 'eclipse-jdt:master' into master
carstenartur Dec 7, 2025
bed9329
Merge branch 'eclipse-jdt:master' into master
carstenartur Dec 14, 2025
92191e1
Merge branch 'eclipse-jdt:master' into master
carstenartur Dec 20, 2025
ef4aa4f
Update CI to JDK 21 for Tycho 5.0.0 compatibility (#33)
Copilot Dec 20, 2025
a638db9
Align Tycho version to 5.0.1 in extensions.xml (#34)
Copilot Dec 20, 2025
8acb85d
Unify Tycho version to 5.0.1 across all POMs (#35)
Copilot Dec 20, 2025
4739ba4
Fix Maven/Tycho configuration for CI builds (#36)
Copilot Dec 20, 2025
23d7d5d
Initial plan (#37)
Copilot Dec 20, 2025
eccd74d
Downgrade Tycho from 5.0.1 to 5.0.0 to fix build failure (#39)
Copilot Dec 20, 2025
0aca2df
Upgrade Tycho from 5.0.0 to 5.0.1 to fix build ProvisionException (#40)
Copilot Dec 20, 2025
8c82f28
Add missing .mvn/extensions.xml for Tycho pomless extension (#38)
Copilot Dec 20, 2025
50eae99
Merge branch 'eclipse-jdt:master' into master
carstenartur Dec 24, 2025
cc7728f
Merge branch 'eclipse-jdt:master' into master
carstenartur Dec 31, 2025
1283f88
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 5, 2026
eec0c6e
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 11, 2026
85b4427
codeql.yml aktualisieren
carstenartur Jan 11, 2026
5bd02b9
maven.yml aktualisieren
carstenartur Jan 11, 2026
8dc0ad7
Fix Maven build by upgrading to version 3.9.9 for Tycho 5.0.1 compati…
Copilot Jan 11, 2026
8c5f878
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 14, 2026
e958714
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 17, 2026
a8d2e31
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 21, 2026
aa65dc6
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 22, 2026
04b933f
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 27, 2026
889c87e
Merge branch 'eclipse-jdt:master' into master
carstenartur Jan 30, 2026
84280c2
Merge branch 'eclipse-jdt:master' into master
carstenartur Feb 1, 2026
7f2b348
Add GitHub Actions workflow for rebasing PRs onto upstream master (#73)
Copilot Feb 3, 2026
29def9b
Add upstream sync workflow and fix PR rebasing to exclude fork-specif…
Copilot Feb 3, 2026
6fcd5af
Initial plan (#37)
Copilot Dec 20, 2025
a687479
Add missing .mvn/extensions.xml for Tycho pomless extension (#38)
Copilot Dec 20, 2025
df0e5aa
Initial plan
Copilot Feb 1, 2026
f4a806d
Implement DocumentDirtyTracker and integrate with CleanUpPostSaveList…
Copilot Feb 1, 2026
bce85ad
Add comprehensive tests for DocumentDirtyTracker
Copilot Feb 1, 2026
ff7488e
Fix code review issues in DocumentDirtyTracker
Copilot Feb 1, 2026
6dfdbd8
Address final code review feedback
Copilot Feb 1, 2026
1c6698d
Address third round of code review feedback
Copilot Feb 1, 2026
071fd5e
Convert DocumentDirtyTrackerTest to JUnit 5
Copilot Feb 1, 2026
ef08b9e
Fix JUnit 5 assertion parameter order
Copilot Feb 2, 2026
624c909
Delete .github/workflows/codacy.yml
carstenartur Feb 3, 2026
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
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "maven" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
71 changes: 67 additions & 4 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,76 @@
name: CodeQL call

# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ "master" ]
branches: [ master ]
pull_request:
branches: [ "master" ]
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '15 8 * * 1'
- cron: '20 9 * * 2'

jobs:
callCodeQLworkflow:
uses: eclipse-platform/eclipse.platform.releng.aggregator/.github/workflows/codeQLworkflow.yml@master
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support

steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Maven
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.9
- name: Setup Java JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin' # See 'Supported distributions' for available options
java-version: '21'

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.

# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality


# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# For Tycho/Eclipse projects, we need to use explicit Maven build instead
- name: Build with Maven
run: mvn -B package -Pbuild-individual-bundles --file pom.xml

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
env:
CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths", 1]}}'
30 changes: 30 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: Java CI with Maven

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- 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
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.9
- name: Build with Maven
run: mvn -B package -Pbuild-individual-bundles --file pom.xml
221 changes: 221 additions & 0 deletions .github/workflows/rebase-upstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
name: Rebase Upstream

on:
issue_comment:
types: [created]
pull_request:
types: [opened]

jobs:
add-rebase-button:
name: Add Rebase Instructions
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- name: Add comment with rebase instructions
uses: actions/github-script@v7
with:
script: |
const repoUrl = context.payload.repository.html_url;
const workflowUrl = `${repoUrl}/actions/workflows/rebase-upstream.yml`;

const comment = `## 🔄 Rebase onto Upstream

To rebase this PR onto the latest \`eclipse-jdt/eclipse.jdt.ui:master\`, comment:

\`\`\`
/rebase-upstream
\`\`\`

This will rebase your PR branch onto the upstream repository's master branch.

📋 [View Workflow](${workflowUrl})`;

github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: comment
});

rebase-upstream:
name: Rebase onto Upstream Master
if: |
github.event_name == 'issue_comment' &&
github.event.issue.pull_request &&
contains(github.event.comment.body, '/rebase-upstream')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Check user permission
id: check
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const authorAssociation = context.payload.comment.author_association;
const allowedRoles = ['OWNER', 'MEMBER', 'COLLABORATOR'];

if (allowedRoles.includes(authorAssociation)) {
return 'true';
} else {
return 'false';
}

- name: Add unauthorized reaction
if: steps.check.outputs.result != 'true'
uses: actions/github-script@v7
with:
script: |
github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: context.payload.comment.id,
content: '-1'
});

github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: '❌ Only repository collaborators can trigger the rebase.'
});

- name: Exit if unauthorized
if: steps.check.outputs.result != 'true'
run: exit 1

- name: Add rocket reaction
uses: actions/github-script@v7
with:
script: |
github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: context.payload.comment.id,
content: 'rocket'
});

- name: Get PR branch info
id: pr
uses: actions/github-script@v7
with:
script: |
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.issue.number
});

core.setOutput('head_ref', pr.head.ref);
core.setOutput('head_repo', pr.head.repo.full_name);
core.setOutput('head_clone_url', pr.head.repo.clone_url);

- name: Checkout PR branch
uses: actions/checkout@v4
with:
repository: ${{ steps.pr.outputs.head_repo }}
ref: ${{ steps.pr.outputs.head_ref }}
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0

- name: Configure Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

- name: Add upstream remote and rebase
id: rebase
run: |
git remote add upstream https://github.com/eclipse-jdt/eclipse.jdt.ui.git
git fetch upstream master
git fetch origin master

# Find where PR branch diverged from fork master
FORK_POINT=$(git merge-base HEAD origin/master)
echo "Fork point: $FORK_POINT"

# Rebase only PR commits onto upstream, skipping fork-specific commits
if git rebase --onto upstream/master $FORK_POINT HEAD; then
echo "success=true" >> $GITHUB_OUTPUT
else
echo "success=false" >> $GITHUB_OUTPUT
git rebase --abort
fi

- name: Push rebased branch
if: steps.rebase.outputs.success == 'true'
run: |
git push --force-with-lease origin ${{ steps.pr.outputs.head_ref }}

- name: Add success comment
if: steps.rebase.outputs.success == 'true'
uses: actions/github-script@v7
with:
script: |
github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: context.payload.comment.id,
content: '+1'
});

github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: '✅ Successfully rebased onto `eclipse-jdt/eclipse.jdt.ui:master`'
});

- name: Add failure comment
if: steps.rebase.outputs.success == 'false'
uses: actions/github-script@v7
with:
script: |
github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: context.payload.comment.id,
content: '-1'
});

const comment = `❌ Rebase failed due to conflicts.

To resolve manually:

\`\`\`bash
# Add upstream remote
git remote add upstream https://github.com/eclipse-jdt/eclipse.jdt.ui.git

# Fetch upstream and origin
git fetch upstream master
git fetch origin master

# Find where PR branch diverged from fork master
FORK_POINT=$(git merge-base HEAD origin/master)

# Rebase only PR commits onto upstream/master
git rebase --onto upstream/master $FORK_POINT HEAD

# Resolve conflicts, then:
git add .
git rebase --continue

# Force push when done
git push --force-with-lease
\`\`\``;

github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: comment
});

- name: Fail workflow if rebase failed
if: steps.rebase.outputs.success == 'false'
run: exit 1
4 changes: 2 additions & 2 deletions .github/workflows/rebase.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.7
uses: cirrus-actions/rebase@1.8
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading