Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove some colossal strings in the compiler tests #1137

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
868 commits
Select commit Hold shift + click to select a range
608b72a
Adapt to Java 23 changes
mickaelistria Sep 18, 2024
bd42d72
Try should-stop.ifError Javac options when getting DOM
mickaelistria Sep 10, 2024
214e88f
Fix version in ClassFileConstants
mickaelistria Sep 18, 2024
418c951
Fix underlying issue in test0009 - new array has incorrect diment sio…
Sep 17, 2024
85f5d84
Add some annotations to tests
Sep 18, 2024
1c0dd17
Fix slimmed down dom trees via focalPoint - test0486 and others
Sep 18, 2024
8df5185
More accurate range
Sep 18, 2024
e636de2
Support conversion of Markdown Javadoc
mickaelistria Sep 19, 2024
5a095f1
Improve diagnostic location for "virtual" nodes
mickaelistria Sep 20, 2024
49cb24b
Fix some source ranges because of Lombok
mickaelistria Sep 23, 2024
74f8a33
Avoid NPE with treePath
mickaelistria Sep 20, 2024
14781f0
Fix 0-length or end-of-line diagnostic position
mickaelistria Sep 24, 2024
d6da476
Do not crash on non-convertible type
mickaelistria Sep 24, 2024
4715225
Map unknown compiler error by default
mickaelistria Sep 24, 2024
b27b971
Revert "Run more tests with Java 23"
mickaelistria Sep 24, 2024
9adc92c
Some improvements to Markdown rendering
mickaelistria Sep 25, 2024
e9fb24b
Ensure linkplain tag is handled properly
Sep 24, 2024
4e85f18
Fix reference tags with a module reference included
Sep 24, 2024
3ece032
Issue when initializer is null or cannot be converted
Sep 25, 2024
d8434fd
Resolve bindings for annotations on type definitions
Sep 25, 2024
a387470
Do not show annotations that had errors resolving unless recover-bind…
Sep 25, 2024
dd838b6
Fine-grain details about converting a Name node when there is an erro…
Sep 25, 2024
99b00df
Small improvement to accuracy of method binding's getKey method
Sep 25, 2024
a63e143
Fix bug in problem reporting where end position was before start posi…
Sep 25, 2024
9529bb5
Possibly fix https://github.com/eclipse-jdtls/eclipse-jdt-core-incuba…
Sep 25, 2024
b949995
Add helpful comments in code, and add test annotations
Sep 25, 2024
ea95f6b
Ignoring several snippet tests
Sep 25, 2024
c16ddc3
Reverting removal of suspected typo, was not typo, was part of test
Jan 15, 2025
08052db
Cache JCCompilationUnit from compilation job for reuse in problem con…
testforstephen Sep 26, 2024
6b31d4a
Fix some javadoc issue mapping
mickaelistria Sep 25, 2024
7c5e834
Set AccDeprected flag at DOM level
mickaelistria Sep 27, 2024
73ce13a
Fix `ClassCastException` when working with module projects
datho7561 Aug 20, 2024
4c1a504
Completion to add override for inherited method
datho7561 Sep 27, 2024
5043bce
Improvements to variable and method completion in method bodies
datho7561 Sep 30, 2024
0c60688
Handle incomplete qualified names
datho7561 Sep 30, 2024
70435f2
Completion on `super.`
datho7561 Oct 2, 2024
431c1f2
Map a problem id related to `super()`
datho7561 Oct 2, 2024
7aa3ca7
Method argument completion
datho7561 Oct 2, 2024
1f3e315
Improve annotation completion
datho7561 Oct 4, 2024
b27644f
Set debug info parameters (-g) to javac compiler
testforstephen Oct 8, 2024
6146a4c
Enable completion tests
datho7561 Oct 4, 2024
1740357
Fix some completion relevances
datho7561 Oct 8, 2024
d3ed722
Completion for keywords that can be inserted where statements can
datho7561 Oct 9, 2024
e2b5282
Add cancellation checks to DOMCompletionEngine
datho7561 Oct 9, 2024
22cbe26
Compile the generated sources into the expected target directory (#879)
testforstephen Oct 10, 2024
e55a42f
ASTConverter15JLS4Test.test0155 through test0160 - boxing and unboxing
Sep 30, 2024
712e975
Add some problem mapping
Sep 30, 2024
f4fcdf8
More test annotations
Sep 30, 2024
f74ddb9
index out of bounds exception
Sep 30, 2024
51d7931
test0050/X.java - Cleaner handling of variable arity signatures
Sep 30, 2024
79e459f
Ensure parent packages are added to bindings
Sep 30, 2024
064634b
Cleanup
Sep 30, 2024
804c848
Begin reporting on completion progress monitor
datho7561 Oct 11, 2024
b276cb6
Mark the completion task as done using the progress monitor
datho7561 Oct 11, 2024
51a8ace
Share/deduplicate jar contents
mickaelistria Oct 10, 2024
5985ed6
Fix test0080 - generics vs raw vs parameterized
Oct 11, 2024
85db9ee
Fix test0164 - getDeclaringMethod() should return the declaration bin…
Oct 11, 2024
c43631f
Use one default completion strategy
datho7561 Oct 10, 2024
d007442
Prevent error when renaming variable
datho7561 Oct 16, 2024
037c50b
Complete method return type, modifiers and thrown exceptions
datho7561 Oct 15, 2024
e3f8944
Make MatchLocator capable of working with DOM
mickaelistria Sep 30, 2024
be73170
JavacUtils.classpathEntriesToFiles doesn't configure dependent projects
snjeza Oct 21, 2024
1da02ee
Improve field completion (`name.|`)
datho7561 Oct 18, 2024
8d9962b
Fix some NPEs in completion
datho7561 Oct 22, 2024
854e6e5
Avoid NumberFormatException when trying to get latest JRE.
mickaelistria Oct 23, 2024
3e8c5ab
Really ignore compiler.warn.dangling.doc.comment
akurtakov Oct 24, 2024
06c5395
Some fixes to keyword completion
datho7561 Oct 23, 2024
ad79117
Prevent exception with multiline Javadoc method ref
datho7561 Oct 24, 2024
ea16f9d
Improve completion in extends/implements
datho7561 Oct 24, 2024
955be87
Fixes to relevance and specific completion content
datho7561 Oct 25, 2024
56517cb
Map "compiler.warn.override.unchecked.ret"
akurtakov Oct 29, 2024
3f48929
Improve JavacBindingResolver
snjeza Oct 28, 2024
276ae65
Ignore 2 warnings without positions
akurtakov Oct 29, 2024
3413c6b
Improve ClassInstanceCreation completion
datho7561 Oct 16, 2024
8c83d4c
Fix StringIndexOutOfBoundsException in Javadoc conversion
akurtakov Oct 31, 2024
4fa8f29
Remove false positive 'unused import' for import used in Javadoc
datho7561 Oct 30, 2024
0fad7ee
Field access and extends/implements completion improvements
datho7561 Oct 31, 2024
4c0d6a9
Fix wrong unused import for throws javadoc
akurtakov Nov 4, 2024
af73e68
More fixes for field access
datho7561 Nov 1, 2024
fd60777
Better support for ASTParser.setFocalPoint()
mickaelistria Nov 4, 2024
4e88051
Do not generate false positive unused parameter warning
akurtakov Nov 5, 2024
01e6ce2
Fix some regressions caused by field access fix
datho7561 Nov 5, 2024
4e11b01
Share the FileManager used when -release is set
mickaelistria Nov 5, 2024
5f3b6a2
Manage prefix for extends and implements completion
datho7561 Nov 6, 2024
513d861
Improve completion for annotation members
datho7561 Nov 7, 2024
89196f5
No completion in strings, text blocks, comments, or Javadoc
datho7561 Nov 8, 2024
5f75157
Update doc
mickaelistria Nov 12, 2024
95b3f79
Restore completion strategy switch
mickaelistria Nov 12, 2024
974aa6a
Handle resolving bindings for generic constructors
datho7561 Nov 13, 2024
59395a0
Fix some errors that occur when importing o.e.j.c incubator
datho7561 Oct 30, 2024
7be8819
[WIP] double colon completion
datho7561 Nov 8, 2024
2a81214
Improve completion for binary infix operator
datho7561 Nov 8, 2024
2d081d0
Ignoring Javadoc of depedencies
mickaelistria Nov 15, 2024
38282fc
Completion for Javadoc tags
datho7561 Nov 14, 2024
48c1200
Prevent from closing the Platform FileManager
mickaelistria Nov 17, 2024
35c7ebc
Reduce processing using -implicit:none
mickaelistria Nov 18, 2024
cecd30a
Add output folders to classpath
mickaelistria Nov 18, 2024
25f426a
Skip linting without binding nor FORCE_PROBLEM_DETECTION
mickaelistria Nov 18, 2024
f9fcad7
Fix completion when typing out an import
datho7561 Nov 18, 2024
6cedf1a
Ignore Javadoc for compiler
mickaelistria Nov 19, 2024
3a54711
Do not lint when focusing on 1 particular position
mickaelistria Nov 19, 2024
1c2e0a6
Use partial DOM for completion, and for codeSelect on bigger files
mickaelistria Nov 19, 2024
9141c2d
Fix issue setting position of markdown comments
mickaelistria Nov 20, 2024
74f0eeb
Fix unconfigure in p2.inf
mickaelistria Nov 21, 2024
a9d9539
Problem range for `IProblem.AbstractServiceImplementation`
datho7561 Aug 21, 2024
c5ca481
Fix replace range for anonymous class instance creation
datho7561 Nov 21, 2024
d11276f
Handle adding semicolon properly for import completion
datho7561 Nov 21, 2024
3fd552a
Completion on unimported class
datho7561 Nov 21, 2024
1c0a5eb
Fix issue populating multiple output class folders
mickaelistria Nov 22, 2024
7aba9e3
Fix instruction.unconfigure
mickaelistria Nov 22, 2024
ed3e307
Improve `throws` completion
datho7561 Nov 21, 2024
b6ea0bf
Fix NPE when converting constructor without body
datho7561 Nov 21, 2024
4206a40
If outside the double quotes of a string literal, use the parent as t…
datho7561 Nov 22, 2024
b035bbb
Some support for "proceedOnError"-like with javac
mickaelistria Nov 8, 2024
1853e63
Improve recovery on undefined method reference
mickaelistria Nov 25, 2024
60a0232
Avoid NPE when using completion for import QuickFix
datho7561 Nov 22, 2024
6a458e7
Fix some CompletionContextTests
mickaelistria Nov 25, 2024
582e48d
Support unknown expr in instanceof
mickaelistria Nov 26, 2024
cda03cb
Fix error popups when class extends itself
datho7561 Nov 25, 2024
033bf46
Make some match locator work with DOM
Nov 27, 2024
414bd28
Fix some conversion/bindings
Nov 27, 2024
ef57de2
Keep string folding for build (not for CompilationUnitResolver)
mickaelistria Nov 28, 2024
6a9fe98
Suggest creating a new lambda when a funcitonal interface is needed
datho7561 Nov 27, 2024
a309ebc
Enable compilation progress reporting and cancellation
mickaelistria Nov 29, 2024
5deb996
Revert "Fix error popups when class extends itself"
mickaelistria Nov 29, 2024
cd4a1ee
Single pass compilation even with multiple source folders
mickaelistria Nov 29, 2024
468871f
Fix possible IndexArrayOutOfBoundsError
mickaelistria Nov 29, 2024
3258cd5
Expected type for ternary (`? :`)
datho7561 Nov 28, 2024
7ffe2bf
Endless loop during testBug229951a
Nov 27, 2024
605e4ec
Fix testTypeParameterConstructors04 and others
Nov 25, 2024
51d7824
Fix testStaticImportMethod03 and others
Nov 21, 2024
acb5cf7
Fix testStaticImportField04
Nov 21, 2024
1b8c5bc
Fix testEnum05
Nov 18, 2024
2d560c4
Fix some NPEs
Nov 12, 2024
032bf44
Fix testTypeReference35 - corrupt jar on cp
Nov 7, 2024
6d8a50f
Fix NPE, convert 4 errors to fails
Oct 15, 2024
cbed834
Historical merge error in javadoc, not new
Dec 2, 2024
ab77f3c
Add output folder to classpath (#1006)
snjeza Dec 2, 2024
b8f274a
Fix testTypeParameterConstructors01 and others
Nov 8, 2024
2891909
Fix testTypeDeclaration12 and others
Nov 18, 2024
ed6f362
Fix testTypeReference22
Nov 22, 2024
5c3b244
Do not close underlying channel for cached zip
mickaelistria Dec 2, 2024
3f8f6b7
Fix execution of Javac test
mickaelistria Dec 3, 2024
25d70bf
Fix testBuildReferenceOtherProjectSource
mickaelistria Dec 3, 2024
16b4b56
Skip ProceedOnErrorTransTypes whenever possible
mickaelistria Dec 3, 2024
9ce987c
More proceed on error: throw + var decl
mickaelistria Dec 3, 2024
b18db9f
Bump parent version for org.eclipse.jdt.core.tests.javac
mickaelistria Dec 5, 2024
177bdb5
Avoid NPE in DOMToModelConverter.toLocalVariable
mickaelistria Dec 5, 2024
855e7ec
Prevent NPE in JavacBindingResolver
mickaelistria Dec 5, 2024
8fea1e2
Map compiler.err.limit.string & compiler.err.limit.string.overflow pb
mickaelistria Dec 5, 2024
32cd298
Bump version of org.eclipse.jdt.core
mickaelistria Dec 6, 2024
7861662
Don't add import for `java.lang`
datho7561 Dec 5, 2024
57a9ce2
Include literal elements in literal
mickaelistria Dec 5, 2024
a26c558
Don't log possible syntax errors when editing
mickaelistria Dec 6, 2024
d39cbf1
Convert compiler.err.switch.mixing.case.types
mickaelistria Dec 6, 2024
9c212e4
Some fixes to CompletionContextTests
mickaelistria Dec 6, 2024
2a281f0
Don't adjust cursor offset when finding node to complete
datho7561 Dec 6, 2024
3b91bff
Fix testBug251827b and 5 others - import declarations java element mu…
Dec 6, 2024
49cdd38
Fix some completionContextTests
mickaelistria Dec 7, 2024
25ed719
JavacConverter: Do not set/fix position for recovered names
mickaelistria Dec 8, 2024
f2f30e1
Fix some inner class not being copied
mickaelistria Dec 4, 2024
4863c71
Revert "Don't adjust cursor offset when finding node to complete"
mickaelistria Dec 8, 2024
0475a1a
Fix some contextCompletionTests (to 73)
mickaelistria Dec 8, 2024
60009c0
Improve attached import completion for type completions
datho7561 Dec 6, 2024
5b4c55b
Some work on expected types (down to 49 failures)
mickaelistria Dec 9, 2024
8ce8dfe
Fix more CompletionContextTests (down to 43)
mickaelistria Dec 9, 2024
8d1323f
Handle match files in the order they arrived
Dec 9, 2024
3b2cb9f
Ensure all parent nodes fully encompass their child nodes
Dec 9, 2024
39d49ff
Ensure calls to ASTParser.createBindings use the correct unit resolver
Dec 9, 2024
a65e2c5
null check before passing a new TypeBinding to requestor
Dec 9, 2024
4dacd03
Missing names must have length 0, not length 7 representing <error>
Dec 9, 2024
b7f584e
Fixes to VariableDeclaration completion
datho7561 Nov 28, 2024
919064a
Handle qualification when calculating relevance
datho7561 Dec 9, 2024
b42d16c
Do not double-propose types
datho7561 Dec 10, 2024
5d9610a
Fix ASTConverter18Test.test0009 - illegal argument
Dec 10, 2024
d25c677
Keep cached filesystems uniniterruptible
mickaelistria Dec 10, 2024
5162f09
Fix position for ArrayInitializer
mickaelistria Dec 11, 2024
5136ef2
Fix NPE in testBug424138_001 and others; bad synchronized block
Dec 10, 2024
f559693
Fix regressions ASTConverterAST3Test.test0009 and others; also Cleanup
Dec 11, 2024
9e4e62d
NPE check in DOMCompletionEngine when erasure is null
Dec 11, 2024
2078e38
CompletionContextTest: null token after string literal
mickaelistria Dec 11, 2024
ec3fc1a
Translate problem id for unknown annotation member
datho7561 Dec 10, 2024
3c380f6
Fixes #1038 - regression during some error syntax
Dec 12, 2024
f9ad1cd
Used Resolved* JavaElement in Javac*Bindings.getJavaElement()
mickaelistria Dec 12, 2024
35f1b38
javac doesn't configure output folders of dependent projects correctly
snjeza Dec 6, 2024
41a7d8c
Completion for favourite static imports
datho7561 Nov 29, 2024
4259f37
Camel case matching for completed types
datho7561 Dec 12, 2024
0f3760a
Remove calls to jobs that are no longer needed.
rgrunber Dec 13, 2024
24c7ea7
Use resolved JavaElement from binding for CompletionContext.enclosing
mickaelistria Dec 13, 2024
fd7af06
Ensure bindings are ordered by depth
mickaelistria Dec 16, 2024
ef42498
Use resolved key for binary elements too
mickaelistria Dec 16, 2024
e5570be
Strip exception from CompletionProposal.getSignature()
mickaelistria Dec 16, 2024
8e94bea
Fixes CompletionContextTests.test0004 and possibly others
Dec 13, 2024
854b52f
Improve method and type key
mickaelistria Dec 17, 2024
6e57986
Add boolean to ExpectedTypes when in conditions
mickaelistria Dec 17, 2024
80f26ac
New method completion proposal
datho7561 Dec 13, 2024
b49f580
add 1-click install link
mickaelistria Dec 17, 2024
601ce53
Add feature for javac
mickaelistria Dec 17, 2024
cdcab07
Enable lombok with javac
snjeza Dec 15, 2024
1269d0f
Fix expected type for return statements
datho7561 Dec 18, 2024
203cba6
Constructor invocation completion proposal improvements
datho7561 Dec 16, 2024
6530518
Fixes to completing types
datho7561 Dec 16, 2024
b93b41c
Fix test0008 and others: empty block comment misunderstood by javac a…
Dec 16, 2024
092ae61
Make for fileObjects uninterruptible
mickaelistria Dec 19, 2024
8346f6b
Set NON_INHERITED on relevance
mickaelistria Dec 17, 2024
fedeb93
Force setAccessible in reflection
mickaelistria Dec 19, 2024
9f5279e
Do not suggest .class .super .this suffix for types
mickaelistria Dec 19, 2024
6412e27
Open java.compiler/javax.tools=ALL-UNNAMED
mickaelistria Dec 20, 2024
4ec1ee8
Fix possible Javadoc parsing issue for reused nodes
mickaelistria Dec 20, 2024
fe654ac
Add javac feature to 2nd build step
mickaelistria Dec 20, 2024
d1d0943
Cleanup and disable 3 tests
Dec 20, 2024
a0c0a0b
Fix CompletionContextTests.test0116 and 1 other
Dec 20, 2024
c9dd814
Add javax.tools to o.e.j.c.tests.javac
snjeza Dec 21, 2024
3b65d6b
Fix ASTConverter15JLS4Test.test0008
snjeza Dec 22, 2024
610d935
Integrate javac library with a standalone bundle
testforstephen Jan 5, 2025
2478667
Completion for `import module |;`
datho7561 Dec 18, 2024
98c8224
`@param |` completion
datho7561 Jan 3, 2025
76d58be
Add support for packages in completion
mickaelistria Jan 6, 2025
e4d751f
Do not create invalid JavacVariableBinding
mickaelistria Jan 8, 2025
5e39a87
Fix modifiers for types when coming from AST
mickaelistria Jan 8, 2025
71fca55
Filter proposed packages
mickaelistria Jan 8, 2025
6218c8d
Add completion of package keyword
mickaelistria Jan 7, 2025
a3593ee
Prevent NPE
mickaelistria Jan 8, 2025
147a0da
Fix some JavacTypeBinding.getKey with generic extends
mickaelistria Jan 9, 2025
4325665
Resolve type for name when possible
mickaelistria Jan 9, 2025
f4bfe04
Improve JavacMethodBinding.isRaw
mickaelistria Jan 9, 2025
240f1e4
Fix to ExpectedTypes
mickaelistria Jan 9, 2025
c3ea3f9
Fix various warnings
akurtakov Jan 9, 2025
828a597
Fix various possible NPEs
mickaelistria Jan 9, 2025
d9a3816
Update README with updated args
mickaelistria Jan 9, 2025
27a8ebe
Remove unused methods from JavacBindingResolver
akurtakov Jan 9, 2025
eb6354c
Error IDs for problems unique to javac
datho7561 Nov 7, 2024
5f67080
Add NON_STATIC to relevance
mickaelistria Jan 9, 2025
ef52571
Do not insert classname for static methods inside expression
mickaelistria Jan 9, 2025
2f0a1b4
Fixes to Javadoc completion
datho7561 Jan 7, 2025
5227ce6
Add java.base/sun.nio.ch=ALL-UNNAMED to arguments
akurtakov Jan 10, 2025
28c3d2d
Implement completion for field ref in Javadoc
datho7561 Jan 9, 2025
c3daab7
Some work on type completion
mickaelistria Jan 10, 2025
4592aa2
Improvements to completion
mickaelistria Jan 13, 2025
22943f0
Improve relevance computation for annotation without @Target
mickaelistria Jan 14, 2025
62397eb
Improve some import static type completion
mickaelistria Jan 14, 2025
ce98ae6
Work on completion with static import
mickaelistria Jan 14, 2025
4e6b822
Completion for method references in javadoc
datho7561 Jan 10, 2025
dd584cc
Record junit issues and warn on increase
akurtakov Jan 13, 2025
3e2c9d4
More support for annotation value names
mickaelistria Jan 15, 2025
d7e8241
Improve support for completing enum constants in switch case
mickaelistria Jan 15, 2025
1901a3c
Publish all issues in Jenkins
akurtakov Jan 15, 2025
9f18089
Fix unused import
akurtakov Jan 17, 2025
20fb36f
Obey SuppressWarnings("removal") in unused detector
akurtakov Jan 17, 2025
677f2ba
Remove some colossal strings in the compiler tests
datho7561 Jan 17, 2025
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
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]
53 changes: 53 additions & 0 deletions .github/workflows/ci-dom-javac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Continuous Integration with DOM/Javac
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-dom
cancel-in-progress: true

on:
push:
branches: [ 'dom-based-operations', 'dom-with-javac' ]
pull_request:
branches: [ 'dom-based-operations', '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: Enable DOM-first and Javac
run: sed -i 's$</argLine>$ -DCompilationUnit.DOM_BASED_OPERATIONS=true -DSourceIndexer.DOM_BASED_INDEXER=false -DICompilationUnitResolver=org.eclipse.jdt.core.dom.JavacCompilationUnitResolver -DAbstractImageBuilder.compiler=org.eclipse.jdt.internal.javac.JavacCompiler_</argLine>$g' */pom.xml
- name: Set up JDKs ☕
uses: actions/setup-java@v4
with:
java-version: |
8
17
21
mvn-toolchain-id: |
JavaSE-1.8
JavaSE-17
JavaSE-21
distribution: 'temurin'
- name: Set up Maven
uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5
with:
maven-version: 3.9.6
- name: Build with Maven 🏗️
run: |
mvn clean install --batch-mode -f org.eclipse.jdt.core.compiler.batch -DlocalEcjVersion=99.99
mvn -U clean verify --batch-mode --fail-at-end -Ptest-on-javase-21 -Pbree-libs -Papi-check -Djava.io.tmpdir=$WORKSPACE/tmp -Dproject.build.sourceEncoding=UTF-8 -Dtycho.surefire.argLine="--add-modules ALL-SYSTEM -Dcompliance=1.8,11,20 -Djdt.performance.asserts=disabled" -Dcbi-ecj-version=99.99
- name: Test Report
if: success() || failure() # run this step even if previous step failed
run: |
echo ▶️ TESTS RUN: $(xmllint --xpath 'string(/testsuite/@tests)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
echo ❌ FAILURES: $(xmllint --xpath 'string(/testsuite/@failures)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
echo 💥 ERRORS: $(xmllint --xpath 'string(/testsuite/@errors)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
echo 🛑 SKIPPED: $(xmllint --xpath 'string(/testsuite/@skipped)' */target/surefire-reports/TEST-*.xml | awk '{n += $1}; END{print n}' -)
42 changes: 36 additions & 6 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ pipeline {
jdk 'openjdk-jdk23-latest'
}
stages {
stage('Build') {
stage('Build and Test') {
steps {
sh """#!/bin/bash -x

Expand All @@ -29,9 +29,11 @@ pipeline {
# 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


# Build and test without DOM-first to ensure no regression takes place
mvn -U clean verify --batch-mode --fail-at-end -Dmaven.repo.local=$WORKSPACE/.m2/repository \
-Ptest-on-javase-23 -Pbree-libs -Papi-check -Pjavadoc -Pp2-repo \
-pl !org.eclipse.jdt.core.tests.javac \
-Ptest-on-javase-23 -Pbree-libs -Pp2-repo \
-Dmaven.test.failure.ignore=true \
-Dcompare-version-with-baselines.skip=false \
-Djava.io.tmpdir=$WORKSPACE/tmp -Dproject.build.sourceEncoding=UTF-8 \
Expand All @@ -44,7 +46,6 @@ pipeline {
}
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
Expand All @@ -54,8 +55,37 @@ pipeline {
// The eclipse compiler name is changed because the logfile not only contains ECJ but also API warnings.
// "pattern:" is used to collect warnings in dedicated files avoiding output of junit tests treated as warnings
junit '**/target/surefire-reports/*.xml'
discoverGitReferenceBuild referenceJob: 'eclipse.jdt.core-github/master'
recordIssues publishAllIssues:false, ignoreQualityGate:true, tool: eclipse(name: 'Compiler and API Tools', pattern: '**/target/compilelogs/*.xml'), qualityGates: [[threshold: 1, type: 'DELTA', unstable: true]]
//discoverGitReferenceBuild referenceJob: 'eclipse.jdt.core-github/master'
//recordIssues publishAllIssues:false, ignoreQualityGate:true, tool: eclipse(name: 'Compiler and API Tools', pattern: '**/target/compilelogs/*.xml'), qualityGates: [[threshold: 1, type: 'DELTA', unstable: true]]
}
}
}
stage('javac specific tests') {
steps {
sh """#!/bin/bash -x
mkdir -p $WORKSPACE/tmp

unset JAVA_TOOL_OPTIONS
unset _JAVA_OPTIONS
# 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 \
-Dtycho.buildqualifier.format="'z'yyyyMMdd-HHmm" \
-Pp2-repo \
-pl org.eclipse.jdt.core.compiler.batch,org.eclipse.jdt.core,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 \
--fail-at-end -Ptest-on-javase-23 -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
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 @@ -177,6 +177,10 @@ public interface ClassFileConstants {
long JDK22 = ((long)ClassFileConstants.MAJOR_VERSION_22 << 16) + ClassFileConstants.MINOR_VERSION_0;
long JDK23 = ((long)ClassFileConstants.MAJOR_VERSION_23 << 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-23">
<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
Loading