cuba-platform / cuba-gradle-plugin

Gradle plugin for building CUBA platform and applications
https://www.cuba-platform.com
Apache License 2.0
15 stars 18 forks source link

Gradle sync fails if repository with HttpHeaderCredentials declared in build script #155

Closed Gasloff closed 3 years ago

Gasloff commented 3 years ago

Environment

CUBA Platform version: 7.2.11 CUBA Studio plugin version: 14.3-193 IntelliJ version: IntelliJ IDEA 2020.1.4 (Ultimate Edition)

See https://www.cuba-platform.ru/discuss/t/podklyuchenie-privatnogo-repozitoriya-gitlab-v-build-gradle/5626 (Russian)

Description of the bug or enhancement

Add the following repository to the build.gradle

        maven {
            url 'https://gitlab.com/api/v4/projects/1234567/packages/maven'
            name 'GitLab'
            credentials(HttpHeaderCredentials) {
                name = 'Deploy-Token'
                value = 'JjksdviouhUHysvI65'
            }
            authentication {
                header(HttpHeaderAuthentication)
            }
        }

Gradle sync fails with error: A problem occurred evaluating root project 'testproject'.

Failed to apply plugin [id 'cuba'] Can not use getCredentials() method when not using PasswordCredentials; please use getCredentials(Class)

... Caused by: java.lang.IllegalStateException: Can not use getCredentials() method when not using PasswordCredentials; please use getCredentials(Class) at org.gradle.api.internal.artifacts.repositories.AuthenticationSupporter.getCredentials(AuthenticationSupporter.java:57) at org.gradle.api.internal.artifacts.repositories.AbstractAuthenticationSupportedRepository.getCredentials(AbstractAuthenticationSupportedRepository.java:48) at org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository_Decorated.getCredentials(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor22.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.getProperty(BeanDynamicObject.java:228) at org.gradle.internal.metaobject.BeanDynamicObject.tryGetProperty(BeanDynamicObject.java:171) at org.gradle.internal.metaobject.CompositeDynamicObject.tryGetProperty(CompositeDynamicObject.java:55) at org.gradle.internal.metaobject.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:59) at org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository_Decorated.getProperty(Unknown Source) at CubaPlugin.copyScriptRepositories(CubaPlugin.groovy:147) at jdk.internal.reflect.GeneratedMethodAccessor161.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at CubaPlugin.apply(CubaPlugin.groovy:88) at CubaPlugin.apply(CubaPlugin.groovy) at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43) at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51) at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:181) at org.gradle.api.internal.plugins.DefaultPluginManager.access$300(DefaultPluginManager.java:51) at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:276) at ...

plakhov commented 3 years ago

For QA; Please check that adding HttpHeaderCredentials repository work correctly