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

[UIMA-6443] Fresh Eclipse update site for every release #200

Merged

Conversation

reckart
Copy link
Member

@reckart reckart commented May 4, 2022

JIRA Ticket: https://issues.apache.org/jira/browse/UIMA-6443

What's in the PR

  • Move activation of Tycho to a marker file that triggers a profile
  • Move basic Tycho configuration into the "tycho-module" profile
  • Remove the old marker files for eclipse features / eclipse update sites
  • Add a draft module for generating a Maven p2 site in addition to the more "traditonal" P2 site
  • Add feature.xml and category.xml files hard to the repo
  • Configure the release plugin to trigger updating versions in the feature.xml and category.xml files as part of the release build
  • Pull the externalized strings from the feature.properties files back into the feature.xml files because the Tycho updatesite tooling apparently does not support the externalized strings (also we never translated them...)
  • Downgrade to Tycho 2.7.0 due to p2-maven-site includes bundles in the repository eclipse-tycho/tycho#932
  • Mark the automatically-generated import for com.apple.eio in the runtime bundle as optional to avoid bundles not being installable on JREs that do not offer this package
  • Remove the .feature.group suffix from the feature module artifactIds to avoid the final update site containing features named XXX.feature.group.feature.group
  • Remove tycho declarations that are duplicate now that the base configuration has been pulled into a profile

How to test manually

  • Try a normal build
  • Try a release build
  • Check if/how the update site(s) work within Eclipse

Automatic testing

  • PR adds/updates unit tests

Documentation

  • PR adds/updates documentation

Organizational

  • PR includes new dependencies.
    Only dependencies under approved licenses are allowed. LICENSE and NOTICE files in the respective modules where dependencies have been added as well as in the project root have been updated.

- Towards building the update site and features using Tycho
- Move activation of Tycho to a marker file that triggers a profile
- Move basic Tycho configuration into the "tycho-module" profile
- Remove the old marker files for eclipse features / eclipse update sites
- Add a draft module for generating a Maven p2 site in addition to the more "traditonal" P2 site
- Add feature.xml and category.xml files hard to the repo
- Configure the release plugin to trigger updating versions in the feature.xml and category.xml files as part of the release build
@reckart reckart added the ⚙️ Refactoring Improvement for development or maintainability label May 4, 2022
@reckart reckart added this to the 3.4.0 milestone May 4, 2022
@reckart reckart self-assigned this May 4, 2022
- Replace "SNAPSHOT" with "qualifier" in feature file
- Removed the "Tycho module marker" file from the p2-site module because the Maven p2 sites should be built entirely without the "normal" Tycho extensions
- Pull the externalized strings from the feature.properties files back into the feature.xml files because the Tycho updatesite tooling apparently does not support the externalized strings (also we never translated them...)
- Downgrade to Tycho 2.7.0 due to eclipse-tycho/tycho#932
- Mark the automatically-generated import for `com.apple.eio` in the runtime bundle as optional to avoid bundles not being installable on JREs that do not offer this package
- Remove the `.feature.group` suffix from the feature module artifactIds to avoid the final update site containing features named `XXX.feature.group.feature.group`
- Remove tycho declarations that are duplicate now that the base configuration has been pulled into a profile
- Rename maven p2 update site module so it fits in nicer with the others
- Moving the release build extensions out of the tycho profile because the need to be globally active since the release plugin operates on the reactor root
- Moving the release build extensions out of the release profile because the release profile seems not to be active during the "prepare" to the additional prepare goals
- Limit adding updated OSGi/Eclipse metadata files to scm during release to the uimaj-eclipse* modules that actually require them because in other pom-first modules, the files are generated and excluded from scm
- Move SCM declaration from parent to reactor root so that the release plugin understands properly where to commit to
- Remove the "scm:checkin" action after running Tycho to update the versions because the release plugin commits automatically anyway
@reckart
Copy link
Member Author

reckart commented May 5, 2022

The m2 maven site seems to work ok-ish, but it does not support features.

The traditional site that has features currently has trouble in release builds because the tycho-versions-plugin that is used to sync the version updates performed by the maven-release-plugin into the OSGi/Eclipse metadata files misses version updates to pom-first bundles like e.g. uimaj-ep-runtime in the runtime feature.

See also: eclipse-tycho/tycho#940

- Use 0.0.0 instead of X.Y.Z.qualifier to replace the version with the "current build" version - that solves the problem that the tycho-versions-plugin cannot update these references to pom-first modules during a release build
- Upgrade to Tycho 2.7.3-SNAPSHOT to get a fix for eclipse-tycho/tycho#932
- Disable installing and deploying and even building the update site ZIP for the traditional update site. It is enough to have it as a folder atm.
- Sign the files in the traditional update site
- Auto-stage the traditional update site as part of the release process
- Better time format for the RC staging folder
…ite-for-every-release

* main:
  [NO JIRA] Set version to 3.4.0-SNAPSHOT
  [NO JIRA] Set version to 3.4.0-SNAPSHOT
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release uimaj-3.3.0
  [NO-JIRA] Add license header to script.
  [NO-JIRA] Added a little release helper script
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release uimaj-3.3.0
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [maven-release-plugin] prepare for next development iteration
  [maven-release-plugin] prepare release uimaj-3.3.0
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [maven-release-plugin] rollback the release of uimaj-3.3.0
  [maven-release-plugin] prepare release uimaj-3.3.0
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release
  [UIMA-6395] Apache UIMA Java SDK 3.3.0 release

% Conflicts:
%	uimaj-eclipse-update-site/pom.xml
- Update version to the version used on the main branch
- Update version in Eclipse metadata
@reckart reckart requested a review from pkluegl May 16, 2022 13:42
…ite-for-every-release

* main:
  [UIMA-6454] Update dependencies (UIMA Java SDK 3.3.1)
@reckart reckart merged commit 016e151 into main May 19, 2022
@reckart reckart deleted the refactoring/UIMA-6443-Fresh-Eclipse-update-site-for-every-release branch May 19, 2022 09:46
reckart added a commit that referenced this pull request Sep 23, 2024
…errides-in-Maven-plugin-modules

Issue #198: Remove version overrides in Maven plugin modules
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚙️ Refactoring Improvement for development or maintainability
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant