aafanasev / sekret

Kotlin compiler plugin to hide secret data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not working with Kotlin 1.5.0

mkopylec opened this issue · comments

Fields annotated with @Secret are not masked when using Kotlin 1.5.0.

Work in progress.

Any news here?
I would like to update to Kotlin 1.5 but this issue won't let me :)

Please try 0.1.1-RC1 version.

There is no such version. Have you published it to maven central?

I'm getting an error:

Caused by: groovy.lang.MissingPropertyException: Could not set unknown property 'maskNulls' for extension 'sekret' of type net.afanasev.sekret.gradle.SekretGradlePluginExtension

Yeah, maskNulls is not supported now. Please remove it from the plugin configuration in your Gradle file.

Why is it? Were there any technical limitations that you've removed this feature?
I would like this feature to still exist.

Oh, if it's enabled by default than I'm ok with that :)
I thought you have removed the feature and nulls will be masked.

Brought back the maskNulls config param in 0.1.1-RC2

Hi I'm getting the following error for these settings:

    kotlinVersion = '1.5.31'
    sekretVersion = '0.1.1-RC2'

    sourceCompatibility = '11'

    tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
        kotlinOptions {
            jvmTarget = '11'
        }
    }
Caused by: java.lang.IncompatibleClassChangeError: Expected non-static field my.package.MyClass.Companion

It works with Kotlin 1.4.32.

In another project I have the following error:

Caused by: org.gradle.api.tasks.TaskInstantiationException: Could not create task of type 'KotlinCompile'.
	at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:95)
	at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:82)
	at org.gradle.util.internal.GUtil.uncheckedCall(GUtil.java:454)
	at org.gradle.api.internal.AbstractTask.injectIntoNewInstance(AbstractTask.java:204)
	at org.gradle.api.internal.project.taskfactory.TaskFactory.create(TaskFactory.java:82)
	at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory.create(AnnotationProcessingTaskFactory.java:48)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.createTask(DefaultTaskContainer.java:322)
	at org.gradle.api.internal.tasks.DefaultTaskContainer.access$200(DefaultTaskContainer.java:76)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:697)
	at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.createDomainObject(DefaultTaskContainer.java:654)
	at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:941)
	... 177 more
Caused by: org.gradle.api.reflect.ObjectInstantiationException: Could not create an instance of type org.jetbrains.kotlin.gradle.tasks.KotlinJavaToolchainProvider.
	at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.doCreate(DependencyInjectingInstantiator.java:69)
	at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:55)
	at org.gradle.api.internal.model.DefaultObjectFactory.newInstance(DefaultObjectFactory.java:85)
	at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.<init>(Tasks.kt:775)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.<init>(Tasks.kt:397)
	at org.jetbrains.kotlin.gradle.tasks.KotlinCompile_Decorated.<init>(Unknown Source)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at org.gradle.internal.instantiation.generator.AsmBackedClassGenerator$InvokeConstructorStrategy.newInstance(AsmBackedClassGenerator.java:2070)
	at org.gradle.internal.instantiation.generator.AbstractClassGenerator$GeneratedClassImpl$GeneratedConstructorImpl.newInstance(AbstractClassGenerator.java:486)
	at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.doCreate(DependencyInjectingInstantiator.java:64)
	at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.newInstanceWithDisplayName(DependencyInjectingInstantiator.java:50)
	at org.gradle.api.internal.project.taskfactory.TaskFactory$1.call(TaskFactory.java:88)
	... 187 more
Caused by: org.gradle.internal.instantiation.ClassGenerationException: Could not generate a decorated class for type KotlinJavaToolchainProvider.
	at org.gradle.internal.instantiation.generator.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:242)
	at org.gradle.cache.internal.DefaultCrossBuildInMemoryCacheFactory$AbstractCrossBuildInMemoryCache.get(DefaultCrossBuildInMemoryCacheFactory.java:130)
	at org.gradle.internal.instantiation.generator.AbstractClassGenerator.generate(AbstractClassGenerator.java:167)
	at org.gradle.internal.instantiation.generator.AsmBackedClassGenerator.generate(AsmBackedClassGenerator.java:130)
	at org.gradle.internal.instantiation.generator.Jsr330ConstructorSelector.lambda$forType$0(Jsr330ConstructorSelector.java:56)
	at org.gradle.cache.Cache.lambda$get$0(Cache.java:31)
	at org.gradle.cache.internal.DefaultCrossBuildInMemoryCacheFactory$AbstractCrossBuildInMemoryCache.get(DefaultCrossBuildInMemoryCacheFactory.java:130)
	at org.gradle.cache.Cache.get(Cache.java:31)
	at org.gradle.internal.instantiation.generator.Jsr330ConstructorSelector.forType(Jsr330ConstructorSelector.java:53)
	at org.gradle.internal.instantiation.generator.Jsr330ConstructorSelector.forParams(Jsr330ConstructorSelector.java:48)
	at org.gradle.internal.instantiation.generator.DependencyInjectingInstantiator.doCreate(DependencyInjectingInstantiator.java:61)
	... 200 more
Caused by: java.lang.IllegalArgumentException: Cannot have abstract method KotlinJavaToolchain.getJdk().
	at org.gradle.internal.instantiation.generator.AbstractClassGenerator.assertNotAbstract(AbstractClassGenerator.java:367)
	at org.gradle.internal.instantiation.generator.AbstractClassGenerator.inspectType(AbstractClassGenerator.java:309)
	at org.gradle.internal.instantiation.generator.AbstractClassGenerator.generateUnderLock(AbstractClassGenerator.java:210)
	... 210 more

For the record, I use Gradle 7.2.

@mkopylec please try 0.1.1-RC3 version. At least, the 1st issue should be fixed.

For the record, I've tried 0.1.1-RC3 with Kotlin 1.6 and it still doesn't work. Probably worth updating the title of this Issue to reflect 1.6 too.

Never mind, I got it working now with 0.1.1-RC3. Forgot to upgrade the plugin version too. Thanks for fixing!

I confirm, the 0.1.1 version is working. Thanks!