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

Systematic maintenance of jclMinX.jar and .src.zip #2727

Closed
stephan-herrmann opened this issue Jul 18, 2024 · 1 comment · Fixed by #3223
Closed

Systematic maintenance of jclMinX.jar and .src.zip #2727

stephan-herrmann opened this issue Jul 18, 2024 · 1 comment · Fixed by #3223
Assignees
Milestone

Comments

@stephan-herrmann
Copy link
Contributor

In https://bugs.eclipse.org/560658 we started to organize maintenance of jcl stubs more systematically, but covered only convertJclMin, not regular jclMin.

Most recently, follow-ups of #2551 would like to work on a cleaned-up foundation :)

To consider:

  • do we actually need two flavors, or can one set of jclMin cover all use cases?
  • are all source projects configured for IDE and build using org.eclipse.jdt.core.tests.model/JCL/build.xml?
  • 2712 brought up the issue of JCL_SRCROOT
    • this is used to configure classpath entries with a src path inside the src.zip archive
    • it will be used by all tests accessing sources of binary types from jclMin (example: BufferTests.testAppendReadOnly())
    • as per AbstractJavaModelTests.getExternalJCLRootSourcePath() paths inside src.zip should start with "src"
    • if this is misconfigured, tests may still pass, but require analysing jar and zip to tediously figure out the source root path
@stephan-herrmann
Copy link
Contributor Author

stephan-herrmann commented Nov 2, 2024

Found some confusion between jclMin & jclFull: Tests CompletionTests18.testBug443091_expectLambdaCompletions_forFunctionalInterfaceArgumentAssignment() and friends from bug 443091 use jclFull1.8.jar but expect to find a parameter name via the source attachment jclMin1.8src.zip. This is despite the fact that we do have a jclFull1.8src.zip, too.

I'd call this a bug in AbstractJavaModelTests.setUpJCLClasspathVariables(String, boolean) where getExternalJCLPathString() has a parameter useFullJcl but getExternalJCLSourcePath() constantly uses the min version, hence jclFull1.8src.zip some 100% unused atm.

Sharing of source zip was introduced in Bug 427538, but this conflicts with the way I'd like to generate all these from regular eclipse projects.

stephan-herrmann added a commit to stephan-herrmann/eclipse.jdt.core that referenced this issue Nov 2, 2024
+ remove jclMin < 1.8 and adjust ClasspathTests accordingly
+ created jclMin projects from existing jclMin*src.zip
+ added module-info to all modular jcl
+ declared --patch-module in .classpath & build.xml
+ minor clean-up
+ regenerate all jclMin
+ did NOT re-generate converterJclMin - need to check diffs first
+ fix source attachment for jclFull1.8.jar

Fixes eclipse-jdt#2727
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants