Skip to content

Conversation

@RandomByte
Copy link
Member

Implementation of RFC 0017 Incremental Build

This PR supersedes previous PoC: #1238

JIRA: CPOUI5FOUNDATION-1174

@RandomByte RandomByte marked this pull request as draft January 7, 2026 12:28
@coveralls
Copy link

coveralls commented Jan 7, 2026

Coverage Status

coverage: 99.566% (+4.9%) from 94.658%
when pulling b727ebc on feat/incremental-build-4
into cb29ec1 on main.

@RandomByte RandomByte force-pushed the feat/incremental-build-4 branch 2 times, most recently from dcc263b to 3941bd1 Compare January 7, 2026 15:25
RandomByte and others added 25 commits January 8, 2026 23:39
Cherry-picked from: SAP/ui5-fs@5651627
JIRA: CPOUI5FOUNDATION-1174
Cherry-picked from: SAP/ui5-builder@ef5a3b2
JIRA: CPOUI5FOUNDATION-1174
Prerequisite for versioning support

Cherry-picked from: SAP/ui5-project@83b5c4f
JIRA: CPOUI5FOUNDATION-1174
Cherry-picked from: SAP/ui5-cli@d29ead8
JIRA: CPOUI5FOUNDATION-1174
* Improve handling for concurrent resource access and modifications,
  especially when buffering streams.
* Deprecate getStatInfo in favor of dedicated getSize, isDirectory,
getLastModified methods.
* Deprecate synchronous getStream in favor of getStreamAsync and
  modifyStream, allowing for atomic modification of resource content
* Generate Resource hash using ssri
RandomByte and others added 25 commits January 8, 2026 23:39
refactor(project): Project refactoring

refactor(project): Cleanup

refactor(project): Fix missing invalidation of tasks on stage replace

refactor(project): Stages always contain a writer

refactor(project): Refactor serialization

refactor(project): Cleanup

refactor(project): Refactor project stages

A stage now either has a single writer or a single reader (from cache)

refactor(project): Rename MerkleTree => HashTree

refactor(project): Cleanup

refactor(project): Improve HashTree resource updates

refactor(project): Add resource metadata to HashTree

refactor(project): Use Resource instances in HashTree directly

refactor(project): Update HashTree usage

refactor(project): Refactor

refactor(project): Add upsert to HashTree

refactor(project): Refactor result stage cache

refactor(project): Remove result stage cache

refactor(project): Cleanup

refactor(project): Update JSDoc

refactor(project): Update JSDoc

refactor(project): Split HashTree and TreeRegistry tests

refactor(project): Add tests

refactor(project): Add strict resource comparison

refactor(project): Optimize shared tree state

refactor(project): Re-add result stage cache

test(project): Add cache tests

refactor(project): Cleanup
@RandomByte RandomByte force-pushed the feat/incremental-build-4 branch from 5224cd2 to 4904c84 Compare January 9, 2026 09:22
RandomByte and others added 4 commits January 9, 2026 10:40
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 this pull request may close these issues.

4 participants