Skip to content

[BUG] neither lombok.onX.flagUsage nor lombok.experimental.flagUsage works with onX #2848

Closed
@mr-july

Description

@mr-july

Describe the bug
Neither lombok.onX.flagUsage = ERROR nor lombok.experimental.flagUsage = ERROR works with onConstructor, onMethod and onParam.

To Reproduce
Create simple gradle project.

// build.gradle
plugins {
    id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.20'
    annotationProcessor 'org.projectlombok:lombok:1.18.20'

    implementation group: 'javax.inject', name: 'javax.inject', version: '1'
    implementation group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'
    implementation group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
}
# lombok.config
lombok.onX.flagUsage = ERROR
lombok.experimental.flagUsage = ERROR
// OnXExample.java
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;

import javax.inject.Inject;
import javax.persistence.Id;
import javax.persistence.Column;
import javax.validation.constraints.Max;

@AllArgsConstructor(onConstructor=@__(@Inject))
public class OnXExample {
  @Getter(onMethod_={@Id, @Column(name="unique-id")}) //JDK8
  @Setter(onParam_=@Max(10000)) //JDK8
  private long unid;
}

Then execute

./gradlew jar

The compilation is successful. :-(

Expected behavior
Compilation error must occur, because the onConstructor, onMethod and onParam annotations must produce an error according to lombok.onX.flagUsage and lombok.experimental.flagUsage parameters in lombok configuration.

Version info:

  • Lombok 1.18.20
  • Platforms: javac 15.0.2, javac 11.0.11, javac 1.8.0_281

Additional context
Arch Linux x86_64

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions