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

Reply via email to