Skip to content

Creation of shaded dataflow-nullaway artifact is broken #7398

@msridhar

Description

@msridhar

When I run ./gradlew publishToMavenLocal, a jar file ~/.m2/repository/org/checkerframework/dataflow-nullaway/3.52.1-SNAPSHOT/dataflow-nullaway-3.52.1-SNAPSHOT.jar is created. But when I list the files in that jar they are incorrect:

$ jar tf dataflow-nullaway-3.52.1-SNAPSHOT.jar | head -15
META-INF/MANIFEST.MF
META-INF/LICENSE.txt
MANIFEST.MF
org/checkerframework/shaded/dataflow/analysis/AbstractAnalysis$Worklist$BackwardDfoComparator.class
org/checkerframework/shaded/dataflow/analysis/AbstractAnalysis$Worklist$ForwardDfoComparator.class
org/checkerframework/shaded/dataflow/analysis/AbstractAnalysis$Worklist.class
org/checkerframework/shaded/dataflow/analysis/AbstractAnalysis.class
org/checkerframework/shaded/dataflow/analysis/AbstractValue.class
org/checkerframework/shaded/dataflow/analysis/Analysis$BeforeOrAfter.class
org/checkerframework/shaded/dataflow/analysis/Analysis$Direction.class
org/checkerframework/shaded/dataflow/analysis/Analysis.class
org/checkerframework/shaded/dataflow/analysis/AnalysisResult$1.class
org/checkerframework/shaded/dataflow/analysis/AnalysisResult.class
org/checkerframework/shaded/dataflow/analysis/BackwardAnalysis.class
org/checkerframework/shaded/dataflow/analysis/BackwardAnalysisImpl$1.class

The classes are under org/checkerframework/shaded when they should be under org/checkerframework/nullaway. NullAway is currently using version 3.49.2 so this must have broken sometime after that.

I tried understanding better what is going on by building the jar:

$ ./gradlew clean :dataflow:dataflownullawayJar
[succeeds]
$ ls dataflow/build/shadow/dataflownullaway/
dataflow-errorprone-3.52.1-SNAPSHOT.jar

The jar file has the wrong name, but when I check its contents they are as expected (classes under org/checkerframework/nullaway). This seems to be some issue with build configuration and maybe files getting overwritten? But I don't quite understand it. Unfortunately, I'm blocked on testing out changes like #7397 within the context of NullAway until this gets fixed.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions