Exec task with declared inputs and outputs never up-to-date in gradle 3.0

No, I don’t think that’s it.

With -i turned on it shows:

Value of input property 'environment' has changed for task...

I did what suggested, didn’t work, but hopefully I got it right? The withPropertyName seems magical in this context…

task execBug(type: Exec) {
    commandLine 'npm', 'install'
    inputs.files 'package.json' withPropertyName 'inputFiles'
    outputs.dir 'node_modules' withPropertyName 'outputDir'
}

Running with -d, I can see each time there are two changed env vars:
APP_NAME_SOMENUMBER=Gradle
APP_ICON_SOMENUMBER=some/path/to/gradle.icns