Execute the `plugins` block in order to extract plugin requests Previously, we were extracting `PluginRequests` when compiling a build script, using AST transforms. This prevented any sort of dynamic behaviour within the plugins block, such as reading plugin versions from a properties file. This behaviour was by design, and the syntax of the plugins block was explicitly restricted to ensure the plugin requests were statically defined.
This restricted syntax has been the cause of much user angst, and the expected benefits of a truly imperative plugins block have not eventuated. Furthermore, the implementation of `plugins` in the Kotlin DSL does not add the same restrictions.
With this change, the `plugins` block is actually invoked to extract any plugin requests. While the restricted syntax remains (for now), this change opens up the possibility of supporting property replacement for version numbers and other dynamic behaviour.
One limitation of this change is that the line number of each plugin request is not captured correctly: the line number is always reportes as 0 for any request. Several tests are failing due to this limitation.