Conversation
Documented the complete code flow for product binary generation in Tycho, explaining where and how zip files are created. This includes: - Entry point (PublishProductMojo) - Tycho implementation (PublishProductToolImpl, ProductBinariesWriteSession) - P2 integration (ProductAction, ApplicationLauncherAction, EquinoxExecutableAction) - Artifact storage (ModuleArtifactRepository) - Maven attachment (AttachPublishedArtifactsMojo) Also included key class references and explanation of why binaries are zip files. Co-authored-by: laeubi <1331477+laeubi@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add implementation details section to SignProducts.md
Document implementation details of product binary generation in SignProducts.md
Nov 12, 2025
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation and see the Github Action logs for details |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The SignProducts.md documentation explained how to sign products but not why the process works. Added implementation details section documenting the code flow through Tycho and Eclipse P2 that produces the binary zip files.
Changes
New "Implementation Details" section documenting the complete code flow:
PublishProductMojo→PublishProductToolImpl→ P2'sProductAction→EquinoxExecutableAction→ModuleArtifactRepository→AttachPublishedArtifactsMojoAbstractPublisherAction.publishArtifact()usingFileUtils.zip())ProductBinariesWriteSessiondetermines Maven classifiers (e.g.,product.executable.win32.win32.x86_64)target/withp2artifacts.xmlandlocal-artifacts.propertiesKey classes reference for both Tycho and Eclipse P2 repositories
Technical rationale for zip format (multiple files per platform, P2 artifact model, Maven repository compatibility)
Extension points that enable the signing workflow (phase reordering, classifier extraction, filesystem access, repackaging)
Helps developers understand why Step 2 extracts zip files and why Step 4 repackages them—the binaries flow through P2's publisher as temporary zips before being stored as Maven artifacts.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.