Skip to content

Add shared Eclipse JDT and m2e settings across all modules#518

Merged
david-waltermire merged 1 commit intodevelopfrom
chore/add-eclipse-settings
Dec 7, 2025
Merged

Add shared Eclipse JDT and m2e settings across all modules#518
david-waltermire merged 1 commit intodevelopfrom
chore/add-eclipse-settings

Conversation

@david-waltermire
Copy link
Contributor

@david-waltermire david-waltermire commented Dec 7, 2025

Summary

  • Add portable Eclipse settings files to all modules for consistent IDE configuration
  • Update .gitignore to selectively allow specific Eclipse prefs files
  • Includes JDT compiler/formatting settings, null analysis, and m2e Maven integration

Files Added

Three settings files per module (8 modules × 3 files = 24 files):

  • org.eclipse.jdt.core.prefs - compiler compliance, null analysis, code formatting
  • org.eclipse.jdt.ui.prefs - import organization, cleanup actions
  • org.eclipse.m2e.core.prefs - Maven workspace integration

Not Included

org.eclipse.core.resources.prefs is excluded because it contains module-specific generated source paths (target/generated-sources/*) that vary per module.

Test plan

  • Verify Eclipse imports project with correct settings
  • Verify null analysis warnings appear correctly
  • Verify formatter settings apply consistently

Summary by CodeRabbit

  • Chores
    • Added standardized IDE formatter, cleanup and Maven workspace preferences across multiple modules to unify coding style and tooling behavior.
    • Updated ignore rules to selectively preserve specific IDE preference files while continuing to exclude other IDE configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 7, 2025

📝 Walkthrough

Walkthrough

Replaced blanket .settings ignoring with selective .gitignore rules and added per-module Eclipse preference files (org.eclipse.jdt.core.prefs, org.eclipse.jdt.ui.prefs, org.eclipse.m2e.core.prefs) to standardize Java compiler, formatter, cleanup, and m2e settings across modules.

Changes

Cohort / File(s) Summary
Gitignore Rule Update
\.gitignore
Stop ignoring whole .settings directories; ignore their contents but explicitly re-include org.eclipse.jdt.core.prefs, org.eclipse.jdt.ui.prefs, and org.eclipse.m2e.core.prefs.
Eclipse JDT Core Preferences
cli-processor/.settings/org.eclipse.jdt.core.prefs, core/.settings/org.eclipse.jdt.core.prefs, databind-metaschema/.settings/org.eclipse.jdt.core.prefs, databind/.settings/org.eclipse.jdt.core.prefs, metaschema-cli/.settings/org.eclipse.jdt.core.prefs, metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs, metaschema-testing/.settings/org.eclipse.jdt.core.prefs, schemagen/.settings/org.eclipse.jdt.core.prefs
Added per-module JDT core prefs: nullability/annotation mappings, Java 11 source/target/compliance, compiler problem/warning settings, and extensive formatter/style options.
Eclipse JDT UI Preferences
cli-processor/.settings/org.eclipse.jdt.ui.prefs, core/.settings/org.eclipse.jdt.ui.prefs, databind-metaschema/.settings/org.eclipse.jdt.ui.prefs, databind/.settings/org.eclipse.jdt.ui.prefs, metaschema-cli/.settings/org.eclipse.jdt.ui.prefs, metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs, metaschema-testing/.settings/org.eclipse.jdt.ui.prefs, schemagen/.settings/org.eclipse.jdt.ui.prefs
Added per-module JDT UI prefs: cleanup/formatting toggles, formatter/cleanup profile metadata, import order and on-demand thresholds, and editor/UI formatting preferences.
Eclipse m2e Preferences
cli-processor/.settings/org.eclipse.m2e.core.prefs, core/.settings/org.eclipse.m2e.core.prefs, databind-metaschema/.settings/org.eclipse.m2e.core.prefs, databind/.settings/org.eclipse.m2e.core.prefs, metaschema-cli/.settings/org.eclipse.m2e.core.prefs, metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs, metaschema-testing/.settings/org.eclipse.m2e.core.prefs, schemagen/.settings/org.eclipse.m2e.core.prefs
Added identical m2e prefs per module: activeProfiles=, eclipse.preferences.version=1, resolveWorkspaceProjects=true, version=1.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10–15 minutes

  • Verify .gitignore negation and that only intended preference files are tracked.
  • Spot-check consistency of Java version, formatter profile names, and cleanup settings across modules.
  • Confirm no personal or machine-specific IDE settings were committed.

Suggested reviewers

  • aj-stein-gsa

Poem

🐇 I hopped through prefs with careful paws,

Braces aligned and tidy laws,
Modules dressed in matching threads,
Maven hums while formatter treads,
A rabbit's wink — clean code applause.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changeset: adding Eclipse JDT and m2e settings files across all project modules for consistent IDE configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/add-eclipse-settings

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d84e253 and 47ff2d1.

📒 Files selected for processing (25)
  • .gitignore (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • core/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.m2e.core.prefs (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs
🚧 Files skipped from review as they are similar to previous changes (15)
  • core/.settings/org.eclipse.m2e.core.prefs
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs
  • databind/.settings/org.eclipse.jdt.core.prefs
  • schemagen/.settings/org.eclipse.m2e.core.prefs
  • cli-processor/.settings/org.eclipse.m2e.core.prefs
  • core/.settings/org.eclipse.jdt.core.prefs
  • databind/.settings/org.eclipse.m2e.core.prefs
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs
  • databind-metaschema/.settings/org.eclipse.jdt.ui.prefs
  • .gitignore
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs
  • databind/.settings/org.eclipse.jdt.ui.prefs
  • schemagen/.settings/org.eclipse.jdt.core.prefs
  • core/.settings/org.eclipse.jdt.ui.prefs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Website
  • GitHub Check: Code
🔇 Additional comments (4)
metaschema-cli/.settings/org.eclipse.m2e.core.prefs (1)

1-4: LGTM! Standard Maven/m2e configuration.

The m2e preferences are correctly configured with workspace project resolution enabled, which allows Eclipse to resolve dependencies to workspace projects rather than repository artifacts.

metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1)

1-516: LGTM! Comprehensive JDT configuration for consistent code style.

The preferences enable Java 11 compliance, null analysis with FindBugs annotations, and establish consistent formatting rules (120-char line length, 2-space indentation, end-of-line braces). This standardization will help maintain code quality across the project.

cli-processor/.settings/org.eclipse.jdt.core.prefs (1)

1-516: LGTM! Consistent JDT configuration across modules.

The preferences mirror the settings in other modules, ensuring consistent compiler compliance, null analysis, and code formatting project-wide.

metaschema-testing/.settings/org.eclipse.jdt.ui.prefs (1)

1-155: Eclipse JDT UI cleanup/import settings look consistent and safe

This prefs file is purely IDE configuration, uses standard JDT cleanup/import keys, and aligns with the goal of consistent formatting and null/cleanup behavior across modules. Nothing here appears risky for the build or runtime behavior.


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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

♻️ Duplicate comments (1)
databind/.settings/org.eclipse.jdt.ui.prefs (1)

149-152: Same typo in cleanup profile name.

Same issue as in other modules: cleanup_profile=_SecAuto Checksyle should likely be _SecAuto CheckStyle.

🧹 Nitpick comments (2)
metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs (1)

1-157: Typo in cleanup_profile name

cleanup_profile=_SecAuto Checksyle looks like it should be Checkstyle. It’s only cosmetic, but fixing the spelling will avoid confusion when selecting profiles in Eclipse.

.gitignore (1)

4-7: Check .settings ignore scope; current patterns only cover top-level .settings

Because .settings/* has a / in the middle, Git treats it as relative to the directory containing this .gitignore, so it only matches a top-level .settings directory (e.g., .settings/...), not databind/.settings/... or other module-level settings. (git-scm.com)

If your intent is to ignore all non-shared Eclipse prefs under every module’s .settings while tracking just the three standardized prefs files, you may want something along the lines of:

**/.settings/*
!**/.settings/org.eclipse.jdt.core.prefs
!**/.settings/org.eclipse.jdt.ui.prefs
!**/.settings/org.eclipse.m2e.core.prefs

or equivalent per-module .gitignore rules.

Otherwise, extra workspace-specific files like databind/.settings/org.eclipse.core.resources.prefs will still show up as untracked and can be committed by accident.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 66985e9 and 90aa31f.

📒 Files selected for processing (25)
  • .gitignore (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • core/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.m2e.core.prefs (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Website
  • GitHub Check: Code
🔇 Additional comments (21)
metaschema-cli/.settings/org.eclipse.jdt.core.prefs (1)

1-116: Well-configured compiler and null analysis settings.

The configuration appropriately sets Java 11 compliance and enables strict null analysis using FindBugs annotations (edu.umd.cs.findbugs.annotations.NonNull/Nullable). Setting null violations to error level (lines 58-60, 66) will help catch potential NPEs early in development.

metaschema-cli/.settings/org.eclipse.jdt.ui.prefs (1)

154-157: Good import organization settings.

Setting ondemandthreshold=99 and staticondemandthreshold=99 effectively disables wildcard imports, which improves code clarity and reduces merge conflicts. The import order placing static imports first is a reasonable convention.

metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1)

1-516: JDT core prefs are consistent and focused on strict null/formatting checks

This looks like a straightforward export used across modules; settings are internally consistent and suitable for enforcing a uniform style and null-analysis policy.

cli-processor/.settings/org.eclipse.jdt.core.prefs (1)

1-516: Consistent CLI processor JDT core configuration

Matches the shared JDT core settings pattern used elsewhere in the PR; good for keeping compiler behavior and formatting uniform in this module as well.

schemagen/.settings/org.eclipse.jdt.core.prefs (1)

1-516: Schemagen JDT core prefs align with shared project style

Settings are in line with the other modules’ JDT core prefs; nothing stands out as problematic.

metaschema-testing/.settings/org.eclipse.jdt.core.prefs (1)

1-516: Shared JDT core prefs correctly applied to testing module

Using the same compiler and formatter prefs here should help keep test code aligned with main modules; no issues spotted.

databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1)

1-516: Databind‑metaschema JDT core prefs look good

Configuration matches the shared baseline; this should give consistent diagnostics and formatting for this module too.

databind-metaschema/.settings/org.eclipse.m2e.core.prefs (1)

1-4: M2E prefs are minimal and consistent

Standard m2e settings (resolveWorkspaceProjects=true, empty activeProfiles) match the pattern used elsewhere; no concerns here.

schemagen/.settings/org.eclipse.m2e.core.prefs (1)

1-4: Schemagen M2E prefs match the shared Maven workspace configuration

Settings mirror the other modules’ m2e prefs; they should help Eclipse resolve reactor projects consistently.

databind/.settings/org.eclipse.m2e.core.prefs (1)

1-4: Static m2e prefs look good

Standard workspace resolution settings; consistent with the rest of the PR and safe to version-control.

metaschema-testing/.settings/org.eclipse.m2e.core.prefs (1)

1-4: Consistent m2e configuration

Matches the other modules’ m2e prefs and provides predictable workspace resolution; no issues.

metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs (1)

1-4: m2e prefs aligned with other modules

Same minimal settings as elsewhere; good for consistent Maven workspace behavior.

core/.settings/org.eclipse.m2e.core.prefs (1)

1-4: Core module m2e prefs are fine

Standardized m2e setup; nothing concerning here.

metaschema-cli/.settings/org.eclipse.m2e.core.prefs (1)

1-4: CLI module m2e prefs OK

Matches the shared pattern in this PR; appropriate to commit.

cli-processor/.settings/org.eclipse.m2e.core.prefs (1)

1-4: m2e prefs for cli-processor look good

Static configuration; consistent and safe.

databind/.settings/org.eclipse.jdt.core.prefs (1)

1-516: JDT prefs are consistent; verify Java level and annotations match the build

This is a standard, comprehensive JDT configuration: Java 11 compliance/release, strict null analysis, and formatter settings, plus nullability wired to edu.umd.cs.findbugs.annotations.* and org.eclipse.jdt.annotation.*. From a repo standpoint it’s reasonable to check in and aligns with the PR’s goal of consistent IDE behavior.

Two things worth double-checking:

  1. Java level – Ensure Maven (or Gradle) compiler settings for databind (and other modules using the same prefs) are also on Java 11 so Eclipse’s compiler view matches the actual build.
  2. Null-annotation dependencies – Confirm all modules that will use these prefs have the FindBugs and JDT annotation jars on the classpath; otherwise Eclipse will show missing-type errors while trying to enforce the null rules.

If both are true, this prefs file looks good to commit as-is.

cli-processor/.settings/org.eclipse.jdt.ui.prefs (1)

1-157: Configuration looks comprehensive.

The cleanup settings, import order (\#;com;gov;net;org;java;javax;;), and on-demand threshold of 99 (effectively disabling star imports) are sensible choices for maintaining code quality and consistency.

core/.settings/org.eclipse.jdt.core.prefs (4)

5-11: Null annotation configuration looks appropriate.

Using edu.umd.cs.findbugs.annotations.NonNull and Nullable from SpotBugs/FindBugs is a reasonable choice. The secondary annotation entries with leading commas (lines 6, 11) follow Eclipse's multi-value property format.


58-60: Strict null analysis settings are enabled.

Null-related issues (nullAnnotationInferenceConflict, nullReference, nullSpecViolation, potentialNullReference) are set to error. This is strict but helps catch null safety issues early. Ensure the codebase is prepared for this level of strictness, as it may produce new errors in Eclipse.

Also applies to: 66-66


117-516: Formatter configuration is comprehensive.

The formatter settings cover brace positions, indentation (2 spaces), line splitting (120 chars), comment formatting, and spacing rules. These provide consistent code formatting across the team.


15-16: Java version alignment is correct.

The Eclipse JDT settings (source=11, compliance=11, targetPlatform=11) and Maven configuration (maven.compiler.source=11, maven.compiler.target=11, maven.compiler.release=11) are consistently configured for Java 11. No action required.

@david-waltermire david-waltermire force-pushed the chore/add-eclipse-settings branch from 90aa31f to afa2137 Compare December 7, 2025 15:54
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (4)
databind-metaschema/.settings/org.eclipse.jdt.ui.prefs (1)

149-149: Typo in cleanup profile name: "Checksyle" should be "CheckStyle".

The cleanup profile name has a typo (missing 't'). This inconsistency may cause Eclipse to fail to locate the cleanup profile.

Apply this diff to fix the typo:

-cleanup_profile=_SecAuto Checksyle
+cleanup_profile=_SecAuto CheckStyle
schemagen/.settings/org.eclipse.jdt.ui.prefs (1)

149-149: Typo in cleanup profile name: "Checksyle" should be "CheckStyle".

The cleanup profile name has a typo (missing 't'). This inconsistency may cause Eclipse to fail to locate the cleanup profile.

Apply this diff to fix the typo:

-cleanup_profile=_SecAuto Checksyle
+cleanup_profile=_SecAuto CheckStyle
cli-processor/.settings/org.eclipse.jdt.ui.prefs (1)

149-149: Typo in cleanup profile name: "Checksyle" should be "CheckStyle".

The cleanup profile name has a typo (missing 't'). This inconsistency may cause Eclipse to fail to locate the cleanup profile.

Apply this diff to fix the typo:

-cleanup_profile=_SecAuto Checksyle
+cleanup_profile=_SecAuto CheckStyle
metaschema-testing/.settings/org.eclipse.jdt.ui.prefs (1)

149-149: Typo in cleanup profile name: "Checksyle" should be "CheckStyle".

The cleanup profile name has a typo (missing 't'). This inconsistency may cause Eclipse to fail to locate the cleanup profile.

Apply this diff to fix the typo:

-cleanup_profile=_SecAuto Checksyle
+cleanup_profile=_SecAuto CheckStyle
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 90aa31f and afa2137.

📒 Files selected for processing (25)
  • .gitignore (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • core/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.m2e.core.prefs (1 hunks)
✅ Files skipped from review due to trivial changes (3)
  • core/.settings/org.eclipse.m2e.core.prefs
  • schemagen/.settings/org.eclipse.jdt.core.prefs
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs
🚧 Files skipped from review as they are similar to previous changes (13)
  • metaschema-cli/.settings/org.eclipse.m2e.core.prefs
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs
  • databind/.settings/org.eclipse.jdt.core.prefs
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs
  • cli-processor/.settings/org.eclipse.m2e.core.prefs
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs
  • .gitignore
  • core/.settings/org.eclipse.jdt.core.prefs
  • core/.settings/org.eclipse.jdt.ui.prefs
  • schemagen/.settings/org.eclipse.m2e.core.prefs
  • databind/.settings/org.eclipse.m2e.core.prefs
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs
  • metaschema-cli/.settings/org.eclipse.jdt.ui.prefs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Code
  • GitHub Check: Website
🔇 Additional comments (3)
cli-processor/.settings/org.eclipse.jdt.core.prefs (1)

1-516: LGTM! Comprehensive Eclipse JDT configuration.

The JDT core preferences are well-configured with Java 11 compliance, null analysis enabled, and extensive formatter settings that will ensure consistent code formatting across the project.

metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1)

1-516: LGTM! Comprehensive Eclipse JDT configuration.

The JDT core preferences are well-configured with Java 11 compliance, null analysis enabled, and extensive formatter settings that will ensure consistent code formatting across the project.

databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1)

1-516: Configuration looks comprehensive.

This Eclipse JDT preferences file provides thorough compiler, null analysis, and formatter settings that will ensure consistent IDE behavior across the project. The configuration includes:

  • Null analysis enabled with strict error-level checking (good for code quality)
  • FindBugs annotations properly mapped
  • Java 11 compliance and target platform
  • Comprehensive formatter rules with 2-space indentation and 120-character line length
  • Extensive compiler warning configurations

The settings appear well-structured and suitable for standardization across the 8 modules.

@david-waltermire david-waltermire force-pushed the chore/add-eclipse-settings branch 2 times, most recently from 62aa273 to d84e253 Compare December 7, 2025 16:05
Include portable Eclipse settings files for consistent IDE configuration:
- org.eclipse.jdt.core.prefs: compiler compliance, null analysis, formatting
- org.eclipse.jdt.ui.prefs: import organization, cleanup actions
- org.eclipse.m2e.core.prefs: Maven workspace integration

Update .gitignore to selectively allow these specific prefs files while
continuing to ignore other Eclipse-generated settings.
@david-waltermire david-waltermire force-pushed the chore/add-eclipse-settings branch from d84e253 to 47ff2d1 Compare December 7, 2025 16:07
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (2)
databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1)

489-489: Fix the typo: statmentstatement.

Line 489 contains parentheses_positions_in_for_statment but should be parentheses_positions_in_for_statement. This was flagged in a previous review and remains uncorrected. The typo will cause Eclipse to ignore this formatter setting.

Apply this diff:

-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statement=common_lines
core/.settings/org.eclipse.jdt.core.prefs (1)

489-489: Fix the typo: statmentstatement.

Line 489 contains parentheses_positions_in_for_statment but should be parentheses_positions_in_for_statement. This is the same issue present in databind-metaschema/.settings/org.eclipse.jdt.core.prefs. The typo will cause Eclipse to ignore this formatter setting.

Apply this diff:

-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statement=common_lines
🧹 Nitpick comments (1)
.gitignore (1)

4-8: Simplify .settings ignore rules and avoid root-directory edge case.

With **/.settings/* and the three !**/.settings/... negations, you already achieve “ignore everything under any .settings except these three prefs files” for all modules.

The additional /.settings/ is redundant and, if you ever introduce tracked prefs under a root-level .settings/, the directory-level ignore could stop those files from being re-included. To keep behavior consistent and future-proof, you can drop the root-specific pattern:

-/.settings/
-**/.settings/*
+**/.settings/*
 !**/.settings/org.eclipse.jdt.core.prefs
 !**/.settings/org.eclipse.jdt.ui.prefs
 !**/.settings/org.eclipse.m2e.core.prefs

This still ignores all .settings contents everywhere except the three allowed prefs files, but avoids the special-case behavior for a root .settings/ directory.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 62aa273 and d84e253.

📒 Files selected for processing (25)
  • .gitignore (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • cli-processor/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • core/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • core/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • databind/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • databind/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-cli/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.core.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.jdt.ui.prefs (1 hunks)
  • schemagen/.settings/org.eclipse.m2e.core.prefs (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • databind/.settings/org.eclipse.jdt.ui.prefs
  • databind-metaschema/.settings/org.eclipse.jdt.ui.prefs
🚧 Files skipped from review as they are similar to previous changes (16)
  • databind-metaschema/.settings/org.eclipse.m2e.core.prefs
  • metaschema-testing/.settings/org.eclipse.jdt.ui.prefs
  • metaschema-maven-plugin/.settings/org.eclipse.m2e.core.prefs
  • schemagen/.settings/org.eclipse.m2e.core.prefs
  • cli-processor/.settings/org.eclipse.jdt.core.prefs
  • metaschema-testing/.settings/org.eclipse.m2e.core.prefs
  • metaschema-cli/.settings/org.eclipse.m2e.core.prefs
  • metaschema-testing/.settings/org.eclipse.jdt.core.prefs
  • cli-processor/.settings/org.eclipse.m2e.core.prefs
  • metaschema-cli/.settings/org.eclipse.jdt.core.prefs
  • schemagen/.settings/org.eclipse.jdt.core.prefs
  • core/.settings/org.eclipse.m2e.core.prefs
  • databind/.settings/org.eclipse.jdt.core.prefs
  • databind/.settings/org.eclipse.m2e.core.prefs
  • core/.settings/org.eclipse.jdt.ui.prefs
  • metaschema-maven-plugin/.settings/org.eclipse.jdt.core.prefs
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Code
  • GitHub Check: Website
🔇 Additional comments (6)
schemagen/.settings/org.eclipse.jdt.ui.prefs (1)

1-155: LGTM! Eclipse JDT UI preferences are properly configured.

This configuration file standardizes code cleanup, formatting, and import organization across the project. The settings are reasonable and consistent with best practices for Java development.

metaschema-maven-plugin/.settings/org.eclipse.jdt.ui.prefs (1)

1-155: LGTM! Configuration matches other modules for consistency.

This file provides the same standardized Eclipse JDT UI preferences as other modules, ensuring consistent IDE behavior across the entire project.

metaschema-cli/.settings/org.eclipse.jdt.ui.prefs (1)

1-155: LGTM! Consistent Eclipse configuration across all modules.

This configuration file maintains the same standardized settings as the other modules, providing uniform Eclipse JDT UI behavior throughout the project.

cli-processor/.settings/org.eclipse.jdt.ui.prefs (1)

1-155: Eclipse JDT UI preferences look consistent with the shared profile.

This appears to be a straight export of a JDT cleanup/format/import profile; keys/values are internally consistent and aligned with the stated goal of standardizing IDE behavior across modules. No changes requested.

databind-metaschema/.settings/org.eclipse.jdt.core.prefs (1)

462-462: The property name org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line is correct. While the constant name in Eclipse JDT is FORMATTER_KEEP_SIMPLE_IF_ON_ONE_LINE, the actual property ID string in preference files uses the spelling keep_imple_if_on_one_line. This is the official Eclipse JDT property name and requires no changes.

core/.settings/org.eclipse.jdt.core.prefs (1)

462-462: No action needed. The property name keep_imple_if_on_one_line is the correct and official Eclipse JDT formatter property identifier, as documented in the Eclipse JDT DefaultCodeFormatterConstants API. Although the name contains an apparent misspelling relative to similar properties like keep_simple_*, this naming is intentional in the Eclipse JDT framework and not an error in the configuration file.

@david-waltermire david-waltermire merged commit 1a46f00 into develop Dec 7, 2025
3 checks passed
@david-waltermire david-waltermire deleted the chore/add-eclipse-settings branch December 7, 2025 16:18
@david-waltermire david-waltermire added this to the v3.0.0 Milestone 1 milestone Dec 8, 2025
@coderabbitai coderabbitai bot mentioned this pull request Dec 8, 2025
3 tasks
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