-
Notifications
You must be signed in to change notification settings - Fork 76
[RFC] 0011 Reuse Build Results #612
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
Draft
RandomByte
wants to merge
1
commit into
main
Choose a base branch
from
rfc-reuse-build-results
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
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
30710b3 to
f03c5b1
Compare
RandomByte
added a commit
to SAP/ui5-project
that referenced
this pull request
Jun 13, 2022
* Replace the JSON-object based dependency tree handling with a graph
representation
* Projects are now represented by classes with documented APIs
* Projects can be accessed by extensions defining specVersion >=2.7
* Speed up resolution of package.json dependencies
* Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
* ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
manifest file in the target directory that allows reuse of the
build result of library and theme-library projects in other project
builds (RFC0011)
This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.
This is a nicer version of
#394
Implements RFC0009: UI5/cli#501
Implements RFC0011: UI5/cli#612
BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
* In case a legacy specification version is detected, an automatic,
transparent migration is attempted.
* Build:
* The "dev" build mode has been removed
* The task "generateVersionInfo" is no longer executed for
application projects by default. You may enable it again using the
includedTasks parameter
RandomByte
added a commit
to SAP/ui5-project
that referenced
this pull request
Jun 13, 2022
* Replace the JSON-object based dependency tree handling with a graph
representation
* Projects are now represented by classes with documented APIs
* Projects can be accessed by extensions defining specVersion >=2.7
* Speed up resolution of package.json dependencies
* Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
* ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
manifest file in the target directory that allows reuse of the
build result of library and theme-library projects in other project
builds (RFC0011)
This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.
This is a nicer version of
#394
Implements RFC0009: UI5/cli#501
Implements RFC0011: UI5/cli#612
BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
* In case a legacy specification version is detected, an automatic,
transparent migration is attempted.
* Build:
* The "dev" build mode has been removed
* The task "generateVersionInfo" is no longer executed for
application projects by default. You may enable it again using the
includedTasks parameter
RandomByte
added a commit
to SAP/ui5-project
that referenced
this pull request
Jun 13, 2022
* Replace the JSON-object based dependency tree handling with a graph
representation
* Projects are now represented by classes with documented APIs
* Projects can be accessed by extensions defining specVersion >=2.7
* Speed up resolution of package.json dependencies
* Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
* ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
manifest file in the target directory that allows reuse of the
build result of library and theme-library projects in other project
builds (RFC0011)
This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.
This is a nicer version of
#394
Implements RFC0009: UI5/cli#501
Implements RFC0011: UI5/cli#612
BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
* In case a legacy specification version is detected, an automatic,
transparent migration is attempted.
* Build:
* The "dev" build mode has been removed
* The task "generateVersionInfo" is no longer executed for
application projects by default. You may enable it again using the
includedTasks parameter
757449f to
6c8c8a5
Compare
6c8c8a5 to
aeb2047
Compare
aeb2047 to
717eada
Compare
d3xter666
pushed a commit
that referenced
this pull request
Sep 24, 2025
* Replace the JSON-object based dependency tree handling with a graph
representation
* Projects are now represented by classes with documented APIs
* Projects can be accessed by extensions defining specVersion >=2.7
* Speed up resolution of package.json dependencies
* Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
* ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
manifest file in the target directory that allows reuse of the
build result of library and theme-library projects in other project
builds (RFC0011)
This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.
This is a nicer version of
SAP/ui5-project#394
Implements RFC0009: #501
Implements RFC0011: #612
BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
* In case a legacy specification version is detected, an automatic,
transparent migration is attempted.
* Build:
* The "dev" build mode has been removed
* The task "generateVersionInfo" is no longer executed for
application projects by default. You may enable it again using the
includedTasks parameter
d3xter666
added a commit
that referenced
this pull request
Sep 24, 2025
…#612) If a visited module did not resolve to any specification (project or extensions), try recreating the module when visiting it again from a different parent. Resolves #807 This is an alternative to SAP/ui5-project#611 This change might have a greater impact on performance since er might recreate modules that are not relevant to UI5 Tooling more than once if they are listed multiple times in the dependency tree. Before this change, such modules where only visited once. --------- Co-authored-by: Yavor Ivanov <[email protected]>
d3xter666
pushed a commit
that referenced
this pull request
Sep 25, 2025
* Replace the JSON-object based dependency tree handling with a graph
representation
* Projects are now represented by classes with documented APIs
* Projects can be accessed by extensions defining specVersion >=2.7
* Speed up resolution of package.json dependencies
* Make "ui5.dependencies" package.json configuration obsolete
* Move build execution from ui5-builder to ui5-project
* ui5-builder scope reduced top provides task implementations only
* Build: Determine automatically whether a project-build requires
dependencies to be built and build them
* Build: Add new option 'createBuildManifest'. This will create a
manifest file in the target directory that allows reuse of the
build result of library and theme-library projects in other project
builds (RFC0011)
This PR will need additional follow-up to add more test cases,
cleanup JSDoc and possibly add more features described in the RFCs.
This is a nicer version of
SAP/ui5-project#394
Implements RFC0009: #501
Implements RFC0011: #612
BREAKING CHANGE:
* normalizer and projectTree APIs have been removed. Use
generateProjectGraph instead
* Going forward only specification versions 2.0 and higher are supported
* In case a legacy specification version is detected, an automatic,
transparent migration is attempted.
* Build:
* The "dev" build mode has been removed
* The task "generateVersionInfo" is no longer executed for
application projects by default. You may enable it again using the
includedTasks parameter
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.
Read it here: [RFC] 0011 Reuse Build Results
PoC based on [RFC] 0009 UI5 Project Refactoring: SAP/ui5-project#394Most of this got implemented with SAP/ui5-project#457
BLI: CPOUI5FOUNDATION-470