Skip to content

Develop 5.0#76

Open
radsz wants to merge 264 commits intodevelopfrom
develop-5.0
Open

Develop 5.0#76
radsz wants to merge 264 commits intodevelopfrom
develop-5.0

Conversation

@radsz
Copy link
Copy Markdown
Owner

@radsz radsz commented Feb 8, 2026

Work in progress. Many different changes.


Note

Medium Risk
Medium risk because it changes build outputs (new shaded jacop-all artifact + scripts), updates Checkstyle rules/suppressions, and migrates benchmark test infrastructure to JUnit 5, which can affect CI and publishing even though solver logic is untouched here.

Overview
Build/distribution: Adds a new jacop-all module that can (when the all profile enables jacop-all.enabled) produce a shaded “all-in-one” JAR plus packaged launcher scripts (jacop, fzn-jacop) and a copied lib/ runtime dependency set.

Testing/benchmarks: Introduces a new jacop-benchmarks module and expands/modernizes benchmark coverage, including a new parameterized FilterBenchmarkTest and migrating multiple MiniZinc benchmark tests and the MinTestSuite from JUnit 4 to JUnit 5 (with @Timeout and @MethodSource).

Tooling/docs: Updates Checkstyle configuration substantially (newer DTD/filters, stricter naming/Javadoc rules, disables Indentation, and suppresses MethodName for jacop-flatzinc), adds scripts/docs to analyze remaining violations, updates .gitignore, removes GITWORKFLOW.md, and performs mostly formatting-only edits to LICENSE.md/README.md plus a CHANGELOG entry update.

Written by Cursor Bugbot for commit a1bac54. This will update automatically on new commits. Configure here.

radsz and others added 29 commits February 27, 2026 23:18
Annotate existing toString/equals/hashCode overrides across core, flatzinc, and floats classes to satisfy Sonar and improve intent clarity without behavior changes.

Made-with: Cursor
Apply low-risk local-variable naming cleanups and one unused-local removal in example models, and document ignored static-import-order complaints in sonar.md for later review.

Made-with: Cursor
Rename many non-compliant local variables/parameters in FilterBenchmark and example models, preserving behavior while reducing low-risk convention issues.

Made-with: Cursor
Rename additional non-compliant local identifiers and helper variables across examples and cpviz classes, preserving behavior while removing another low-risk batch of convention findings.

Made-with: Cursor
Normalize local and helper variable names in float examples and split selection logic to address low-risk naming complaints without changing solver behavior.

Made-with: Cursor
Rename non-compliant helper methods and parameter identifiers in trigonometric and arithmetic float constraints to reduce naming-rule findings while preserving propagation behavior.

Made-with: Cursor
Rename non-compliant sign-classification helper parameters in multiplication and division bound dispatch logic to reduce naming findings while preserving interval arithmetic semantics.

Made-with: Cursor
Document public mulBounds and divBounds helper methods to satisfy documentation checks while keeping all interval arithmetic behavior unchanged.

Made-with: Cursor
Normalize remaining non-compliant method and parameter names in Sudoku and FilterBenchmark and mark scanner as final in WordGame to clear additional low-risk style findings.

Made-with: Cursor
Rename primitive helper methods back to addXneqYConstraints-style identifiers for readability consistency while keeping behavior unchanged.

Made-with: Cursor
Rename remaining underscore-style local variables in SurvoPuzzle, WhoKilledAgatha, and NonTransitiveDice for naming consistency without changing puzzle model behavior.

Made-with: Cursor
Mark intermediate union lower-bound variable as final to satisfy style checks without changing domain union logic.

Made-with: Cursor
Rename underscore-style local variables in Bnode pruning helpers and Linear comparator logic to satisfy naming rules while preserving propagation and ordering behavior.

Made-with: Cursor
Rename remaining underscore-style local variables in GCC bound-consistency debug flow and document the intentional XneqY abbreviation exception in sonar triage to keep complaint decisions explicit.

Made-with: Cursor
Normalize short camel-abbreviation parameter names in core helpers and queue logging methods, and tighten IntervalDomain event-local declarations to reduce usage-distance complaints without changing propagation behavior.

Made-with: Cursor
Rename remaining non-compliant overlap helper identifiers in profile classes, make search-level flags final where appropriate, and document the protected WeightedDegree constructor to clear easy style findings without behavioral change.

Made-with: Cursor
Rename remaining non-compliant helper parameters in Sum, Binpacking, and TraceGenerator to consistent lower-camel names while preserving behavior and keeping propagation/search logic unchanged.

Made-with: Cursor
Rename remaining non-compliant parameter names in XexpYeqZ and netflow Pruning helper paths to lower-camel form, preserving constraint semantics and pruning behavior.

Made-with: Cursor
Normalize remaining non-compliant helper parameter names in Alldistinct, Assignment, SimpleTable, and Table without changing propagation or filtering behavior.

Made-with: Cursor
Rename remaining non-compliant helper parameters in absolute-value and cumulative propagation helpers to lower-camel forms while preserving propagation logic.

Made-with: Cursor
Rename additional non-compliant helper parameters in AmongVar, cumulative edge-finding internals, and Diffn area checks, preserving existing propagation and filtering behavior.

Made-with: Cursor
Rename additional non-compliant helper parameters and result-field identifiers in DisjointConditional and Diffn area-check paths while preserving filtering and propagation behavior.

Made-with: Cursor
… more.

Rename parameters to comply with naming pattern (oDim→otherDim, eBlock→eventBlock,
xNodes→variableNodes, Q→stateCount, F→finalStates, aChanged→changedA, etc.),
fix record component names (sMin→sumMin, sMax→sumMax), add missing javadoc and
switch defaults, remove misplaced javadoc comments, add final to distant variable
declarations, and fix ParenPad whitespace.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…eck refactoring.

Rename methods to follow camelCase conventions (e.g., computeYDom1FromX -> computeYdom1FromX),
reorder declarations (constructors before methods), move checkInputForNullness to
DecomposedConstraint, and clean up parameter names across constraints, search, and flatzinc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- BenchmarkImporter: re-interrupt thread on InterruptedException
- Binpacking: refactor constructor chain so minBinNumber is set in
  primary constructor, eliminating field override after this() call
- CumulativeUnary: refactor constructor chain so doProfile/doEdgeFind
  are set in primary constructor, eliminating field override after this()
- CumulativePrimary, TupleUtils, GlobalConstraints: override
  equals/hashCode/toString in records with array components to use
  Arrays.equals/deepEquals instead of reference equality
- Regular: remove dead conditional (both branches returned 0)
- RegularExpressionParser: avoid reusing method parameters as locals
- CeilPeqX/FloorPeqX: cast int operand to double before
  arithmetic to prevent potential integer overflow
- FloatIntervalDomain: rename private cloneAndInstall to
  cloneAndInstallFloat to avoid shadowing parent class method

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

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