Skip to content

[FEATURE] Cross-building via Mill #540

@nightscape

Description

@nightscape

Is your feature request related to a problem? Please describe.
Currently, Deequ only gets published for a small subset of combinations of Scala version ✖️ Spark version.
People are running into issues, or trying to get their PRs with version changes in (which of course would hurt people using different version combinations):

Describe the solution you'd like
I'm the maintainer of spark-excel, a Spark library for reading and writing Excel files.
I'm using Mill to build the library against an extensive set of combinations of Spark and Scala versions.
The corresponding build definition currently has ~160 lines of code, which is less than half of Deequ's pom.xml.

Li Haoyi, the inventor of Mill has published a very interesting blog post on why he developed Mill.
From a user perspective, Mill is nice because

  • it has a very simple and familiar mental model (just traits, objects and defs with a special T class doing all the magic)
  • it allows writing custom tasks with a minimal amount of overhead
  • it compiles code faster than most other solutions
  • it has cross-building built in, not only for Scala versions, but along any dimension you want.
  • it is actively maintained

Would it be thinkable to give Mill a try for cross-building Deequ to a wider set of Scala and Spark versions?
If so, what constraints would have to be met?
I would be willing to create a PR for this if there's a realistic chance to get it merged.

Describe alternatives you've considered
The net.alchim31.maven scala-maven-plugin does not support cross-building directly. There are alternatives and extensions though, e.g.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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