poc: embed nb-javac compiler into the javac plugin - #244
Conversation
|
Something's up, the CI job isn't finishing in the usual amount of time. |
|
● nb-javac Shading Project Report Work Completed Successfully created a Maven-based shading solution for nb-javac to prevent OSGi/Equinox classloader conflicts Shading Implementation Complete package relocation of all nb-javac classes to shaded.* prefix:
Multi-release JAR support - Critical discovery and fix:
Service file transformation:
Source JAR generation for IDE debugging:
Build hygiene:
Outstanding Issue: DocLint Service Loading Problem Statement Eclipse plugin cannot receive JCDiagnostic objects for Javadoc validation. The root cause is that DocLint Technical Details Current behavior:
Challenges Preventing Resolution Option 1: Exclude DocLint from shading
Option 2: Programmatic service registration (adapter pattern)
Option 3: OSGi Import-Package control
Open Questions
|
fc77604 to
4753374
Compare
|
We are down to 20 regressions, which is pretty solid. |
72ed996 to
19f4afe
Compare
Signed-off-by: Fred Bricon <fbricon@gmail.com>
Signed-off-by: Rob Stryker <rob@oxbeef.net> Update WIP with newest jars Signed-off-by: Rob Stryker <rob@oxbeef.net> Configure Maven to download nb-javac shaded JARs from JitPack - Add JitPack repository - Add dependencies for shaded nb-javac artifacts (jdk-26-35) - Configure maven-dependency-plugin to copy JARs to lib/ - Ignore downloaded JARs in .gitignore JARs are no longer committed to git and are downloaded during build. Bad values in .classpath Signed-off-by: Rob Stryker <rob@oxbeef.net> Disable problematic suite Signed-off-by: Rob Stryker <rob@oxbeef.net> Use newest jars, for now Signed-off-by: Rob Stryker <rob@oxbeef.net> Rebase update Signed-off-by: Rob Stryker <rob@oxbeef.net> Update source location for shaded jars Signed-off-by: Rob Stryker <rob@oxbeef.net> Try to use shaded doclint Signed-off-by: Rob Stryker <rob@oxbeef.net> nnb-doclint-shaded jar was not added due to gitignore Signed-off-by: Rob Stryker <rob@oxbeef.net> Fix ServiceLoader discovery for shaded DocLint implementation Renamed service file from com.sun.tools.doclint.DocLint to shaded.com.sun.tools.doclint.DocLint to match the relocated package structure in nb-javac-shaded. ServiceLoader requires the service file name to match the fully qualified interface name, including the shaded. prefix. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Rob Stryker <rob@oxbeef.net>
Signed-off-by: Rob Stryker <rob@oxbeef.net>
Signed-off-by: Rob Stryker <rob@oxbeef.net>
Signed-off-by: Rob Stryker <rob@oxbeef.net>
Changed jdt-core-fork-tests repository URL from Jenkins artifact URL (which requires authentication) to local build directory. The Jenkinsfile stage 1 already builds these tests locally, so we can reference them directly without needing HTTP access. This eliminates the HTTP 403 error when accessing lastSuccessfulBuild artifacts. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Changed from ${session.executionRootDirectory} to
${maven.multiModuleProjectDirectory} which is properly resolved
in Tycho builds. The previous property caused "Illegal character
in path" error.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
p2 repository requires absolute URL with file:// protocol. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
| <id>jdt-core-fork-tests</id> | ||
| <layout>p2</layout> | ||
| <url>https://ci.eclipse.org/ls/job/jdt-core-incubator/job/dom-with-javac/lastSuccessfulBuild/artifact/repository/target/repository/</url> | ||
| <url>file://${maven.multiModuleProjectDirectory}/forkedTests/repository/target/repository/</url> |
There was a problem hiding this comment.
If it's built locally it should be installed locally as well, so it won't need to be set up as a repo I think?
No description provided.