I am building an enterprise level Gradle system. I have to support about 21 different languages with this thing ranging from Java to COBOL and 3 languages we created. I have been working on the code for several weeks now and i have realized that i have probably spent 1/2 to 2/3 of my time on two things over the past few weeks. That is creating and manipulating source sets and trying to read in and out of the model.
First source sets. How do i create sourcesets without the java plugin? I have gone as far as copy the code for the CPP plugin and rename it to what i need, and i dump the source sets, nothing. The reason this is critical is we are going to have about 50 or 60 different types of projects. Because of this, i built in an init system. When you create the projects in a multi-project and apply the appropriate plugins, you can then run the create task and it will scaffold the project for you. One of the issues why the WAR plugin is driving me crazy, the folder for the EAR is in the source set, perfectly fine, but the source folder for the WAR isn’t, its driving me nuts. but back to the issue at hand. I need to create source sets some with folders, some without folders, some with resources, some without, all grouped together into a source set that doesn’t have Java involved. I need it to work exactly the way it does in java, except not include java or any of the java tasks. I can’t have all the java tasks, i can’t have any of that, i just want the freaking source set so i can build out my own language support.