kennknowles commented on a change in pull request #13000:
URL: https://github.com/apache/beam/pull/13000#discussion_r503538426
##########
File path:
buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
##########
@@ -2063,8 +2066,13 @@ class BeamModulePlugin implements Plugin<Project> {
args '-c', ". ${project.ext.envdir}/bin/activate && cd
${copiedPyRoot} && scripts/run_tox.sh $tox_env $distTarBall '$posargs'"
}
}
- inputs.files project.pythonSdkDeps
- outputs.files project.fileTree(dir:
"${pythonRootDir}/target/.tox/${tox_env}/log/")
+ outputs.cacheIf { true }
+ inputs.files(project.pythonSdkDeps)
+ .withPropertyName('pythonSdkDeps')
+ .withPathSensitivity(PathSensitivity.RELATIVE)
+
+ outputs.dir("${project.buildDir}/srcs/sdks/python/")
Review comment:
Just to clarify the full path, it is marking everything under
`build/src/sdks/python` as output here. Am I wrong that `${project.buildDir}`
is the `build/` directory relative to the `build.gradle` file of the module?
Certainly everything under there is fine to be an output. But keeping outputs
from different tasks in totally different places is nice. Just a nice to have.
So `build/src/sdks/python` is the copy/pasted source while `build/reports/tox/`
would be the output from tox. But TBH I am just dropping in with generic
opinions. My very quick read of the build logic and comments was that
`build/src/sdks/python` existed primarily so that tox (and/or other tools)
would not dump files all over the original source tree. So if that is its
purpose it makes sense to let the tools put their stuff in their and call it
good.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]