sbt / sbt-avro

sbt plugin for compiling Avro schemas, similar to sbt-protobuf
Other
33 stars 17 forks source link

Enable recompilation when no avro schemas are in project #172

Closed kellen closed 10 months ago

kellen commented 11 months ago

Currently a project without any avro schemas, but with a avroSpecificRecords configuration will not recompile those schemas.

If avroSpecificRecords contains records, this would always recompile those schemas.

RustedBones commented 10 months ago

I don't see why we need this:

I added a test in https://github.com/sbt/sbt-avro/pull/173 to illustrate this. The sbt output after the test step is

[info] [info] 9 examples, 0 failure, 0 error
[info] [info] Passed: Total 9, Failed 0, Errors 0, Passed 9
[info] [success] Total time: 8 s, completed Dec 4, 2023, 11:55:37 AM
[info] [info] Avro compiler 1.11.3 using stringType=String
[info] [info] Compiling Avro schemas class org.apache.avro.specific.TestRecordWithLogicalTypes
[info] [info] Compiling Avro IDL /tmp/sbt_5928dcbf/settings/src/main/avro_source/avdl.avdl
[info] [info] Compiling Avro schemas /tmp/sbt_5928dcbf/settings/src/main/avro_source/avsc.avsc
[info] [info] Compiling Avro protocol /tmp/sbt_5928dcbf/settings/src/main/avro_source/avpr.avpr
[info] [success] Total time: 0 s, completed Dec 4, 2023, 11:55:37 AM
[info] [success] Total time: 0 s, completed Dec 4, 2023, 11:55:37 AM
[info] [info] Avro compiler 1.11.3 using stringType=String
[info] [info] Compiling Avro schemas class org.apache.avro.specific.TestRecordWithLogicalTypes
[info] [info] Compiling Avro IDL /tmp/sbt_5928dcbf/settings/src/main/avro_source/avdl.avdl
[info] [info] Compiling Avro schemas /tmp/sbt_5928dcbf/settings/src/main/avro_source/avsc.avsc
[info] [info] Compiling Avro protocol /tmp/sbt_5928dcbf/settings/src/main/avro_source/avpr.avpr
[info] [info] compiling 6 Java sources to /tmp/sbt_5928dcbf/settings/target/scala-2.13/classes ...
[info] [info] done compiling
[info] [success] Total time: 1 s, completed Dec 4, 2023, 11:55:38 AM

We see the record being re-compiled.