I was looking at the code and I saw you move from ...
# declarative-gradle
g
I was looking at the code and I saw you move from an extension declaration
Copy code
var javaLibrary = project.getExtensions().create("javaLibrary", JavaLibrary.class);
to something like this
Copy code
@SoftwareType(name = "javaLibrary", modelPublicType = JavaLibrary.class)
    abstract public JavaLibrary getLibrary();
am I right? What will generate the corresponding DSL underneath? The
SoftwareType
annotation?
p
Yes. The static nature of the declaration will also help us provide better tooling without actually running the configuration of projects.
👍 1
❤️ 1
a
It would be an absolutely killer feature, I really hope that JB is on board with it and will work with you on it 🤞 I'm only curious, would it be possible to find all plugins applied to the project without initial configuration, so IDE could immediately make build files editable with code completion
p
Good question, it's part of our design using "Software Types" that define the set of applied plugins. Software Types are known after settings is evaluated so we should be able to provide the IDE with everything it needs for content-assist and more at that stage, including in the face of errors in project scripts configuration.
👍 1