Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1228 commits
Select commit Hold shift + click to select a range
87ae3ef
Prevent CompletionFailure from bubbling up (and freezing IDE)
mickaelistria Mar 11, 2025
ede42ae
Expected type for SingleVariableDeclaration in CatchClause
datho7561 Mar 3, 2025
1a1754e
Suggest keywords before the top level type
datho7561 Mar 11, 2025
4007c56
Completion for `case` keyword
datho7561 Mar 11, 2025
4169f15
Completion for break and yield in switch statements and expr
datho7561 Mar 11, 2025
83838db
Keyword completion: differentiate between expressions and statements
datho7561 Mar 12, 2025
ef62da6
Many keyword completion fixes
datho7561 Mar 12, 2025
fea899f
[DOM Search] - Fixes testParameterizedTypeSingleArgument01 and 6 others
Mar 11, 2025
4ff0549
[DOM Search] Fix testDeclarationOfReferencedTypes05 and 1 others
Mar 12, 2025
9302755
Fix CompletionContextTests0123 inside JavacConverter
Jan 13, 2025
9986854
Mark malformed
Jan 15, 2025
3549913
Keyword completion fixes for try/catch/finally and do-while
datho7561 Mar 13, 2025
0c4647d
Another round of keyword completions
datho7561 Mar 13, 2025
9d7106c
[DOM Search] implement matching on wildcards, extends, super, and oth…
Mar 14, 2025
0c0b3f2
Undo some changes in jdt.core that are no longer relevant
Mar 10, 2025
0e646a7
Cache type hierarchy in `DOMCompletionUtil.findInSupers`
datho7561 Mar 14, 2025
20d1d43
Improve "override method" completion
datho7561 Mar 14, 2025
cbdcb0b
Hack to prevent OperationCanceledException from being propagated to logs
datho7561 Dec 10, 2024
c667ba0
Small fix to CompletionEngines and ExplectedTypes
mickaelistria Mar 11, 2025
066be02
Primitive types can autobox to `java.lang.Object`
datho7561 Mar 18, 2025
da6a8bd
Prevent NPEs in completion tests
datho7561 Mar 18, 2025
2ac565e
Lazily resolve DOMCompletionContext.getEnclosingElement()
mickaelistria Mar 12, 2025
2b57cba
Fixes testParameterizedType_Bug83713 - Fix bad binding key
Mar 18, 2025
dbe08d2
More error/NPE fixes in completion
datho7561 Mar 18, 2025
f18e0fe
Avoid calling getKey() too greedily
mickaelistria Mar 17, 2025
ba849a2
Add "since" 4.32 tag for Java 24 constants.
rgrunber Mar 19, 2025
d8008a7
Adjust based on javac library updates.
rgrunber Mar 20, 2025
fca2ced
Set Java 24 requirement for org.eclipse.jdt.core.javac
mickaelistria Mar 21, 2025
807f4fa
Revert some changes in jdt.core to match upstream
datho7561 Mar 21, 2025
a73ffc3
Fix some JAVADOC_LINE offsets
mickaelistria Mar 23, 2025
07ce3d1
Clean up / revert some unnecessary changes in jdt.core
Mar 21, 2025
a8e5ec9
Use recovered type for erasure in javac bindings
datho7561 Mar 24, 2025
536b71d
Filter visibility on search match (do not open type to get modifiers)
mickaelistria Mar 24, 2025
7a09c38
Avoid NPE when trying to resolve type from key
mickaelistria Mar 24, 2025
0d5bae1
Some updates for Javadoc markdown conversion to Java 24
mickaelistria Mar 24, 2025
b788f4f
Prevent NPE
mickaelistria Mar 25, 2025
7fea79b
Map more problems
mickaelistria Mar 25, 2025
c5d4684
Key for anonymous type declarations
datho7561 Mar 24, 2025
de93ae4
Use SignatureUtils everywhere in DOMCompletionEngine
mickaelistria Mar 25, 2025
ee69056
Fix insertion for enum constants
mickaelistria Mar 25, 2025
a02fac8
Fix relevance
mickaelistria Mar 25, 2025
4b4d07a
[WIP] Handle `IAccessRules` in completion
datho7561 Mar 25, 2025
8f9b816
Improvements for ExpectedTypes
mickaelistria Mar 26, 2025
8cb5c7a
Fix testLocalVariableDeclaration1 and 10+ others
Mar 25, 2025
5ef63ff
Lazily resolve whether variable is unique
mickaelistria Mar 27, 2025
3ef354c
Don't rely on getKey to ensure bindings are unique
mickaelistria Mar 27, 2025
05fa741
Improve variableName proposals for collections
mickaelistria Mar 26, 2025
2d3642a
Stabilize some tests where ordering is important
mickaelistria Mar 27, 2025
57cacdc
Fix location for MemberRef without qualifier
mickaelistria Mar 27, 2025
caf3918
Better separate source and bin in sourcepath/classpath
mickaelistria Mar 28, 2025
d82eb5b
Complete on method name without expression
mickaelistria Mar 28, 2025
77d72e3
Do not fail on resolveBinding() when symbol has no matching .class
mickaelistria Mar 28, 2025
4ff6dd4
Always propose Object's methods
mickaelistria Mar 28, 2025
788b3fb
Improve perf for some completion based on index
mickaelistria Mar 28, 2025
7df2cd8
Share Names
mickaelistria Mar 31, 2025
39de02e
[DOM Search] Fix testStringParameterizedMultipleArguments01 and 02, 0…
Mar 21, 2025
7f555d5
Fix testStringNestedMultipleArguments02
Mar 28, 2025
055b38a
[DOM Search] check current package for non-imported missing types
Mar 28, 2025
1154f70
[DOM Search] Parameterized types are not having source range replaced…
Mar 28, 2025
0dc8bb1
[DOM Search] Various issues trying to match unresolved patterns
Mar 28, 2025
09becb8
Incorrect hover and content assist with lombok
snjeza Mar 30, 2025
155a336
Don't use not-upstream DOMCodeSelector.isGenerated()
mickaelistria Apr 1, 2025
ce6d74b
Completion Perf: Delay `scrapeAccessibleBindings`
mickaelistria Apr 1, 2025
1113053
Ensure bindings are resolved before requesting import binding
mickaelistria Apr 2, 2025
b113953
Mark array types referenced in method @see reference as used
datho7561 Apr 1, 2025
5f29e28
Map another two error messages
datho7561 Apr 2, 2025
ed9e97c
Skip running jdt.core tests without javac
datho7561 Mar 20, 2025
351128c
Improve first parameter completion for method
datho7561 Mar 19, 2025
2c871ed
Fix intersection bindings
datho7561 Mar 25, 2025
7d58ef1
Completing static member no longer inserts class name twice
datho7561 Apr 4, 2025
3010cda
Fix testStringNestedMultipleArguments05
Mar 31, 2025
451eef3
Fix testStringNestedSingleArgument01
Mar 31, 2025
867e3ee
Fix one issue - unsure which
Apr 1, 2025
2cc7f75
Do not report imports for exact tests
Apr 1, 2025
cebed36
Fix testParameterizedArrayTypeMultipleArguments01 and 6 others
Apr 1, 2025
5490971
Fix several regressions in JavaSearchGenericTypeEquivalentTests
Apr 2, 2025
8ba0a9e
Reorg how validating type parameters works
Apr 3, 2025
d5e8a0d
[DOM Search Tests] - Fixes 8 tests, add some support for exact search…
Apr 3, 2025
fa42fc9
[DOM Search] Fix 8 tests related to search queries with no type param…
Apr 3, 2025
56441f2
Fix testStringParameterizedMultipleArguments01
Apr 4, 2025
98f4b6f
Fix testStringParameterizedMultipleArguments02
Apr 4, 2025
b77cbc6
Set -Xproc:none when APT is disabled
mickaelistria Apr 7, 2025
e1288fa
Maybe fix semantic highlighting
datho7561 Apr 7, 2025
349f43d
[DOM Search] Fixes 4
Apr 7, 2025
5888dd2
Fix ASTConverterAST8Test.test0049()/test0052()
snjeza Apr 2, 2025
46d7acb
Fix some qualification relevances
datho7561 Apr 7, 2025
bfb8bdb
[DOM Search] Fixes several in JavaSearchGenericFieldTests
Apr 8, 2025
c38ba14
Convert `@serial` javadoc tag
datho7561 Apr 8, 2025
764b1e9
Completing enum sometimes double inserts the enum type name
datho7561 Apr 9, 2025
aabb882
Fix JavaSearchBugsTests.testBug83804_Type and 3 others
snjeza Apr 10, 2025
55e6a4a
Resolve method name to method
mickaelistria Apr 14, 2025
37ceee5
Reformat all files in javac bundle to get rid of trailing spaces and …
Apr 14, 2025
ba3dbb2
Fixes #1370 - moving static method via refactor fails, DOMSearch
Apr 14, 2025
7e0c112
Prevent error when accepting keyword completion before loop
datho7561 Apr 15, 2025
37d00bb
Don't try to read symbol for JavacErrorMethodBinding.isVarargs
mickaelistria Apr 16, 2025
ee92374
Fixes testMethodDeclarationsElementPatternMultipleParamArguments02
Apr 17, 2025
413fcdd
Fix regressions
Apr 17, 2025
7eb4e27
Fixes testMethodReferencesStringPatternSingleParamArguments09 and others
Apr 18, 2025
4cf6792
Fix ASTConverterTestAST8_2.test0602
snjeza Apr 17, 2025
3c37d88
Don't suggest keywords in an array initializer
datho7561 Apr 22, 2025
79633d4
Update GitHub action
mickaelistria Apr 26, 2025
4a3a643
Add workaround repo for repo.eclipse.org outage
mickaelistria Apr 28, 2025
614f05a
Small fixes for record bindings
mickaelistria Apr 25, 2025
3c47a7a
Map more problems
mickaelistria Apr 25, 2025
5857ec4
Try archiving JUnit reports in GitHub actions
mickaelistria Apr 29, 2025
ab168b9
More GH JUnit reporting
mickaelistria Apr 29, 2025
9f3a3e5
Cache and reuse symbols
mickaelistria Apr 4, 2025
b09828e
Fixes symbol cache
mickaelistria Apr 4, 2025
b471489
More fixes to CachingClassSymbolClassReader
mickaelistria May 5, 2025
39098f6
Only complete `default` inside annotations
mickaelistria May 6, 2025
339170b
Replace name instead of inserting when possible
mickaelistria May 6, 2025
6bd0f10
Make ASTConverterMarkdownText more tolerant
mickaelistria May 7, 2025
a6d5414
Fix completion for `blah.| unrelatedMethod()`
mickaelistria May 9, 2025
3c54e92
Search skips visiting EnumConstantDeclaration name
mickaelistria May 12, 2025
a69a68d
Do not suggest keywords in empty block
datho7561 May 12, 2025
0d8ff5a
Do not filter out types from file when completing field type
datho7561 May 12, 2025
dfbf90c
[DOMSearch] - Fixes testMethodReferencesStringPatternSingleParamArgum…
Apr 22, 2025
88b3b5c
[DOMSearch] Fixes testMethodReferencesStringPatternSingleParamArgumen…
Apr 28, 2025
3000f60
Fixes testMethodReferencesElementPatternSingleTypeParameter04 and one…
Apr 29, 2025
e419a38
[JavacConverter] Imports are having static set twice, which breaks them
Apr 30, 2025
5241028
NPE Check
Apr 30, 2025
39b1002
[DOMSearch] - Fix testMethodDeclarationsElementPatternMultipleParamAr…
Apr 30, 2025
f962387
Cleanup
Apr 30, 2025
690c11a
NPE
May 1, 2025
88a927c
[DOM Search] More method searches
May 5, 2025
be8551b
[DOM Search] Fixes 6 in JavaSearchGenericMethodExactTests
May 9, 2025
a918b2c
Fix / Swallow 20 IllegalArgumentExceptions when comparing unresolved …
May 12, 2025
0e185a4
[DOM Search] Bandaid Fix for problem with wildcard key being complete…
May 12, 2025
bcb8cb4
[DOM Search] Fix 12 - fixes isQuestionMark and ensures wildcard keys …
May 12, 2025
728d8dc
Fix some regressions
May 13, 2025
899b3f0
NPE
May 13, 2025
9b2e89c
Fix test0264 in ASTConverter15JLS4Test
May 13, 2025
50107df
Fix JavacAnnotationBinding.getAllMemberValuePairs()
mickaelistria May 14, 2025
2040548
Random Fixes in AST Converter tests
May 13, 2025
7ced363
[DOM Search] Fixes testParameterizedTypeMultipleArguments01 in equiva…
May 14, 2025
e8ee8eb
[DOM Search] Fixes testParameterizedType_Bug83713
May 14, 2025
3d90fcc
Cleanup an unnecessary hard-coded signature
May 14, 2025
c74a148
Fixes testStringAnyStrings06 - name match with wildcard
May 14, 2025
6173f15
Improve JavacMethodBinding.isRaw()
mickaelistria May 15, 2025
09d11f2
[Search] Fix qualifiedSourceName
mickaelistria May 16, 2025
ce9c6e5
Revert "[Search] Fix qualifiedSourceName"
mickaelistria May 16, 2025
070364f
Fix an NPE in testMethodReferencesElementPatternMultipleTypeParameter03
May 16, 2025
92519e1
[Search] Compare simpleName when no qualifier is used
mickaelistria May 16, 2025
ee1ad38
Allow parse() to return result even if some units are missing
mickaelistria May 19, 2025
8d63e7e
Implement getDOMASTMethodBinding
mickaelistria May 20, 2025
5b00e14
Support for ConstructorInvocation in search
mickaelistria May 20, 2025
d88ef30
Fix type comparison in search
mickaelistria May 20, 2025
3d5fdf3
Fix for field references in field initializers
mickaelistria May 20, 2025
6339dc7
Fix test testMethodReferencesElementPatternMultipleTypeParameter02 - …
May 20, 2025
cdf9e11
Fix an NPE in DOMMethodLocator
May 20, 2025
1c96f22
[Search] Support OrPattern for DOM
mickaelistria May 20, 2025
230e2aa
[Search] Do not visit AnnotationTypeDeclaration name
mickaelistria May 21, 2025
dc72b4d
Fix an IllegalArgumentException when calling member.getType()
May 20, 2025
3c56451
[Search] Honor `searchFor`
mickaelistria May 21, 2025
ad59f1e
Mostly fix testSearchFieldInBinaryNoResolution - searches for field p…
May 21, 2025
9ebeee9
fix search for binary types
mickaelistria May 22, 2025
7db8479
Revert "Mostly fix testSearchFieldInBinaryNoResolution - searches for…
mickaelistria May 22, 2025
66bfd3f
Fix various NPEs
May 22, 2025
f65b2a6
[Search] Support reference to annotation member
mickaelistria May 22, 2025
48d0e8b
Better support for searching MemberValuePair
mickaelistria May 22, 2025
0785a6b
[Search] Improve comparison of method return type
mickaelistria May 26, 2025
f6773ef
Improve getting level for arrays
mickaelistria May 26, 2025
bd8b37f
[Search] Improve super type reference
mickaelistria May 26, 2025
0018da4
[Search] Fix error when matching package declaration
mickaelistria May 26, 2025
a6bdbf4
Fix resolving JavaElement for binary types/methods
mickaelistria May 26, 2025
6fed8ba
Match SingleMemberAnnotation value()
mickaelistria May 26, 2025
4924522
[Search] Improve filters when matching super-type
mickaelistria May 27, 2025
55e6fb7
[Search] add support for StrigLiteral in SingleMemberAnnotation
mickaelistria May 27, 2025
fe08f0e
[Search] Match type parameters from type declaration
mickaelistria May 27, 2025
2a0a079
Fixes testParameterizedArrayTypeSingleArgument04
May 16, 2025
d2a2392
[Search] prefer returning actual member method (instead of similar one)
mickaelistria May 27, 2025
a21012f
[Search] Add localElement to TypeParam ref match
mickaelistria May 27, 2025
50da49c
Fix JavacTypeBinding.getErasure() for arrays
mickaelistria May 28, 2025
35d9f5b
Fixes testStringNestedSingleArgument04
May 16, 2025
716d4c1
Only add unresolved matches when there's some part that matches
May 19, 2025
07d26ad
Fix some constructor completion tests
datho7561 May 21, 2025
2b200b9
Fix JavacMethodBinding for varargs
mickaelistria Jun 2, 2025
da2fa78
Fix testTypeNestedSingleArgument03 and one or two others while preven…
May 28, 2025
ee51595
Fix testBug549413_017 - use correct working copy resolver, and more
Jun 3, 2025
c5a14ce
Keep track of the .jar when processing binary type
mickaelistria Jun 2, 2025
87531f0
Find SUPER_INVOCATION and flag them as expected
mickaelistria Jun 4, 2025
e1b0a21
Fall back to search to find `IType` for a `JavacTypeBinding`
datho7561 Apr 24, 2025
850c62c
Using javac ASTParser outside of OSGi environment
snjeza Jan 30, 2025
9a0daba
Match MethodReference (by name)
mickaelistria May 12, 2025
2da2e73
Match methodReferences
mickaelistria May 12, 2025
6f59e55
Match inside binary files
mickaelistria Jun 5, 2025
43dc0a4
Implement completion for modules in Javadoc
datho7561 Jun 5, 2025
ffb4a4e
Address bug in javadoc type completion
datho7561 Jun 5, 2025
0f7ac2c
Fix searching java element in initializer
mickaelistria Jun 6, 2025
e2b8ed5
Comment out 3 tests that keep killing my env
May 21, 2025
8a47bd1
Fixes testMethodReferencesElementPatternMultipleParamArguments01 - do…
Jun 6, 2025
e3995c4
Only suggest types in the `@throws` Javadoc
datho7561 Jun 5, 2025
34a324a
Javadoc tag completion for unparented comments
datho7561 Jun 6, 2025
a697205
Improve completion for method references in Javadoc
datho7561 Jun 6, 2025
9f84c65
Fix NPEs in package Javadoc completion
datho7561 Jun 6, 2025
cb726eb
Fix context for Javadoc tag elements
datho7561 Jun 10, 2025
e98e0d9
Fix a completion case for `@link`
datho7561 Jun 10, 2025
f9d35bc
Complete types in javadoc text
datho7561 Jun 11, 2025
b29785a
Some more unparented comment completion fixes
datho7561 Jun 11, 2025
5c66c58
Some more tag completion fixes
datho7561 Jun 11, 2025
70a0502
Refactor "find parent type binding"
datho7561 Jun 12, 2025
c76a730
Move true/false binding finder into utils class
datho7561 Jun 12, 2025
0f5c079
Refining match method declaration when overriding generic super
mickaelistria Jun 12, 2025
8a186e6
Refining method matching, converting resolveLevel(MessageSend)
mickaelistria Jun 12, 2025
1915ac3
Refactor DOMCompletionEngine to use completeASTNodeName(...) methods
datho7561 Jun 13, 2025
c1a2c09
Improve SwitchCase completion, add break & continue completion
datho7561 Jun 13, 2025
39384b1
Properly set bindingIsDeclaration
mickaelistria Jun 13, 2025
3aaf647
Do not take return type into account when matching methods
mickaelistria Jun 16, 2025
7b3a771
Support for matching MethodRef
mickaelistria Jun 16, 2025
ed19593
Match reference to implicit super-constructor
mickaelistria Jun 16, 2025
6dae3eb
More support for SearchMatch.localElement
mickaelistria Jun 16, 2025
b51a44d
Respect ignored completion proposals
datho7561 Jun 16, 2025
8ed498d
Match recovered types
mickaelistria Jun 16, 2025
7aa4f25
Match recovered types (2)
mickaelistria Jun 16, 2025
f56364e
Fix Javadoc tag replace range
datho7561 Jun 16, 2025
8ecf47e
Support read/write access info on variable/field match
mickaelistria Jun 17, 2025
0d52181
Fix computation of mustResolve
mickaelistria Jun 17, 2025
33ed78a
Support otherElements in variable/field type declaration match
mickaelistria Jun 17, 2025
9a17a02
[DOM Search] modify tests to not compare match level for specific sit…
robstryker Jun 17, 2025
b95ac6c
[DOM Search] Fix some NPEs
robstryker Jun 17, 2025
b0951ca
Replace range for qualified type in a Javadoc
datho7561 Jun 17, 2025
f364b70
Fix testStringNestedSingleArgument03
robstryker Jun 17, 2025
168bf25
Fix testMethodDeclarationsStringPatternMultipleParamArguments04
robstryker Jun 17, 2025
8bafa83
Fix regressions
robstryker Jun 18, 2025
67cf7d5
Expected types for yield statement
datho7561 Jun 16, 2025
0bdd42c
Improve completion of nested types in Javadoc
datho7561 Jun 18, 2025
9505134
Completion of variable before `this`
datho7561 Jun 19, 2025
6b705c7
Fix missing new line in p2.inf
mickaelistria Jun 23, 2025
37d2a78
Multi variable declarations in same switch statement
mickaelistria Jun 23, 2025
877e8b1
Fix qualifiedName for local types
mickaelistria Jun 23, 2025
1014344
setEscapedValue for CharacterLiteral
mickaelistria Jun 23, 2025
d3d8034
Return null declaring method for fields
mickaelistria Jun 23, 2025
bd8b36d
Properly set binding flag on AST
mickaelistria Jun 23, 2025
9ed93f9
Match alternative message from Javac for missing method
mickaelistria Jun 23, 2025
b9ab280
Fix potential NPE in DOMMethodLocator.resolveLevel()
mickaelistria Jun 23, 2025
74402df
Filter field/method matches according to fineGrain
mickaelistria Jun 23, 2025
e6eea2f
Disable irrelevant check failing because of serialVersionUUID
mickaelistria Jun 23, 2025
4e4d85e
Support searching primitive types
mickaelistria Jun 23, 2025
98138be
Partial support for fineGrain references
mickaelistria Jun 23, 2025
0687f21
Add missing visited types for search
mickaelistria Jun 24, 2025
c4cd977
skip type params for fineGrain patterns
mickaelistria Jun 24, 2025
db17368
Fix 6 issues in DOMMethodLocator
robstryker Jun 20, 2025
f2a6d0e
Comment out some debugging output
robstryker Jun 24, 2025
783a30d
Fix bad method signature
datho7561 Jun 24, 2025
84a18c1
Update versions in parent POM references for javac bundle
rgrunber Jun 25, 2025
68def1c
Completion for @docroot inline tag
datho7561 Jun 25, 2025
01dc9ae
Fix relevance for qualified package completion
datho7561 Jun 27, 2025
dfb6fad
Improve relevance calculation for NON_STATIC
datho7561 Jun 27, 2025
50e3193
Set raw on matches
mickaelistria Jun 30, 2025
38c5b2a
Improve detection of erasure matches
mickaelistria Jun 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .github/workflows/auto-author-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Auto Author Assign

on:
pull_request_target:
types: [ opened, reopened ]

permissions:
pull-requests: write

jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: toshimaru/[email protected]
68 changes: 68 additions & 0 deletions .github/workflows/ci-dom-javac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Continuous Integration with DOM/Javac
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-dom
cancel-in-progress: true

on:
push:
branches: [ 'dom-with-javac' ]
pull_request:
branches: [ 'dom-with-javac' ]

jobs:
build-dom-javac:
runs-on: ubuntu-latest
steps:
- name: Install xmllint
shell: bash
run: |
sudo apt update
sudo apt install -y libxml2-utils
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Set up JDKs ☕
uses: actions/setup-java@v4
with:
java-version: |
8
17
21
23
24
mvn-toolchain-id: |
JavaSE-1.8
JavaSE-17
JavaSE-21
JavaSE-23
JavaSE-24
distribution: 'temurin'
- name: Set up Maven
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.9
- name: Build with Maven 🏗️
run: |
mvn install --batch-mode -DskipTests -Pbree-libs -Dtycho.buildqualifier.format="'z'yyyyMMdd-HHmm" -Dproject.build.sourceEncoding=UTF-8 -pl org.eclipse.jdt.core.javac,org.eclipse.jdt.core.javac.feature,org.eclipse.jdt.core.tests.model,org.eclipse.jdt.core.tests.compiler
mvn verify --batch-mode -f org.eclipse.jdt.core.tests.javac --fail-at-end -Ptest-on-javase-24 -Pbree-libs -DfailIfNoTests=false -DexcludedGroups=org.junit.Ignore -DproviderHint=junit47 -Papi-check -Dproject.build.sourceEncoding=UTF-8 -Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true
- name: 'Upload Artifact'
if: success() || failure() # run this step even if previous step failed
uses: actions/upload-artifact@v4
with:
name: Test results
path: '*/target/surefire-reports/TEST-*.xml'
- name: Test Report
if: success() || failure() # run this step even if previous step failed
run: |
message="▶️ TESTS RUN: $(xmllint --xpath 'string(/testsuite/@tests)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
❌ FAILURES: $(xmllint --xpath 'string(/testsuite/@failures)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
💥 ERRORS: $(xmllint --xpath 'string(/testsuite/@errors)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
🛑 SKIPPED: $(xmllint --xpath 'string(/testsuite/@skipped)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)"
echo "$message"
echo "$message" >> $GITHUB_STEP_SUMMARY
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: '*/target/surefire-reports/TEST-*.xml'
6 changes: 4 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ concurrency:

on:
push:
branches: '**'
branches: ['**']

jobs:
event_file:
Expand All @@ -31,15 +31,17 @@ jobs:
8
17
21
23
mvn-toolchain-id: |
JavaSE-1.8
JavaSE-17
JavaSE-21
JavaSE-23
distribution: 'temurin'
- name: Set up Maven
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.8
maven-version: 3.9.9
- name: Build with Maven 🏗️
run: |
mvn clean install --batch-mode -f org.eclipse.jdt.core.compiler.batch -DlocalEcjVersion=99.99
Expand Down
53 changes: 18 additions & 35 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,51 +13,34 @@ pipeline {
jdk 'openjdk-jdk24-latest'
}
stages {
stage('Build') {
stage('javac specific tests') {
steps {
sh """#!/bin/bash -x

java -version

sh """#!/bin/bash -x
mkdir -p $WORKSPACE/tmp

unset JAVA_TOOL_OPTIONS
unset _JAVA_OPTIONS

# The max heap should be specified for tycho explicitly
# via configuration/argLine property in pom.xml
# export MAVEN_OPTS="-Xmx2G"

mvn clean install -f org.eclipse.jdt.core.compiler.batch -DlocalEcjVersion=99.99 -Dmaven.repo.local=$WORKSPACE/.m2/repository -DcompilerBaselineMode=disable -DcompilerBaselineReplace=none

mvn -U clean verify --batch-mode --fail-at-end -Dmaven.repo.local=$WORKSPACE/.m2/repository \
-Ptest-on-javase-24 -Pbree-libs -Papi-check -Pjavadoc -Pp2-repo \
-Dmaven.test.failure.ignore=true \
-Dcompare-version-with-baselines.skip=false \
# force qualifier to start with `z` so we identify it more easily and it always seem more recent than upstrea
mvn install -DskipTests -Djava.io.tmpdir=$WORKSPACE/tmp -Dmaven.repo.local=$WORKSPACE/.m2/repository \
-Pbree-libs \
-Dtycho.buildqualifier.format="'z'yyyyMMdd-HHmm" \
-Pp2-repo \
-Djava.io.tmpdir=$WORKSPACE/tmp -Dproject.build.sourceEncoding=UTF-8 \
-Dtycho.surefire.argLine="--add-modules ALL-SYSTEM -Dcompliance=1.8,11,17,21,23,24 -Djdt.performance.asserts=disabled" \
-DDetectVMInstallationsJob.disabled=true \
-Dtycho.apitools.debug \
-Dtycho.debug.artifactcomparator \
-e \
-Dcbi-ecj-version=99.99
"""
-pl org.eclipse.jdt.core.javac,org.eclipse.jdt.core.javac.feature,org.eclipse.jdt.core.tests.model,org.eclipse.jdt.core.tests.compiler,repository

mvn verify --batch-mode -f org.eclipse.jdt.core.tests.javac -Dmaven.repo.local=$WORKSPACE/.m2/repository \
--fail-at-end -Ptest-on-javase-24 -Pbree-libs \
-DfailIfNoTests=false -DexcludedGroups=org.junit.Ignore -DproviderHint=junit47 \
-Papi-check -Djava.io.tmpdir=$WORKSPACE/tmp -Dproject.build.sourceEncoding=UTF-8 \
-Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true
"""
}
post {
always {
archiveArtifacts artifacts: '*.log,*/target/work/data/.metadata/*.log,*/tests/target/work/data/.metadata/*.log,apiAnalyzer-workspace/.metadata/*.log,repository/target/repository/**,**/target/artifactcomparison/**', allowEmptyArchive: true
// The following lines use the newest build on master that did not fail a reference
// To not fail master build on failed test maven needs to be started with "-Dmaven.test.failure.ignore=true" it will then only marked unstable.
// To not fail the build also "unstable: true" is used to only mark the build unstable instead of failing when qualityGates are missed
// To accept unstable builds (test errors or new warnings introduced by third party changes) as reference using "ignoreQualityGate:true"
// To only show warnings related to the PR on a PR using "publishAllIssues:false"
discoverGitReferenceBuild referenceJob: 'eclipse.jdt.core-github/master'
junit allowEmptyResults: true, testResults: '**/target/surefire-reports/*.xml'
recordIssues publishAllIssues: false, ignoreQualityGate: true, enabledForFailure: true, tools: [
eclipse(name: 'Compiler', pattern: '**/target/compilelogs/*.xml'),
issues(name: 'API Tools', id: 'apitools', pattern: '**/target/apianalysis/*.xml'),
], qualityGates: [[threshold: 1, type: 'DELTA', unstable: true]]
recordIssues tools: [javaDoc(), mavenConsole()]
junit 'org.eclipse.jdt.core.tests.javac/target/surefire-reports/*.xml'
discoverGitReferenceBuild referenceJob: 'jdt-core-incubator/dom-with-javac'
//recordIssues ignoreQualityGate:true, tool: junitParser(pattern: 'org.eclipse.jdt.core.tests.javac/target/surefire-reports/*.xml'), qualityGates: [[threshold: 1, type: 'DELTA', unstable: true]]
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@ public interface ClassFileConstants {
int MAJOR_VERSION_24 = 68;

int MAJOR_VERSION_0 = 44;
// Latest version supported by ECJ (not necessarily latest known Java version)
int MAJOR_LATEST_VERSION = MAJOR_VERSION_24;

int MINOR_VERSION_0 = 0;
Expand Down Expand Up @@ -179,6 +180,10 @@ public interface ClassFileConstants {
long JDK23 = ((long)ClassFileConstants.MAJOR_VERSION_23 << 16) + ClassFileConstants.MINOR_VERSION_0;
long JDK24 = ((long)ClassFileConstants.MAJOR_VERSION_24 << 16) + ClassFileConstants.MINOR_VERSION_0;

/**
*
* @return The latest JDK level supported by ECJ (can be different from the latest known JDK level)
*/
public static long getLatestJDKLevel() {
return ((long)ClassFileConstants.MAJOR_LATEST_VERSION << 16) + ClassFileConstants.MINOR_VERSION_0;
}
Expand Down
11 changes: 11 additions & 0 deletions org.eclipse.jdt.core.javac.feature/feature.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="org.eclipse.jdt.core.javac.feature"
label="Javac backend for JDT (feature)"
version="1.0.0.qualifier">

<plugin
id="org.eclipse.jdt.core.javac"
version="0.0.0"/>

</feature>
12 changes: 12 additions & 0 deletions org.eclipse.jdt.core.javac/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-24">
<attributes>
<attribute name="module" value="true"/>
<attribute name="add-exports" value="jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED:jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.taglets.snippet=ALL-UNNAMED:jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.taglets=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.platform=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.resources=ALL-UNNAMED:jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED:java.base/sun.nio.ch=ALL-UNNAMED"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
28 changes: 28 additions & 0 deletions org.eclipse.jdt.core.javac/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.eclipse.jdt.core.javac</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
Loading