Skip to content

build: align pom.xml with TFMC POM conventions - #24

Merged
ryanbarlow97 merged 1 commit into
mainfrom
build/pom-conventions
Oct 3, 2026
Merged

ryanbarlow97 merged 1 commit into
mainfrom
build/pom-conventions

Conversation

@ryanbarlow97

Copy link
Copy Markdown
Contributor

Summary

Brings pom.xml in line with Docs POM-CONVENTIONS.md. Archaeo was the last plugin POM not following them.

  • Four-space indentation, HTTPS Maven XSD location, goals on separate lines.
  • Top-level order: coordinates, metadata (name, new url), properties, dependencies, repositories, build, profiles. Repositories previously came before dependencies, and profiles came before build.
  • Properties: maven.compiler.release (21) first and project.build.sourceEncoding second. Removed the redundant maven.compiler.source and maven.compiler.target.
  • maven-compiler-plugin is now declared explicitly at the common TFMC version 3.14.1, first in the build plugins. Before this change Maven 3.9.11 used its implicit default, 3.13.0.
  • The dependency, repository, resource, plugin and execution lists keep their existing order. Versions, scopes, filtering and the pack-api-tests profile are unchanged.

Known deviation: coordinates

groupId com.nowko and artifactId archeology-plugin, along with <name>archeology-plugin</name>, are deliberately unchanged. Other repositories consume these coordinates: activity-tf/pom.xml and tlibs/tools/plugins.json. Moving to net.tfminecraft coordinates would need a coordinated migration across those repositories, so it is left for a separate change.

Checks

  • I compared the effective POM before and after the change with maven-help-plugin:3.5.2:effective-pom, offline, using Maven 3.9.11 and JDK 21. I ran the comparison twice: once with the default profiles and once with -Ppack-api-tests. In both runs the only differences were:
    • url added;
    • maven.compiler.source and maven.compiler.target removed;
    • maven-compiler-plugin changed from the implicit 3.13.0 to the explicit 3.14.1, and its entry moved in the effective plugin list. Its executions and configuration are the same.
  • mvn -o clean verify passed: 684 tests, 0 failures, 0 errors, 0 skipped. The build compiled with compiler:3.14.1, and the JaCoCo report and archaeo-main-SNAPSHOT.jar were produced as before.
  • I did not run the pack-api-tests profile, because its private pack-plugin jars are not available locally. Its effective POM is unchanged apart from the differences listed above.

🤖 Generated with Claude Code

Reformat to four-space indentation with the HTTPS Maven XSD, order the
top-level sections as Docs POM-CONVENTIONS.md describes, add the project
URL, keep maven.compiler.release as the single Java target and declare
maven-compiler-plugin 3.14.1 explicitly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 581c6c7a-d1d2-4fd2-84a8-8b59209caa76
📥 Commits

Reviewing files that changed from the base of the PR and between ad40ad2 and 04bcb96.

📒 Files selected for processing (1)
  • pom.xml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the project’s build and test configuration, retaining Java 21 and existing test settings while adding coverage reporting. These changes affect how the project is built and validated; they do not change application features or user-facing behaviour. No new capabilities or changes to the application experience are included in this release.

Walkthrough

The POM reorganises project metadata and dependencies, defines resource handling, configures compiler and test plugins, and retains the pack-api-tests profile. Java release 21 remains configured.

Changes

Maven build configuration

Layer / File(s) Summary
Project and resource setup
pom.xml
The POM reorders metadata and properties, places dependencies before the PaperMC repository, and defines Java source and resource handling.
Compile and test configuration
pom.xml
The build configures the Maven Compiler Plugin, Surefire, and JaCoCo. The pack-api-tests profile retains its Surefire include patterns and four external classpath entries.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: nowkoo

Merge Risk: ⚪ Minimal · up to 04bcb

This change reorganizes the Maven build configuration and keeps the Java 21 target. The reported full verify run passed, so merge risk is minimal. The opt-in pack-api-tests profile was not run locally.

Architecture Summary

Architecture risk: 🔵 Low · up to 04bcb

The change affects 1 system.

Changed systems: pom.xml

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — pom.xml (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in pom.xml: The project metadata and properties are reformatted and reordered; the schema URL changes to HTTPS, a project URL is added, and the explicit compiler source and target properties are removed while release remains 21.
  • observed — Modified behavior in pom.xml: The test and provided dependencies remain the same, but the dependency block now precedes the PaperMC repository declaration.
  • observed — Modified behavior in pom.xml: The build now contains the final name, Java source directory, and resource rules: plugin.yml is excluded from unfiltered resources and included in filtered resources.
  • observed — Modified behavior in pom.xml: The build adds the Maven Compiler Plugin at version 3.14.1 and retains Surefire 3.5.4 with its JUnit 4 provider and JaCoCo 0.8.15 executions for agent preparation and verify-phase reporting.
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@ryanbarlow97
ryanbarlow97 merged commit 5ae0cfb into main Oct 3, 2026
2 checks passed
@ryanbarlow97
ryanbarlow97 deleted the build/pom-conventions branch October 3, 2026 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant