Extensions
-
And yet another one in testing
-
@gbevin said in Extensions:
@ethauvin do we want to not have any dependencies? It seems that when people install an extension, they'd want it to just be ready to go and pull down everything required to work.
I think most people want to use the version of the tool that works for their needs, not the version that we provide, and that we keep on having to update when new versions are out.
This is no different that people having to install the JUnit or TestNG dependencies for their project.
-
@ethauvin I think that a big appeal of Gradle and Maven is everything required to run all the project tasks is done automatically, this significantly reduces the efforts when working with a team or onboarding new developers. It also ensures that there are common versions across all the team members to ensure consistent and coherent behavior. Having a lot of extensions require manual installation of what's required to run them, defeats much of what makes them useful imho. Even if you rely on the command line API, I would still declare the required dependencies in the compile scope.
-
@gbevin said in Extensions:
@ethauvin I think that a big appeal of Gradle and Maven is everything required to run all the project tasks is done automatically, this significantly reduces the efforts when working with a team or onboarding new developers. It also ensures that there are common versions across all the team members to ensure consistent and coherent behavior. Having a lot of extensions require manual installation of what's required to run them, defeats much of what makes them useful imho. Even if you rely on the command line API, I would still declare the required dependencies in the compile scope.
I actually think that is one of the worst thing about Grade or Maven, having to deal with plugins that use antiquated libraries. It's a never ending battle, plugins depends on specific versions and all have to mach. Gradle build files are littered with dependency exclusion on most large projects. It's a nightmare to manage.
How would you feel if you couldn't specify which version of JUnit 5 or TestNG to use? Both Gradle and Maven requires you to do so. They are plugins that are used in the test scope, and like most of them do, they required some dependencies.
-
@ethauvin maybe extensions can declare which dependencies they rely upon, without setting a specific version number. When bld encounters that, it warns the developer that those dependencies are needed and that versions can be configured in a properties file? After that, it will just download those dependencies automatically without relying on a specific version from the extension.
-
@gbevin said in Extensions:
@ethauvin maybe extensions can declare which dependencies they rely upon, without setting a specific version number. When bld encounters that, it warns the developer that those dependencies are needed and that versions can be configured in a properties file? After that, it will just download those dependencies automatically without relying on a specific version from the extension.
That's a great idea. Like it a lot.
-
bld now supports Kotlin via a couple new extensions:
-
If you're using bld with Spring Boot you might like the following:
-
All the extensions have been updated for bld 2.1:
bld
ANTLR4 extensionbld
Archive extensionbld
Checkstyle extensionbld
Command Line Execution extensionbld
Generated Version extensionbld
JaCoCo Report extensionbld
Kotlin extensionbld
PIT Mutation Testing extensionbld
PMD extensionbld
Property File extensionbld
Spring Boot extensionbld
TestNG extensionbld
Tests Badge extension