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

[24] Try building the java24 patch on JDT infra #3244

Open
stephan-herrmann opened this issue Nov 4, 2024 · 4 comments
Open

[24] Try building the java24 patch on JDT infra #3244

stephan-herrmann opened this issue Nov 4, 2024 · 4 comments
Assignees

Comments

@stephan-herrmann
Copy link
Contributor

Some initial thoughts are in #2899 (comment)

@stephan-herrmann stephan-herrmann added this to the BETA_JAVA24 milestone Nov 4, 2024
@stephan-herrmann stephan-herrmann self-assigned this Nov 4, 2024
@stephan-herrmann
Copy link
Contributor Author

stephan-herrmann commented Nov 4, 2024

One none-standard part of the existing patch-build can be found in java23patch/eclipse.releng.repository.java23patch/patchMatchVersion.xsl

stephan-herrmann added a commit to eclipse-jdt/eclipse.jdt that referenced this issue Nov 8, 2024
Command line approach using pde-build and p2's publishers

Fixes eclipse-jdt/eclipse.jdt.core#3244
stephan-herrmann added a commit to eclipse-jdt/eclipse.jdt that referenced this issue Nov 8, 2024
- make wget silent
- invoke xslt processor via ant

Fixes eclipse-jdt/eclipse.jdt.core#3244
@stephan-herrmann
Copy link
Contributor Author

Development is happening in git and on jenkins.

The following result can be installed into Eclipse I20241104-1800 (against which it was built: https://ci.eclipse.org/jdt/job/org.eclipse.jdt-patch-feature/9/artifact/eclipse.jdt/org.eclipse.jdt.releng/patchbuild/work/org.eclipse.jdt.java24patch.zip

Unfortunately installation into 4.34M3 fails, despite what looks like a suitable version range.

Further issues:

  • the generated feature jar is not yet signed.
  • I'm not yet uploading to the download area.

@stephan-herrmann
Copy link
Contributor Author

Unfortunately installation into 4.34M3 fails, despite what looks like a suitable version range.

Next build based on Y-Build Y20241109-1000 and SDK 4.34M3 can be installed into 4.34M3 (I20241107-0510) and also the next I-build I20241108-1800, see https://ci.eclipse.org/jdt/job/org.eclipse.jdt-patch-feature/10/artifact/eclipse.jdt/org.eclipse.jdt.releng/patchbuild/work/org.eclipse.jdt.java24patch.zip

@stephan-herrmann
Copy link
Contributor Author

Overview of Steps

The following steps are orchestrated in build.sh :

  1. download a specified Eclipse SDK
  2. perform some string substitutions to feed build values into text files for the next step
  3. invoke PDE Build on just the patch feature
    • this pulls included plugins from the specified Y-build
  4. unzip the generated feature from work/buildRepo/features/*.jar back into work/features/ for the next step
    • at this point feature.xml has the correct versions of included plugins
  5. re-generate metadata using p2's FeaturesAndBundlesPublisher
  6. generate the category using p2's CategoryPublisher
  7. tweak the version range, to make the patch applicable to more than just one specific build
  8. zip the result (for easier consumption until we push content to download).

All this completes well under one minute.

Building the feature

PDE Build is set up using these files (.in indicates that the file is subject to string substitutions):

Generating Metadata

I had a bit of an issue to get metadata including the substitutions from feature.properties (like %featureName...). PDE Build seemed to drop that file, and several ways to invoke the FeaturesAndBundlesPublisher failed, too. By trial and error, the winning invocation is:

  • read the feature from source, but with plugin versions already substituted (see step (4) above)
  • write output next to the previously generated features/ and plugins/ directories

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

No branches or pull requests

1 participant