gradle-native icon indicating copy to clipboard operation
gradle-native copied to clipboard

Detect changes to PBXShellScriptBuildPhase during target build up-to-date checking

Open lacasseio opened this issue 1 year ago • 0 comments

As a user building Xcode targets using Gradle, I want the Gradle tasks representing the Xcode targets using PBXShellScriptBuildPhase to be out-of-date when its build specification change during an incremental build so I can have accurate feedback.

### Open Questions
- [ ] Does `shellPath` support Xcode macros?
- [ ] Should we snapshot `shellPath` as an input file?

Acceptance Criteria

  • [x] Changes to the build phase name don't cause the task to be out-of-date. The name of a build phase is only an organizational tool and does not impact the build itself.
  • [x] Any changes to inputPaths
    • [x] Adding a new input path
    • [x] Removing an existing input path
    • [x] Changing the resolved path (any change resulting in the same resolved path should be ignored)
    • [x] Changing the input file (or input directory)
  • [ ] Any changes to outputPaths
    • [ ] Adding a new output path
    • [ ] Removing an existing output path
    • [ ] Changing the resolved path (any change resulting in the same resolved path should be ignored)
    • [ ] Changing the output file (or output directory)
  • [x] Any changes to shellPath (path only)
  • [x] Any changes to shellScript (content only)
  • [ ] Changes to showEnvVarsInLog should not cause the task to be out-of-date.
  • [ ] Ignore alwaysOutOfDate (see https://github.com/nokeedev/gradle-native/issues/747)
  • [ ] Using inputFileListPaths causes the task to always be out-of-date
  • [ ] Using outputFileListPaths causes the task to always be out-of-date

lacasseio avatar Feb 27 '23 13:02 lacasseio