vaadin / vaadin-gradle-plugin

Gradle plugin for Vaadin 14 applications. Takes care of front-end build, helps to configure repositories and to create various project and file templates.
Apache License 2.0
31 stars 9 forks source link

Gradle7 support #119

Closed tonowie closed 3 years ago

tonowie commented 3 years ago

Is your feature request related to a problem? Please describe. When I tried to use the plugin with Gradle7.1.1 it crashed with following error

Could not determine the dependencies of task ':compileKotlin'.
> Could not resolve all dependencies for configuration ':kotlinCompilerClasspath'.
   > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'Vaadin addons(http://maven.vaadin.com/vaadin-addons)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.1.1/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

Describe the solution you'd like I'd like the plugin not to automatically force any extra repositories because we use Nexus on a project which serves as vaadin-addons proxy already. Perhaps add property which avoids the extra repo.

Describe alternatives you've considered Plugin can add the extra repo but add it over HTTPS or at least it could mark it as insecure to avoid the error

Additional context I have not done any extra testing yet and I do not know whether it will work after this repo thing is fixed. So perhaps there are more issues down the road.

tonowie commented 3 years ago

also here is one other deprecation which will come with Gradle8 so might be worth checking it out

Registering artifact transforms extending ArtifactTransform has been deprecated. This is scheduled to be removed in Gradle 8.0. Implement TransformAction instead. See https://docs.gradle.org/7.1.1/userguide/artifact_transforms.html for more details.
Using Gradle Vaadin Plugin 2.0.0.beta2

I replicate this using the V14+V7MPR repo https://gitlab.com/mvysny/vaadin7-14-mpr-gradle-demo.git after changing the Gradle version in gradle/wrapper/gradle-wrapper.properties Not sure where the repo http://maven.vaadin.com/vaadin-addons comes from though. I have not found it in the plugin or in the project... I checked Gradle6.9 and it works fine so perhaps it is just some minor stuff that needs to be done for Gradle7

tonowie commented 3 years ago

There are quite a few deprecation warnings after all... To get list of all deprecation warnings simply use Gradle 6.9 with the wrapper and run gradlew clean build --warning-mode all properties are not annotated, insecure repository is used and deprecated configurations are used (but that will be mainly the mpr project)

tonowie commented 3 years ago

turns out for Java project and Groovy DSL for build there is no major issue with Gradle 7 compatibility so closing the ticket