I mean is this golang or Python? In Python, you raise notimplementederror. On Aug 24, 2017 8:17 AM, "Thomas Kluyver" <tho...@kluyver.me.uk> wrote:
> Nathaniel seems to be busy with other things at the moment, so I hope he > won't mind me passing on this list of things he'd like to resolve with > the draft PEP. I'll quote his comments and put my responses inline. > > > - needs some sort of NotImplemented(Error) handling specified > > We've gone round return-value vs exception a few times, but I don't > think that debate is particularly heated, so it probably just needs > someone to say "this is what we're doing". I can be that someone if > needs be. But does anyone feel strongly about it? > > > - The out-of-tree build example (that makes an sdist and then builds > > it) seems like exactly the kind of implementation that Donald says he > > doesn't want to see? OTOH I think Nick said he wants to see a more > > elaborated specification of out-of-tree build strategies with this > > specifically as one of them. > > - Nick has suggested that the to-be-defined NotImplemented(Error) > > handling can be used by build_wheel to indicate that it can't do > > out-of-tree builds, so maybe the frontend should try an in-tree build > > instead. I don't know how to convert this into a real spec, though -- > > like in general, if I'm a frontend and I call `hook(*args, **kwargs)` > > and it says "can't do that", then how do I know what the problem is > > and what I should try instead? > > - What happens if prepare_build_metadata returns NotImplemented / > > raises NotImplementedError? > > - I don't understand how out-of-tree builds and prepare_build_metadata > > are supposed to interact. > > - Also, AFAICT the out-of-tree build feature has no motivation > > anymore. The only mentioned use case is to support incremental build > > features in automatic build pipelines like Travis, but there are a > > number of these build pipelines, and lots of existing build systems > > that support out-of-tree builds, and AFAICT no-one actually uses them > > together like this. (I think it's because most build systems' > > out-of-tree build features are designed on the assumption that there's > > a human running the show who will deal with any edge cases.) > > I believe the out-of-tree build option Nathaniel is referring to is the > build_directory parameter to build_wheel(). His proposed APIs remove > that parameter, and elsewhere in his email he describes that no-one > seems to want it: everyone thinks someone else wants it. > > By my understanding, the reasons for including the build_directory > parameter are: > > 1. Without an explicit build directory, the developers of pip are > concerned that build backends will modify the source tree and cause > issues which users report as bugs to pip. > 2. A frontend-controlled build directory could be used for caching > intermediate build artifacts. This was a secondary argument after we had > the idea, and we've never really fleshed out how we expect it to work. > There's also a concern that if the first round of frontends always use > an empty tempdir, backends will end up relying on that. I think this > second argument is a weak one unless we spend the time to figure out the > details. > > Do other people see the situation in a similar way? How might we move > forwards on this? > > > - needs some sort of conclusion to the srcdir-on-sys.path issue. > > While Nathaniel is in the minority regarding srcdir-on-sys.path, he > argues that most of us are assuming a default position without really > thinking through it, which is certainly true of me. I don't feel > strongly about this topic, but I do want to come to a conclusion. As > Nathaniel does feel strongly about it, does anyone object to either: > > A. Leaving the source dir off sys.path when loading the hooks, and > making a special backend which exposes hooks from the CWD. > B. Adding another key in the TOML file to control whether hooks can be > loaded from the source dir. > > I can live with either, but I prefer A, because it means fewer options > to describe in the spec. > > Thomas > _______________________________________________ > Distutils-SIG maillist - Distutils-SIG@python.org > https://mail.python.org/mailman/listinfo/distutils-sig >
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig