Conversation
5224cd2 to
4904c84
Compare
950fc6d to
41eed91
Compare
bb39565 to
2a21507
Compare
6233816 to
f858659
Compare
71db1d0 to
a2c371f
Compare
…ters Cherry-picked from SAP/ui5-fs@5651627 JIRA: CPOUI5FOUNDATION-1174
Cherry-picked from: SAP/ui5-fs@5651627 JIRA: CPOUI5FOUNDATION-1174
Cherry-picked from: SAP/ui5-builder@ef5a3b2 JIRA: CPOUI5FOUNDATION-1174
Cherry-picked from: SAP/ui5-project@82b20ee JIRA: CPOUI5FOUNDATION-1174
Prerequisite for versioning support Cherry-picked from: SAP/ui5-project@83b5c4f JIRA: CPOUI5FOUNDATION-1174
Cherry-picked from: SAP/ui5-project@cb4e858 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
…d library resources `+` Adjust FixtureTester(BuildServer.integration.js)
`+` Add cases for OmitFromBuildResult tagging `+` Add cases for components (copied "node_modules" folder from application.a) `+` Adjust tests for BuildContext.js to work with new logic
`+` Mark module test as incorrect with comment
7364b4b to
cf43f0c
Compare
…tual fixtures folders" This reverts commit 806ab4d.
… 'supportsDifferentialBuilds' For better consistency
…-task project types (e.g. modules) `+` Fix module test with now new assertions
´+´ style: Apply same line padding: (within a build stage: 1 empty line; between two build stages: 2 empty lines)
7da465c to
252b966
Compare
252b966 to
874a943
Compare
| const test2JS = await workspace.byPath(`/resources/${projectNamespace}/test2.js`); | ||
|
|
||
| const tag = taskUtil.getTag(testJS, taskUtil.STANDARD_TAGS.IsDebugVariant); | ||
| if (!test2JS && testJS) { |
There was a problem hiding this comment.
Why is this if necessary? Both bodies seem identical
There was a problem hiding this comment.
Yeah, my only motive behind this was to have two seperate logic blocks (one for each build) and to have it consistent with custom-task-0.js (for easier understanding). But I'll refactor it to only one.
| } else { | ||
| // For #3 Build (NEW behavior expected as in #1): | ||
| if (tag) { | ||
| console.log("Tag set by custom-task-1 is present in custom-task-0 now, as EXPECTED."); |
There was a problem hiding this comment.
This is not expected. A task must never see tags only set by later tasks
There was a problem hiding this comment.
There was a problem hiding this comment.
We need to make sure that tasks always behave the same, no matter whether other tasks are skipped (by using a valid cache) or not.
This means that a custom-task-0, which can't find a tag for resource test.js in the first build, must never find a tag for that resource in any other build.
Otherwise you could end up with different build results, depending on whether you build your project with or without cache. This must to be avoided.
There was a problem hiding this comment.
Got it now. That's definitely the right way.
I'll refactor the tests now.
`+` Fix logic for preceding tasks being able to read tags `+` Clean-up custom-task code
Implementation of RFC 0017 Incremental Build
This PR supersedes previous PoC: #1238
JIRA: CPOUI5FOUNDATION-1174