I see a lot of build.gradle configs with this setting:
compile group: 'org.jenkins-ci.main', name: 'jenkins-core', version: '+', ext: 'jar'
what is ext: 'jar' do?
ext is DefaultExtraPropertiesExtension but I can't find docs for what "jar" is.
If I take off the ext: jar in this example I get an error for what looks like a transitive dependency:
Could not find org.connectbot.jbcrypt:jbcrypt:1.0.0.
Is "jar" downloading a precompiled uber jar or something instead of a proper Maven package? Why is it there seems to be ZERO documentation for this- maybe I'm not looking in the right place?
Edit
I found an explanation here:
NOTE 2: The ext: 'jar' is VERY important to ensure that jar files, instead of hpi/jpi files, are being downloaded and understood by IntellJ. Without that ext option specified, IntellJ won’t find JAR files nested in hpi/jpi files which is the default binaries for Jenkins plugins.
But I'm still confused what's happening. Is the argument "jar" being passed to the dependency and these Jenkins dependencies are aware of this "jar" argument? So jar isn't a standard Gradle dep thing, it's specific to these Jenkins deps?