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

Log type #851

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
636 commits
Select commit Hold shift + click to select a range
eb488de
Some support for anonymous TypeBinding.getJavaElement()
mickaelistria Jul 17, 2024
a3753fc
Fix ASTConverterTest.test0295 and others: an incorrect key when missi…
Jul 17, 2024
a77bb88
Clean up trailing semicolons in some cases
Jul 17, 2024
42f9bd2
Convert a visibility problem message
Jul 17, 2024
6e33407
Fix error id for "annot param must be constant"
datho7561 Jul 17, 2024
5c55b1f
Fixes test0470 - trailing semicolon should not be in source range
Jul 17, 2024
7b7b091
Fix methodBinding.getJavaElement() with varargs
mickaelistria Jul 18, 2024
34dc110
Forward workingCopyOwner to JavacBindingResolver
mickaelistria Jul 18, 2024
bf6fb88
improve completion on variable declaration to avoid $error$ binding c…
gayanper Jul 16, 2024
9d9f5a2
improve how method and variable positions names are resolved (#597)
gayanper Jul 19, 2024
ab1512e
Improve support for "var" in lambda params and bindings
mickaelistria Jul 19, 2024
b08ce9a
Fix quickfix for private abstract method in interface
datho7561 Jul 19, 2024
b5e517c
Fixed setting ASTNode.ORIGINAL on CompilationUnit
mickaelistria Jul 20, 2024
7c8a771
Improve diag mapping for unresolved
mickaelistria Jul 20, 2024
a05ac4e
add diagnostics for module related errors
gayanper Jul 20, 2024
71a665a
add basic module-info file completions
gayanper Jul 20, 2024
3a56d82
Add impl JavacTypeBinding.getJavaElement() for parameterized types
mickaelistria Jul 21, 2024
385474b
Set the type root for some units where it wasn't yet
datho7561 Jun 12, 2024
9396f1d
Improve handling of "supercontructor not defined" problems
datho7561 Jul 22, 2024
f62b924
Translate error code `compiler.err.expected4`
datho7561 Jul 22, 2024
877e849
Fix for `JavacTypeBinding.getWildcard()`
datho7561 Jul 22, 2024
d435fcf
problemids for extends interface and implements non-interface
datho7561 Jul 23, 2024
4bb9745
Fix some bugs requiring == for multiple resolutions on a node (#621)
robstryker Jul 23, 2024
22d4243
Prevent NPE when collecting bindings by key
datho7561 Jul 24, 2024
69f4d0a
Fix for `JavacTypeBinding.getTypeArguments`
datho7561 Jul 22, 2024
bc6a003
Report "unused ..." diagnostics (#623)
testforstephen Jul 25, 2024
8d7acf9
Map 1 more problem
mickaelistria Jul 25, 2024
e5e9b3a
Fix some wildcard TypeBinding bound resolution
mickaelistria Jul 25, 2024
0d686cc
Fix Javac->DOM method name conversion for missing return type
mickaelistria Jul 25, 2024
5639df2
Fix 2 problem ids
datho7561 Jul 25, 2024
e9b9a8f
Address the regressions (NPEs) caused by new `getTypeArgument()`
datho7561 Jul 25, 2024
b62dae5
Fix JavacTypeBinding.getTypeBound for wildcard
mickaelistria Jul 25, 2024
dbcd44a
Map some more pb
mickaelistria Jul 25, 2024
54600d7
Some more attempts to fix getBounds for wildcards
mickaelistria Jul 26, 2024
5bb0a72
Still improvement to JavacTypeBinding.getBound()
mickaelistria Jul 26, 2024
4f2d138
Various minor fixes
mickaelistria Jul 26, 2024
76e13ab
Fix resolveTypeBinding for `new ...`
mickaelistria Jul 26, 2024
06d3709
Fix diagnostic position for TypeMismatch with fieldAccess
mickaelistria Jul 26, 2024
a96f94f
Cleanup unused code in JavacConverter
mickaelistria Jul 26, 2024
f9f34f1
Better support mapping multi-field declaration in enums
mickaelistria Jul 26, 2024
664efec
Interface have no superclass
Jul 26, 2024
7ecfa91
Anonymous classes have no superclass
Jul 26, 2024
97eea7c
Better implementation for JavacTypeBinding.getTypeParameters()
mickaelistria Jul 26, 2024
7622bb9
Fix error range for @Override on non-inherited method
datho7561 Jul 26, 2024
3ccd5bc
fix random completion errors including #634
gayanper Jul 27, 2024
abfcd1e
Map some more problems
mickaelistria Jul 27, 2024
4ad19d9
Fix ASTConverter_GuardedPattern_Test.testGuardedPattern001
akurtakov Jul 29, 2024
9de79e1
Move problem messaging mappings to test bundle
Jul 26, 2024
2019957
Add way to getJavaElement for working copy files, and fix several
Jul 26, 2024
2a2459b
Fix an error that appears during malformed code
datho7561 Jul 26, 2024
e3a63f1
Distinguish synthesized and explicit constructor when scanning unused…
testforstephen Aug 2, 2024
8ce7cde
Support conversion of JCAnyPattern
akurtakov Aug 5, 2024
1e253c6
Fix ASTConverterEitherOrMultiPatternTest.test007
akurtakov Aug 5, 2024
d5ba5ec
Avoid NPE, see github.com/eclipse-jdtls/eclipse-jdt-core-incubator/pu…
Aug 6, 2024
06cb818
Adjust the diagnostic location for unused star import (#664)
testforstephen Aug 6, 2024
da4acd9
Fix ASTConverter_16Teest.testrecoredSemicolon
akurtakov Aug 6, 2024
8709bff
Fixes to JLS compliance
datho7561 Aug 1, 2024
98df26a
Fix organize imports tests by removing unnecessary argument types fro…
testforstephen Aug 6, 2024
1819151
Fixes many javadoc tests
Aug 7, 2024
e92b9d6
Convert "unnecessary type arguments" diagnostic
datho7561 Aug 7, 2024
821ca6a
Map problem for ImportNotFound
testforstephen Aug 8, 2024
0f8a0ab
Fix some bindings for nested or erroneous types
mickaelistria Aug 8, 2024
b95de25
Fix NPE
mickaelistria Aug 8, 2024
8f6d9c2
Support switch pattern matching
akurtakov Aug 8, 2024
e2cbef7
Add some error message mappings
Jul 31, 2024
b1a5cf7
Fix problem location for unknown array method
mickaelistria Aug 8, 2024
55f966b
Fix JavacTypeBinding.getJavaElement() for static inner types
mickaelistria Aug 8, 2024
1504ecb
Implement JavacBindingResolver.resolveConstantExpressionValue()
mickaelistria Aug 9, 2024
4136b22
Improve resolving method bindings for some erroneous cases
mickaelistria Aug 9, 2024
5503048
Fix static import: Return a null binding for the errorneous recovered…
testforstephen Aug 8, 2024
7bf7818
return a null binding for erroneous recovered type in name reference
testforstephen Aug 11, 2024
ce3f71c
Avoid NPE for non-existing projects
mickaelistria Aug 11, 2024
3071064
Fix offset for void method returning value
mickaelistria Aug 11, 2024
24bc957
Map problem position for blank final field
mickaelistria Aug 12, 2024
d996bd3
Selecting inside empty () should return null
mickaelistria Aug 12, 2024
8edcb09
Fix the problem mapper for NotVisibleConstructorInDefaultConstructor
testforstephen Aug 12, 2024
488b4c7
Fixes test0063, test0064, test0065, and more - getQualifiedName expec…
robstryker Aug 12, 2024
829a693
Set `--system` to reference JVM install
mickaelistria Aug 12, 2024
c2e6713
Fix message for quickfixes for "wrong number of args" in generic cons…
datho7561 Aug 12, 2024
f450a5f
Differentiate between notVisibleConstructor and notVisibleConstructor…
testforstephen Aug 13, 2024
2248e6a
Avoid --release and --system being set together
mickaelistria Aug 13, 2024
955a659
Fix arg name inference for array types
datho7561 Aug 12, 2024
13f166c
Fix getting bounds for a capture binding bounded by typevar
datho7561 Aug 13, 2024
49283bf
Fix problemId for lambda without return
datho7561 Aug 13, 2024
6e63ef7
Improve JavacBindingResolver.resolveConstantExpression
mickaelistria Aug 14, 2024
8c346ad
Use compiler settings to determine problem id for interface modifiers
datho7561 Aug 13, 2024
0582483
Fix test0037 - getKey on JavacTypeVariableBinding
Aug 13, 2024
4226af5
Avoid requesting getKey early: store bindings identity with
mickaelistria Aug 14, 2024
eace7ee
Fix test0150 - malformed package declaration
Aug 12, 2024
547f4f2
Fix testPatternInstanceOfExpression003
Aug 14, 2024
9b13dee
Fix issue with isGeneric according to spec
Aug 13, 2024
a27760f
Fix ASTConverter_RecordPattern_Test.testCaseDefaultExpressionPattern
akurtakov Aug 14, 2024
29415b0
Fix some generic/parameterized in JavacTypeBinding
Aug 14, 2024
df7fe99
Attempt to fix package bindings
Aug 14, 2024
acabf59
Fixes testBug497719_0001 - try with resources dom error
Aug 14, 2024
6595a80
Fix findDeclaringNode with binding key
mickaelistria Aug 14, 2024
e2127f5
[Javadoc] error handling
Aug 15, 2024
a8d9d1b
More problems to ignore
Aug 15, 2024
af82d43
Fix equality for generic bindings always hosting generic type
mickaelistria Aug 15, 2024
88541d1
Handle the nested javadoc syntax '@see {@link ...}' better (#705)
testforstephen Aug 15, 2024
41a90d4
Partial fix to testBug432175 - keys for types not under main type of …
Aug 15, 2024
d4ea51c
Fix testRecord012 - synthetic flag
Aug 15, 2024
722104d
Fix testRecordPattern003
Aug 15, 2024
1d6e8f6
Fix NPE when hovering at the keyword 'void' (#712)
testforstephen Aug 16, 2024
eea1f3f
Fix testRecord011 - setting start position of record name
Aug 15, 2024
1e45361
Different impl for detecting secondary types when getting key
datho7561 Aug 15, 2024
db6d1c9
Trim o.e.jdtcore.tests.javac dependencies
akurtakov Aug 16, 2024
c6dd3ea
Store methodBindings by hash
mickaelistria Aug 16, 2024
4217f50
Add isDeclaration to JavacMethodBinding
mickaelistria Aug 16, 2024
4bdeefd
Specifically handle equals/hashCode for MethodType
mickaelistria Aug 16, 2024
5fddf7b
Fix position for method identifier
mickaelistria Aug 16, 2024
1f3b869
Fix isCastCompatible
mickaelistria Aug 17, 2024
5fd63dc
Fix test0205 relating to source position of method name in annotation…
Aug 15, 2024
2f6d667
Avoid creating binding for incomplete type objects
mickaelistria Aug 17, 2024
2abe6d2
Use absolute path when parsing a file in a project
datho7561 Aug 16, 2024
427780b
Map ambiguous interface problem
mickaelistria Aug 19, 2024
12943de
Workaround some cases where Javac symbols are not usable
mickaelistria Aug 19, 2024
0be820d
Various fixes in order to get lemminx compiling using the builder
datho7561 Aug 19, 2024
e1498f8
Install o.e.jdt.core.tests.model artifact
akurtakov Aug 19, 2024
c22285b
Fix diagnostic & isRecovered for missing package
mickaelistria Aug 19, 2024
47fe78b
Set range for mock name expressions
mickaelistria Aug 20, 2024
571a5ac
Workaround binding resolution for Arrays.<Number>asList(unknown)
mickaelistria Aug 20, 2024
f08eb25
Fix resolution of method bindings for erroneous generics
mickaelistria Aug 20, 2024
ed31869
Exclude missing modifiers implied by Javac
mickaelistria Aug 20, 2024
f121302
Implement JavacVariableBinding.isRecordComponent
mickaelistria Aug 20, 2024
8e3ff3d
Alphabetically order getDeclaredMethods()
mickaelistria Aug 20, 2024
1b82fe9
Fix resolveName() in case name doesn't have symbol
mickaelistria Aug 20, 2024
7895452
Fix problem range for reduced visibility
mickaelistria Aug 21, 2024
01407c0
Fix javadoc test 001 and others (#718)
robstryker Aug 21, 2024
59614fe
Fix binaryName, better map and reconcile abstract related pb.
mickaelistria Aug 21, 2024
111e384
Translate some problem IDs for module-related problems
datho7561 Aug 21, 2024
84b943b
Improve name binding resolution
mickaelistria Aug 21, 2024
225949b
Improve caching AST in CompilationUnit
mickaelistria Aug 22, 2024
f07d42b
Fix binary name
mickaelistria Aug 22, 2024
08c88cc
Fixes to switch expressions
datho7561 Aug 22, 2024
f45dc3c
Honor test flag on classpathEntry
mickaelistria Aug 26, 2024
c0ca3b5
Trigger downstream jdt-ls-javac job upon completion
mickaelistria Aug 26, 2024
aeaf42d
Don't wait/propagate downstream job result
mickaelistria Aug 26, 2024
0de38e2
Fix JavacUtils.isTest()
mickaelistria Aug 27, 2024
5987726
Mark fake id as MALFORMED
mickaelistria Aug 26, 2024
88640ad
Improve JavacTypeBinding.getJavaElement()
mickaelistria Aug 26, 2024
008e377
More slight javadoc work, annotating javadoc tests
Aug 21, 2024
27fd697
Fixes incubator #740 - ignore some specific malformed declarations
Aug 22, 2024
d90f0fd
Work on javadoc inline tags
Aug 23, 2024
3209d9b
Fix javadoc bug 68025 for erroneous see tags
Aug 27, 2024
e1eb0a5
Fixes testBug68726 - bad regex for splitting javadoc comments
Aug 27, 2024
bfcb123
Force resolution of bindings when computeProblems
mickaelistria Aug 27, 2024
bcec786
Avoid potential NPEs
mickaelistria Aug 27, 2024
0713fd5
Do not JavacBindingResolver if not necessary (frees some memory)
mickaelistria Aug 27, 2024
aba67e8
Revert "Fixes incubator #740 - ignore some specific malformed declara…
mickaelistria Aug 28, 2024
f5c075e
Trim recovered/invalid nodes when recovery is not enabled
mickaelistria Aug 28, 2024
278a134
Prevent NPE for virtual IJavaProject (without IProject)
mickaelistria Aug 28, 2024
ae958a7
Replaced MALFORMED by RECOVERED
mickaelistria Aug 28, 2024
d85f9e6
JavacTypeBinding.getJavaElement() returning null for .class with sources
mickaelistria Aug 28, 2024
e423312
Fix NPE when trimming recovered nodes
mickaelistria Aug 28, 2024
666dd17
Resolve `var` type binding to actual resolved type
mickaelistria Aug 28, 2024
4523f51
Fix translating empty name to _
mickaelistria Aug 28, 2024
5c0189b
Enable lombok annotation processing when parsing DOM for workingcopy …
testforstephen Aug 29, 2024
5b732ba
Improve range for variable declaration fragment
mickaelistria Aug 28, 2024
056a536
Make JavacBindingResolver more thread-safe
mickaelistria Aug 29, 2024
2b82551
Fix resolveBindings(LambdaExpression)
mickaelistria Aug 29, 2024
b3c5618
Improve JavacLambdaBinding and lambda params
mickaelistria Aug 30, 2024
5b7a73a
More Javadoc lint
mickaelistria Aug 31, 2024
20d81b2
Add support for more Javadoc problems
mickaelistria Aug 31, 2024
a11fb1a
Fix converting Javadoc for type parameter
mickaelistria Aug 31, 2024
ea750e0
Map javadoc missing return tag
mickaelistria Sep 1, 2024
766b177
Skip constructor & serialVersionUID & exception parameter of catch bl…
testforstephen Sep 2, 2024
d343fe3
Improve problem mapping for EnumAbstractMethodMustBeImplemented
mickaelistria Sep 2, 2024
6c8d6f5
Better recover not visible parameterized types
mickaelistria Sep 2, 2024
d3b3a5e
A workaround to resolve constructor binding
mickaelistria Sep 2, 2024
394e958
Fix unused private constructor (#777)
testforstephen Sep 3, 2024
cf0f0bd
Inspect nested diagnostic in some cases
mickaelistria Sep 3, 2024
bca0e2d
Mostly fix test109
Aug 30, 2024
7a7df0c
Fix several tests with malformed package declarations
Aug 28, 2024
7dee380
Fix testBug347100
Aug 27, 2024
5dbfee3
Cleanup and a small fix
Aug 28, 2024
acb1bd0
test annotations
Aug 30, 2024
db8648e
Fix test83804 and test83804a - incorrect source ranges / lengths
Aug 30, 2024
8c39768
Ignore testBug103304 - violates javadoc spec
Sep 3, 2024
cc355f4
Fix testBug113108b - three slash comments should be Line Comments
Sep 3, 2024
b426839
Improve problem conversion to UndefinedName
mickaelistria Sep 3, 2024
c546679
Fix converting problems about accessing static members
mickaelistria Sep 3, 2024
54455d0
Better map UndefinedConstructor problem
mickaelistria Sep 4, 2024
72a317e
Map error for diamond op on non generic type
datho7561 Sep 3, 2024
941c4d2
Improve JavacBindingResolver.resolveExpressionType()
mickaelistria Sep 4, 2024
fbbf21e
Fix some more error ids
datho7561 Sep 4, 2024
7969ea4
Fix testBug87845 - varargs in javadoc method ref parameters
Sep 3, 2024
c12e89d
Fix testBug79809 - type parameter javadoc test; previous fix insuffic…
Sep 3, 2024
39ce37c
Better map missing method diagnostic and related bindings
mickaelistria Sep 4, 2024
a1b4ea5
Fix potential exception in JavacTypeBinding
mickaelistria Sep 5, 2024
e9754e3
Bump parent pom version to 4.34
mickaelistria Sep 5, 2024
cda56ac
Use some TreeInfo utils instead of custom code
mickaelistria Sep 5, 2024
6cfccd4
Some more problem ids
datho7561 Sep 4, 2024
b9cd7e2
Map compiler.warn.try.explicit.close.call problem
akurtakov Sep 5, 2024
8f53e6c
Code cleanups
akurtakov Sep 5, 2024
5d7302a
Use variable kind to check if it qualifies for unused checker (#801)
testforstephen Sep 6, 2024
aa8a6e8
Fix type name position
mickaelistria Sep 5, 2024
1c2aa92
Add members to ImplicitTypeDeclaration
mickaelistria Sep 5, 2024
435d7b7
Fix text elements in Snippets
mickaelistria Sep 6, 2024
6a60607
Fix conversion of Javadoc @value tag
mickaelistria Sep 6, 2024
091fe83
Fix JavacVariableBinding.getJavaElement() to try fields first
mickaelistria Sep 6, 2024
f59ccff
Another round of problem id mappings
datho7561 Sep 5, 2024
d0be0df
Force the DOM parser to continue with errors (#808)
testforstephen Sep 9, 2024
29b53a2
Revert "Force the DOM parser to continue with errors (#808)"
mickaelistria Sep 10, 2024
15ffb02
Prefer TextElement to Name for @uses
mickaelistria Sep 9, 2024
98ab746
Use JDK's snippet markup parser
mickaelistria Sep 9, 2024
34a0ace
Avoid failure in asMethodType()
mickaelistria Sep 10, 2024
b31f59a
Improve method bindings generic/type/raw
mickaelistria Sep 10, 2024
03d80f0
Add textElement to DCUses
mickaelistria Sep 10, 2024
6b2afd2
Fix NPE in JavacMethodBinding
mickaelistria Sep 10, 2024
fad39a3
Avoid NPE in JavacBindingResolver
mickaelistria Sep 10, 2024
83487ed
Configure processor arguments (e.g. -Akey=value) to Javac compiler (#…
testforstephen Sep 11, 2024
1de2eea
Add config to use internal Javadoc API in tests
mickaelistria Sep 10, 2024
560af80
Make bindings.isEqualTo() respect the spec
mickaelistria Sep 11, 2024
5687199
Avoid NPE in ProcessorConfig
mickaelistria Sep 11, 2024
ea78d3c
Make small enhancements to jdt.core test suite to allow for proper fi…
Sep 10, 2024
93ce9a1
Fix enum component contructor position
mickaelistria Sep 12, 2024
f89af52
Add export for lombok
mickaelistria Sep 12, 2024
cd8ac0b
Set -proc:only
mickaelistria Sep 12, 2024
9d96b16
Some more problem IDs
datho7561 Sep 6, 2024
32b9118
Fix testBug80257 and possibly others: resolve correct type binding in…
Sep 5, 2024
b1f41c1
Make all model test suites recursively filterable
Sep 13, 2024
38caa61
Fix some UnresolvedMethodsTest because of incorrect range
mickaelistria Sep 13, 2024
186dd99
CompilationUnit.buildStructure passes project more often
mickaelistria Sep 13, 2024
3376362
Also produce specific build of o.e.j.core.compiler.batch
mickaelistria Sep 13, 2024
6c5a676
Enable the test filtering on the javac test bundle
Sep 13, 2024
6240dc6
Ignore one test via annotation to verify annotation filtering for tes…
Sep 13, 2024
b6e541f
Improve support for lombok
mickaelistria Sep 13, 2024
6ceb7c9
Build full JDT with Javac p2 repo after build of main branch
mickaelistria Sep 13, 2024
5b576b6
Revert "Improve support for lombok"
mickaelistria Sep 14, 2024
893b9f9
Improve some bindings, and safer convert
mickaelistria Sep 14, 2024
df147c5
Reapply "Improve support for lombok"
mickaelistria Sep 14, 2024
dfee9c6
Another round of problem id mappings
datho7561 Sep 12, 2024
bb92bfe
Fix format in p2.inf
mickaelistria Sep 17, 2024
bb5c24e
Fix AST conversion error when handling type in array dims
datho7561 Sep 17, 2024
8f2ea6f
De-duplicate test-on-javase23 profile
mickaelistria Sep 18, 2024
fff27a6
Adapt to Java 23 changes
mickaelistria Sep 18, 2024
903ecbb
Try should-stop.ifError Javac options when getting DOM
mickaelistria Sep 10, 2024
02c02f1
Fix version in ClassFileConstants
mickaelistria Sep 18, 2024
bb302b2
Fix underlying issue in test0009 - new array has incorrect diment sio…
Sep 17, 2024
fc16db6
Add some annotations to tests
Sep 18, 2024
6c5c77d
Fix slimmed down dom trees via focalPoint - test0486 and others
Sep 18, 2024
a20aacb
More accurate range
Sep 18, 2024
297f670
Support conversion of Markdown Javadoc
mickaelistria Sep 19, 2024
d635f93
Improve diagnostic location for "virtual" nodes
mickaelistria Sep 20, 2024
9b59d1a
Fix issue selecting element name on last offset
mickaelistria Sep 23, 2024
4dc99e8
Fix some source ranges because of Lombok
mickaelistria Sep 23, 2024
6528b01
Avoid NPE with treePath
mickaelistria Sep 20, 2024
8d59457
Fix 0-length or end-of-line diagnostic position
mickaelistria Sep 24, 2024
cf404ba
Do not crash on non-convertible type
mickaelistria Sep 24, 2024
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}' -)
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ Snap.*
/target/

# pomless
.polyglot.*
.polyglot.*

.DS_Store
48 changes: 42 additions & 6 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ pipeline {
}
tools {
maven 'apache-maven-latest'
jdk 'openjdk-jdk21-latest'
jdk 'openjdk-jdk23-latest'
}
stages {
stage('Build') {
stage('Build and Test') {
steps {
sh """#!/bin/bash -x

Expand All @@ -29,7 +29,8 @@ 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 \
-Dmaven.test.failure.ignore=true \
Expand All @@ -44,7 +45,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,10 +54,46 @@ 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.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'
}
}
}
stage('trigger JDT-LS with Javac build and tests') {
when {
branch 'dom-with-javac'
}
steps {
build(job: 'jdt-ls-javac', wait: false, propagate: false)
build(job: 'Build-JDT-with-Javac-p2-repo', wait: false, propagate: false)
}
}
}
}
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
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"/>
</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