I like multiple source roots as well, but since Netbeans decided at one point to just be a UI for the chosen build system, it also means that the build system has to support multiple source roots. Gradle does that in a way, but it's far from perfect and involves manually editing the build file - you cannot do it with the “build system UI” aka Netbeans. However, you can do it well enough to make it work for large and small projects and if it doesn't work for your project, then maybe your project should be refactored. I'm also for imperative build files, because declarative approaches are too complex for the human brain and should never be the default. They should only be employed if they work demonstrably better in a given use case than imperative approaches (in some exceptional cases they may even be easier to understand for the human brain). It is again possible, if not ideal, to use Gradle for imperative approaches. You can write imperative code in either Groovy or Kotlin. These are first-class programming languages, so do whatever you want. However, if you think a build file should not be executable code, but only configuration for an external code executor, then Maven might be the right build tool for you. If you want to write your own build tool and use it in Netbeans, you have to write a plug-in to integrate it. Riding on the back of another plugin supporting another build system and sneaking your own in there, doesn't make sense. You'll never get your fixes or changes approved, because that other build system is probably not interested in supporting piggy-backers.
-- iSYS Software GmbH Ulrich Mayring | Full Stack Developer Technology Lab / R&D Tel: +49 (0) 89 46 23 28-0 | Fax +49 (0) 89 46 23 28-14 email: [email protected] Grillparzerstraße 10 | D-81675 München www.isys.de Sitz der Gesellschaft: München | HRB 111760 Geschäftsführer: Stefan Fischer und Max Haller
