Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1323 commits
Select commit Hold shift + click to select a range
babbcff
Fixes testMethodDeclarationsElementPatternMultipleParamArguments02
Apr 17, 2025
8c7961a
Fix regressions
Apr 17, 2025
ecce718
Fixes testMethodReferencesStringPatternSingleParamArguments09 and others
Apr 18, 2025
4a17159
Fix ASTConverterTestAST8_2.test0602
snjeza Apr 17, 2025
9c41fcd
Don't suggest keywords in an array initializer
datho7561 Apr 22, 2025
e9fa0e5
Update GitHub action
mickaelistria Apr 26, 2025
9906834
Add workaround repo for repo.eclipse.org outage
mickaelistria Apr 28, 2025
5e6bfdf
Small fixes for record bindings
mickaelistria Apr 25, 2025
4c23441
Map more problems
mickaelistria Apr 25, 2025
317ad57
Try archiving JUnit reports in GitHub actions
mickaelistria Apr 29, 2025
ced296b
More GH JUnit reporting
mickaelistria Apr 29, 2025
90297c2
Cache and reuse symbols
mickaelistria Apr 4, 2025
fb89934
Fixes symbol cache
mickaelistria Apr 4, 2025
da50b2f
More fixes to CachingClassSymbolClassReader
mickaelistria May 5, 2025
bb158bb
Only complete `default` inside annotations
mickaelistria May 6, 2025
24782a1
Replace name instead of inserting when possible
mickaelistria May 6, 2025
6cef74f
Make ASTConverterMarkdownText more tolerant
mickaelistria May 7, 2025
3949b3b
Fix completion for `blah.| unrelatedMethod()`
mickaelistria May 9, 2025
6d6b5ea
Search skips visiting EnumConstantDeclaration name
mickaelistria May 12, 2025
4a2043a
Do not suggest keywords in empty block
datho7561 May 12, 2025
2333352
Do not filter out types from file when completing field type
datho7561 May 12, 2025
a13a428
[DOMSearch] - Fixes testMethodReferencesStringPatternSingleParamArgum…
Apr 22, 2025
1fd9c24
[DOMSearch] Fixes testMethodReferencesStringPatternSingleParamArgumen…
Apr 28, 2025
f090ed6
Fixes testMethodReferencesElementPatternSingleTypeParameter04 and one…
Apr 29, 2025
9ce7d02
[JavacConverter] Imports are having static set twice, which breaks them
Apr 30, 2025
fb77c44
NPE Check
Apr 30, 2025
cc21e94
[DOMSearch] - Fix testMethodDeclarationsElementPatternMultipleParamAr…
Apr 30, 2025
c0665f0
Cleanup
Apr 30, 2025
09a7451
NPE
May 1, 2025
6a20411
[DOM Search] More method searches
May 5, 2025
7f59af2
[DOM Search] Fixes 6 in JavaSearchGenericMethodExactTests
May 9, 2025
03d6e27
Fix / Swallow 20 IllegalArgumentExceptions when comparing unresolved …
May 12, 2025
0b0b1cf
[DOM Search] Bandaid Fix for problem with wildcard key being complete…
May 12, 2025
16577c3
[DOM Search] Fix 12 - fixes isQuestionMark and ensures wildcard keys …
May 12, 2025
e7c7206
Fix some regressions
May 13, 2025
311527e
NPE
May 13, 2025
cd211a5
Fix test0264 in ASTConverter15JLS4Test
May 13, 2025
8f807cb
Fix JavacAnnotationBinding.getAllMemberValuePairs()
mickaelistria May 14, 2025
6e7ff2c
Random Fixes in AST Converter tests
May 13, 2025
2344af4
[DOM Search] Fixes testParameterizedTypeMultipleArguments01 in equiva…
May 14, 2025
73f8b37
[DOM Search] Fixes testParameterizedType_Bug83713
May 14, 2025
16b5d6c
Cleanup an unnecessary hard-coded signature
May 14, 2025
8c072ed
Fixes testStringAnyStrings06 - name match with wildcard
May 14, 2025
9991438
Improve JavacMethodBinding.isRaw()
mickaelistria May 15, 2025
4cd43e5
[Search] Fix qualifiedSourceName
mickaelistria May 16, 2025
0c994ce
Revert "[Search] Fix qualifiedSourceName"
mickaelistria May 16, 2025
2fa48ae
Fix an NPE in testMethodReferencesElementPatternMultipleTypeParameter03
May 16, 2025
651660d
[Search] Compare simpleName when no qualifier is used
mickaelistria May 16, 2025
0e0a24c
Allow parse() to return result even if some units are missing
mickaelistria May 19, 2025
4dcaea0
Implement getDOMASTMethodBinding
mickaelistria May 20, 2025
9c546e7
Support for ConstructorInvocation in search
mickaelistria May 20, 2025
d4aa225
Fix type comparison in search
mickaelistria May 20, 2025
1aea873
Fix for field references in field initializers
mickaelistria May 20, 2025
7c5625b
Fix test testMethodReferencesElementPatternMultipleTypeParameter02 - …
May 20, 2025
2f7ea56
Fix an NPE in DOMMethodLocator
May 20, 2025
235656f
[Search] Support OrPattern for DOM
mickaelistria May 20, 2025
a9175be
[Search] Do not visit AnnotationTypeDeclaration name
mickaelistria May 21, 2025
ae43365
Fix an IllegalArgumentException when calling member.getType()
May 20, 2025
3ff2df1
[Search] Honor `searchFor`
mickaelistria May 21, 2025
5703bb2
Mostly fix testSearchFieldInBinaryNoResolution - searches for field p…
May 21, 2025
9294108
fix search for binary types
mickaelistria May 22, 2025
ed78927
Revert "Mostly fix testSearchFieldInBinaryNoResolution - searches for…
mickaelistria May 22, 2025
b4ff697
Fix various NPEs
May 22, 2025
c88db60
[Search] Support reference to annotation member
mickaelistria May 22, 2025
9892025
Better support for searching MemberValuePair
mickaelistria May 22, 2025
364031b
[Search] Improve comparison of method return type
mickaelistria May 26, 2025
b083b9b
Improve getting level for arrays
mickaelistria May 26, 2025
255419a
[Search] Improve super type reference
mickaelistria May 26, 2025
5c2824f
[Search] Fix error when matching package declaration
mickaelistria May 26, 2025
544f143
Fix resolving JavaElement for binary types/methods
mickaelistria May 26, 2025
c6be4fb
Match SingleMemberAnnotation value()
mickaelistria May 26, 2025
a55dc71
[Search] Improve filters when matching super-type
mickaelistria May 27, 2025
3c6679d
[Search] add support for StrigLiteral in SingleMemberAnnotation
mickaelistria May 27, 2025
9267ad3
[Search] Match type parameters from type declaration
mickaelistria May 27, 2025
662e852
Fixes testParameterizedArrayTypeSingleArgument04
May 16, 2025
e2772e8
[Search] prefer returning actual member method (instead of similar one)
mickaelistria May 27, 2025
73f71cc
[Search] Add localElement to TypeParam ref match
mickaelistria May 27, 2025
19f5585
Fix JavacTypeBinding.getErasure() for arrays
mickaelistria May 28, 2025
9c873f7
Fixes testStringNestedSingleArgument04
May 16, 2025
65d1cb9
Only add unresolved matches when there's some part that matches
May 19, 2025
c16b100
Fix some constructor completion tests
datho7561 May 21, 2025
7ff3d93
Fix JavacMethodBinding for varargs
mickaelistria Jun 2, 2025
d93f324
Fix testTypeNestedSingleArgument03 and one or two others while preven…
May 28, 2025
efd1920
Fix testBug549413_017 - use correct working copy resolver, and more
Jun 3, 2025
cf5c45e
Keep track of the .jar when processing binary type
mickaelistria Jun 2, 2025
54800f5
Find SUPER_INVOCATION and flag them as expected
mickaelistria Jun 4, 2025
9e5a442
Fall back to search to find `IType` for a `JavacTypeBinding`
datho7561 Apr 24, 2025
df565ee
Using javac ASTParser outside of OSGi environment
snjeza Jan 30, 2025
94b4981
Match MethodReference (by name)
mickaelistria May 12, 2025
fef99ce
Match methodReferences
mickaelistria May 12, 2025
92b5756
Match inside binary files
mickaelistria Jun 5, 2025
b008296
Implement completion for modules in Javadoc
datho7561 Jun 5, 2025
5fec5a7
Address bug in javadoc type completion
datho7561 Jun 5, 2025
c63e521
Fix searching java element in initializer
mickaelistria Jun 6, 2025
73cd507
Comment out 3 tests that keep killing my env
May 21, 2025
34b25c8
Fixes testMethodReferencesElementPatternMultipleParamArguments01 - do…
Jun 6, 2025
edb1765
Only suggest types in the `@throws` Javadoc
datho7561 Jun 5, 2025
f3cecfd
Javadoc tag completion for unparented comments
datho7561 Jun 6, 2025
682f7c2
Improve completion for method references in Javadoc
datho7561 Jun 6, 2025
6cff154
Fix NPEs in package Javadoc completion
datho7561 Jun 6, 2025
a28975c
Fix context for Javadoc tag elements
datho7561 Jun 10, 2025
f50e7d3
Fix a completion case for `@link`
datho7561 Jun 10, 2025
cc4b585
Complete types in javadoc text
datho7561 Jun 11, 2025
a436014
Some more unparented comment completion fixes
datho7561 Jun 11, 2025
ef4c57f
Some more tag completion fixes
datho7561 Jun 11, 2025
863265c
Refactor "find parent type binding"
datho7561 Jun 12, 2025
0e6016b
Move true/false binding finder into utils class
datho7561 Jun 12, 2025
4c56b13
Refining match method declaration when overriding generic super
mickaelistria Jun 12, 2025
253e9c2
Refining method matching, converting resolveLevel(MessageSend)
mickaelistria Jun 12, 2025
e067ebe
Refactor DOMCompletionEngine to use completeASTNodeName(...) methods
datho7561 Jun 13, 2025
cc19fbd
Improve SwitchCase completion, add break & continue completion
datho7561 Jun 13, 2025
9e16dea
Properly set bindingIsDeclaration
mickaelistria Jun 13, 2025
5dcdd9f
Do not take return type into account when matching methods
mickaelistria Jun 16, 2025
66656c9
Support for matching MethodRef
mickaelistria Jun 16, 2025
00d22a8
Match reference to implicit super-constructor
mickaelistria Jun 16, 2025
8a12a0e
More support for SearchMatch.localElement
mickaelistria Jun 16, 2025
1dc31bd
Respect ignored completion proposals
datho7561 Jun 16, 2025
8c58720
Match recovered types
mickaelistria Jun 16, 2025
9f821b2
Match recovered types (2)
mickaelistria Jun 16, 2025
d4730e9
Fix Javadoc tag replace range
datho7561 Jun 16, 2025
d9eec51
Support read/write access info on variable/field match
mickaelistria Jun 17, 2025
071912c
Fix computation of mustResolve
mickaelistria Jun 17, 2025
9bb3db9
Support otherElements in variable/field type declaration match
mickaelistria Jun 17, 2025
4f5dcd1
[DOM Search] modify tests to not compare match level for specific sit…
robstryker Jun 17, 2025
08107da
[DOM Search] Fix some NPEs
robstryker Jun 17, 2025
dae498c
Replace range for qualified type in a Javadoc
datho7561 Jun 17, 2025
e09d894
Fix testStringNestedSingleArgument03
robstryker Jun 17, 2025
cc49c19
Fix testMethodDeclarationsStringPatternMultipleParamArguments04
robstryker Jun 17, 2025
70683e6
Fix regressions
robstryker Jun 18, 2025
1e17a54
Expected types for yield statement
datho7561 Jun 16, 2025
18b9fe2
Improve completion of nested types in Javadoc
datho7561 Jun 18, 2025
ffa0c2d
Completion of variable before `this`
datho7561 Jun 19, 2025
a4e6861
Fix missing new line in p2.inf
mickaelistria Jun 23, 2025
9de4c4c
Multi variable declarations in same switch statement
mickaelistria Jun 23, 2025
8feab35
Fix qualifiedName for local types
mickaelistria Jun 23, 2025
0a90f4c
setEscapedValue for CharacterLiteral
mickaelistria Jun 23, 2025
bca6fc1
Return null declaring method for fields
mickaelistria Jun 23, 2025
5cbe22f
Properly set binding flag on AST
mickaelistria Jun 23, 2025
06fc8c8
Match alternative message from Javac for missing method
mickaelistria Jun 23, 2025
8bdfada
Fix potential NPE in DOMMethodLocator.resolveLevel()
mickaelistria Jun 23, 2025
d3ccf9c
Filter field/method matches according to fineGrain
mickaelistria Jun 23, 2025
8c71b4b
Disable irrelevant check failing because of serialVersionUUID
mickaelistria Jun 23, 2025
eeab427
Support searching primitive types
mickaelistria Jun 23, 2025
d17a5a3
Partial support for fineGrain references
mickaelistria Jun 23, 2025
7c7767c
Add missing visited types for search
mickaelistria Jun 24, 2025
c3707ff
skip type params for fineGrain patterns
mickaelistria Jun 24, 2025
8fc0775
Fix 6 issues in DOMMethodLocator
robstryker Jun 20, 2025
27dda39
Comment out some debugging output
robstryker Jun 24, 2025
fe98c96
Fix bad method signature
datho7561 Jun 24, 2025
dffc16d
Update versions in parent POM references for javac bundle
rgrunber Jun 25, 2025
801cb11
Completion for @docroot inline tag
datho7561 Jun 25, 2025
a8c592b
Fix relevance for qualified package completion
datho7561 Jun 27, 2025
9d3c621
Improve relevance calculation for NON_STATIC
datho7561 Jun 27, 2025
99a325b
Set raw on matches
mickaelistria Jun 30, 2025
ccffe5a
Fix testMethodReferencesElementPatternMultipleParamArguments02 and ot…
robstryker Jun 26, 2025
de9ad8c
Treat raw method calls as ERASURE_MATCH w/ pattern has type params
mickaelistria Jul 2, 2025
4ef7221
Filter reported matches
mickaelistria Jul 3, 2025
d28bd18
Matching raw methods as EQUIVALENT
mickaelistria Jul 3, 2025
a2520f2
[DOMSearch] Fix some NPE's where we have null elements in the array o…
robstryker Jul 3, 2025
0ec158f
Port some updateMatch methods
mickaelistria Jul 4, 2025
e68fbd3
Improve updateMatch
mickaelistria Jul 4, 2025
0627676
Fix resolveConstructorBinding
mickaelistria Jul 4, 2025
a5efee0
Fixes to `super` completion
datho7561 Jul 4, 2025
63a5096
Better findType in DOMPatternLocator
mickaelistria Jul 5, 2025
ce713e8
Convert methodRef with annotated types
mickaelistria Jul 5, 2025
fce385d
Search visit TypeMethodReference
mickaelistria Jul 5, 2025
37c48c6
search visit SimpleType.annotations()
mickaelistria Jul 5, 2025
d6117c9
Fix possible issue with erroneous constructorType
mickaelistria Jul 6, 2025
21ed649
Fix case of no typeArgs
mickaelistria Jul 6, 2025
f511d5c
Don't match filter enumConstants for generics
mickaelistria Jul 6, 2025
fef3374
Fix match variables from children lists
mickaelistria Jul 6, 2025
aaf2809
match resolve modules
mickaelistria Jul 6, 2025
29eef23
Fix arrayType dimension annotation conversion
mickaelistria Jul 7, 2025
6acb108
Match methodReference even without fineGrain
mickaelistria Jul 7, 2025
a1ed5b0
Fix package declarations in test
mickaelistria Jul 7, 2025
5b198d1
Improve matching/reporting method references
mickaelistria Jul 7, 2025
3c4fa20
Find binding when matching LambdaExpression
mickaelistria Jul 7, 2025
1ba9cf5
Use Signature in LambdaMethod model element
mickaelistria Jul 7, 2025
342e90c
Improve matching LambdaExpression
mickaelistria Jul 7, 2025
b1817a6
Fix conversion of dimension
mickaelistria Jul 8, 2025
c31ee04
More matches
mickaelistria Jul 8, 2025
8173a14
Fix getJavaElement for lambda parameter binding
mickaelistria Jul 8, 2025
8c61fc0
Fix tests: `pacakge` -> `package`
mickaelistria Jul 10, 2025
881bdfb
Properly resolve Intersection type in search
mickaelistria Jul 10, 2025
7ed5733
Serch match CreationReference
mickaelistria Jul 10, 2025
3d2e1c9
Nested lambda bindings
mickaelistria Jul 10, 2025
567b413
Fix lambda binding signature
mickaelistria Jul 10, 2025
df1004b
Handle suggesting overlapping methods for parent classes
datho7561 Jul 9, 2025
79e4ec7
Match/resolve types declared in lambda
mickaelistria Jul 10, 2025
e6821d1
AndLocator
mickaelistria Jul 10, 2025
b78205c
Improve fineGrain match for methodReferences
mickaelistria Jul 11, 2025
0bd14d9
Better match intersection/unions
mickaelistria Jul 11, 2025
bb81510
Search recovering statements
mickaelistria Jul 11, 2025
84aeb99
Fix matching references to nested types
mickaelistria Jul 11, 2025
2a2e746
Match some modules
mickaelistria Jul 13, 2025
f499ec2
Properly build ModuleReferenceMatch
mickaelistria Jul 14, 2025
6fc773f
Improve import completion based on some failing tests
datho7561 Jul 11, 2025
e2f5684
Improve catch clause type completion
datho7561 Jul 16, 2025
52284f5
Fix qualified type completion in catch clause
datho7561 Jul 17, 2025
958d26a
Do not suggest interface,enum,annotation as caught type
datho7561 Jul 17, 2025
0aa4aa5
Update README.md
mickaelistria Jul 21, 2025
77aff64
Imprive Zip cache so closed FS are not returned
mickaelistria Jul 21, 2025
8169833
Better search unresolved module
mickaelistria Jul 21, 2025
ed85228
Improve setting modulePath
mickaelistria Jul 21, 2025
11d0c15
Improve "uninteresting" relevance for catch clause
datho7561 Jul 21, 2025
1c3558e
Fix JavacModuleBinding.getJavaElement()
mickaelistria Jul 22, 2025
c90a11f
Return packageBinding even for empty packages
mickaelistria Jul 22, 2025
b5d70a4
Simplify/fix package reference locator
mickaelistria Jul 22, 2025
c334d17
Exclude package declaration and treat no binding as package
mickaelistria Jul 22, 2025
dfb8ee1
Return type when matching import declaration in binary
mickaelistria Jul 22, 2025
437c407
Fix module name match
mickaelistria Jul 22, 2025
fab78c8
Fix testStringAnyStrings01 and 3 others
robstryker Jul 22, 2025
6fda1d0
Missed a line deletion
robstryker Jul 22, 2025
6660cb1
Better set module-source-path
mickaelistria Jul 23, 2025
7478382
Consider module filtering when matching type reference
mickaelistria Jul 23, 2025
acccaf1
Match module without resolving graph if possible
mickaelistria Jul 24, 2025
eb7237f
Ignore modules when reading module-info from jar
mickaelistria Jul 24, 2025
375c8c0
Do not match method name as field
mickaelistria Jul 24, 2025
b528432
Do not put corrupt jar in class/module path
mickaelistria Jul 24, 2025
cd5703c
Better match level for method declarations with generics
mickaelistria Jul 24, 2025
c327e20
Fix completion and relevance for super field
datho7561 Jul 24, 2025
d107775
Fix `CompletionTests.testBug385858c` (bad context expected type signa…
datho7561 Jul 24, 2025
0b98db7
Fix fine grain matching permitted types reference
mickaelistria Jul 24, 2025
9cd4136
Match import module
mickaelistria Jul 24, 2025
16b7b13
Assorted completion bug fixes
datho7561 Jul 24, 2025
db01825
Fix read/write match check for fields
mickaelistria Jul 25, 2025
de8e231
Improve naming of java files from jar
mickaelistria Jul 29, 2025
cae5435
Suggest package name for all inner classes outside current one
datho7561 Jul 29, 2025
e853bdf
Fixes JavaSearchMultipleProjectsTests.testPackageReference1
robstryker Jul 30, 2025
b663cef
Improve matching/filtering anonymous types
mickaelistria Jul 30, 2025
c15e107
Display type arguments of method parameters in method completion
datho7561 Jul 30, 2025
1e09f36
Do not match methodInvocations without bindings
mickaelistria Jul 30, 2025
d81441d
Protected members from class in same package should be suggested
datho7561 Jul 30, 2025
1f9e8c6
Fix testTypeReference35 and others
robstryker Jul 23, 2025
478645e
Refine setting local element
mickaelistria Jul 30, 2025
99440ba
Avoid exception converting AST with empty variable fragments
mickaelistria Jul 31, 2025
fbd199b
Fix matched IJavaElement for record component
mickaelistria Jul 31, 2025
a9e3c07
Fix for `CompletionTests.testBug574982`
datho7561 Jul 25, 2025
19c1019
Better detect record components bindings
mickaelistria Jul 31, 2025
e5c0c92
Don't convert module when using Java 8
datho7561 Jul 31, 2025
dbc4de7
Better match reference to record components
mickaelistria Aug 1, 2025
3882bcf
Fix completion of variables from an instanceof expression on same line
datho7561 Jul 31, 2025
49995b2
Fix package in tests
mickaelistria Aug 4, 2025
21c9eeb
Do not match package binding as type reference
mickaelistria Aug 4, 2025
c0d0444
Do not set module source path is module-info.java doesn't exist
mickaelistria Aug 4, 2025
93087e6
Fix ranges for module-qualified member reference
mickaelistria Aug 4, 2025
399d270
Don't match RecordDeclaration name
mickaelistria Aug 4, 2025
439aa28
Ignore completion tests for the moment
mickaelistria Aug 4, 2025
a509221
Process possibleMatch.getSimilarMatch() for binary
mickaelistria Aug 4, 2025
20c5769
Restore comparing search level
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 @@ -144,6 +144,7 @@ public interface ClassFileConstants {
int MAJOR_VERSION_25 = 69;

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 @@ -181,6 +182,10 @@ public interface ClassFileConstants {
long JDK24 = ((long)ClassFileConstants.MAJOR_VERSION_24 << 16) + ClassFileConstants.MINOR_VERSION_0;
long JDK25 = ((long)ClassFileConstants.MAJOR_VERSION_25 << 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