Skip to content

Build: per-module build.sbt files duplicate organization, version, and scalaVersion #4446

@bobbai00

Description

@bobbai00

What happened?

Every Texera build.sbt locally redeclares three build-level settings:

organization := "org.apache"
version := "1.0.0"
scalaVersion := "2.13.18"

This is duplicated across the root build.sbt and the 12 per-module build.sbt files. Three issues follow from that:

  1. Wrong groupId. org.apache is the namespace reserved for the Apache Software Foundation itself. Every Apache TLP uses org.apache.<project>. Texera should be org.apache.texera.
  2. Stale per-module version. Each module ships as 1.0.0 while the root aggregator advertises 1.1.0-incubating. The module jars should carry the real project version.
  3. Duplication cost. A Scala upgrade today requires 12 identical edits; same for the project version. A single canonical declaration would avoid drift.

How to reproduce?

  1. Run sbt 'AccessControlService/dist'.
  2. Inspect access-control-service/target/universal/access-control-service-*.zip; jars inside lib/ are named org.apache.<artifact>-1.0.0.jar.
  3. Expected: org.apache.texera.<artifact>-1.1.0-incubating.jar.

Version

1.1.0-incubating (Pre-release/Master)

Commit Hash (Optional)

ef66364

Proposed fix

Lift all three settings to ThisBuild in the root build.sbt and drop the per-module duplicates:

ThisBuild / organization := "org.apache.texera"
ThisBuild / version      := "1.1.0-incubating"
ThisBuild / scalaVersion := "2.13.18"

Per-module overrides remain possible when a module genuinely needs a different value.

Was this authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Opus 4.7)

Metadata

Metadata

Assignees

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