unoplatform / uno.resizetizer

The home for Uno.Resizetizer, an image resizting tooling for Uno Platform apps
https://platform.uno
Other
15 stars 6 forks source link

Potential build incrementality issue #293

Open Youssef1313 opened 2 weeks ago

Youssef1313 commented 2 weeks ago

The target GenerateUnoSplashAndroid doesn't specify inputs and outputs, and it writes files to disk but doesn't do <FileWrites Include="..." />. This looks like a problem as clean may not delete such files, and also the target will be run on every build even if no changes are done. This will then cause other targets to also be run because new files are written, which may cascade to even run R8 and Csc unnecessarily which are expensive tasks to run on every build.

jeromelaban commented 2 weeks ago

Do you know which files are not in FileWrites? I thought we added them all.

Youssef1313 commented 2 weeks ago

Double checked, they are in FileWrites, my bad. However, the lack of Inputs / Outputs make the target run unnecessarily and significantly slowing down incremental builds

Youssef1313 commented 2 weeks ago

Uno core is using a very old version of resizetizer actually. I'll update it to confirm that this is still an issue, then will verify if #294 fixes it.

Youssef1313 commented 2 weeks ago

Updating to latest didn't help. However, #294 is helping.

With #294:

image

Without it was always executed, which makes sense because the target doesn't define any inputs.

dansiegel commented 2 weeks ago

I'm putting this one in the icebox. This is a known issue. This will need to be addressed as part of an overall overhaul of Resizetizer. There are number of paper cuts like this that will need to be addressed.

Youssef1313 commented 2 weeks ago

@dansiegel I think it should be a small fix like what I did in #294?