Skip to content

Conversation

@tcheeric
Copy link
Contributor

@tcheeric tcheeric commented Nov 3, 2025


Summary

This pull request introduces several updates and improvements to the project:

  • Dependencies: Updated Maven dependency versions and refactored the pom.xml to use properties for better maintainability.
  • License: Replaced the GNU AGPL license with MIT License to simplify licensing terms and improve project compatibility.
  • Documentation: Removed outdated summary files (REFACTORING_SUMMARY.md, CLEAN_CODE_REFACTORING_SUMMARY.md, DOCUMENTATION_SUMMARY.md, DOCUMENTATION_UPDATE.md) as they are no longer relevant.
  • CI Enhancements:
    • Updated the Qodana action to version 2025.2.
    • Defined 'main' as the primary branch for the workflow.
    • Introduced CI workflows for builds and code quality checks using GitHub Actions, including integration with Codecov for coverage reporting.
  • Release Management:
    • Added a release script and CI workflow to handle validation and publishing.
    • Configured distribution management and repository settings for releases and snapshots with reposilite.

Checklist

  • Confirm compatibility of the licensing update across all dependencies.
  • Validate CI workflows introduced for the build and release processes.
  • Ensure proper repository distribution settings for snapshot and release builds.

Additional Notes

These updates significantly enhance project maintainability, compatibility, and automation, aligning the project with modern development workflows.

erict875 added 8 commits November 3, 2025 01:01
- Deleted `CLEAN_CODE_REFACTORING_SUMMARY.md`, `DOCUMENTATION_SUMMARY.md`, and `DOCUMENTATION_UPDATE.md`.
- These files are no longer relevant as all changes are now reflected in the project and its updated documentation.
- Configured distribution management for releases and snapshots.
- Added repositories for accessing reposilite snapshots and releases.
- Introduced a release script to automate common release tasks for nostr-java-bom.
- Added a GitHub Actions workflow for handling releases, including validation and publishing steps.

This enhances the release process and ensures consistency in versioning and deployment.
- Introduce GitHub Actions workflows for continuous integration.
- Includes build process with Maven and code quality checks using Qodana.
- Artifacts for test reports and coverage are uploaded to Codecov.

Refs: <issue/PR links>
- Adjusted the branch settings for the CI workflow to specify 'main' as the primary branch.
- Updated the Qodana action version to ensure the latest features and fixes are utilized.
- Deleted `REFACTORING_SUMMARY.md` as the file is no longer relevant.
- All changes are fully reflected in the project's codebase and documentation.
- Updated the license from GNU Affero General Public License to MIT License.
- This change simplifies the licensing terms and enhances compatibility with other projects.
- Added properties for slf4j, jsr305, maven compiler, and maven surefire plugin versions.
- Refactored dependencies to use the new properties for better maintainability.
@tcheeric tcheeric requested a review from Copilot November 3, 2025 20:57
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces release automation tooling, build configuration improvements, and organizational cleanup. The changes prepare the project for automated releases to Maven Central and update the license from AGPL-3.0 to MIT.

  • Adds automated release script and GitHub Actions workflows for CI/CD
  • Updates build configuration with centralized version properties and distribution management
  • Changes license from AGPL-3.0 to MIT
  • Removes temporary documentation files

Reviewed Changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
scripts/release.sh New automation script for version bumping, verification, tagging, and publishing
pom.xml Centralizes dependency versions as properties, adds distribution management and custom Maven repositories
LICENSE Replaces AGPL-3.0 with MIT License
README.md Updates artifact ID from "bips" to "bip-utils" and adds documentation structure section
.github/workflows/release.yml Automates releases triggered by version tags
.github/workflows/ci.yml CI workflow for build verification and code coverage
.github/workflows/google-java-format.yml Auto-formatting for Java code on master branch
.github/workflows/enforce_conventional_commits.yml Enforces conventional commit format on PRs
.github/workflows/code-quality.yml Integrates Qodana static analysis
.github/dependabot.yml Configures Dependabot with custom Maven registries
REFACTORING_SUMMARY.md Removed temporary refactoring documentation
DOCUMENTATION_UPDATE.md Removed temporary documentation update log
DOCUMENTATION_SUMMARY.md Removed temporary documentation summary
CLEAN_CODE_REFACTORING_SUMMARY.md Removed temporary clean code summary

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +125 to +127
$no_docker && mvn_args=(-q -DnoDocker=true -P "$profile" deploy)
$skip_tests && mvn_args=(-q -DskipTests -P "$profile" deploy)
if $no_docker && $skip_tests; then mvn_args=(-q -DskipTests -DnoDocker=true -P "$profile" deploy); fi
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

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

The mvn_args array is being completely replaced rather than incrementally built. This logic doesn't properly combine flags when both --no-docker and --skip-tests are used individually, and the final condition overrides previous assignments. Consider building the array incrementally: mvn_args=(-q -P \"$profile\" deploy) followed by $no_docker && mvn_args+=(-DnoDocker=true) and $skip_tests && mvn_args+=(-DskipTests) to avoid duplication and correctly handle all flag combinations.

Suggested change
$no_docker && mvn_args=(-q -DnoDocker=true -P "$profile" deploy)
$skip_tests && mvn_args=(-q -DskipTests -P "$profile" deploy)
if $no_docker && $skip_tests; then mvn_args=(-q -DskipTests -DnoDocker=true -P "$profile" deploy); fi
if $no_docker; then
mvn_args+=(-DnoDocker=true)
fi
if $skip_tests; then
mvn_args+=(-DskipTests)
fi

Copilot uses AI. Check for mistakes.
pull_request:
push:
branches: # Specify your branches here
- main # The 'main' branch
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

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

The branch name 'main' in the comment doesn't match the actual branch 'develop' specified below. The workflow is configured to run on 'develop' but the comment says 'main', which could cause confusion about which branches trigger this workflow.

Suggested change
- main # The 'main' branch
- main # The 'main' and 'develop' branches

Copilot uses AI. Check for mistakes.
on:
push:
branches:
- master
Copy link

Copilot AI Nov 3, 2025

Choose a reason for hiding this comment

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

[nitpick] This workflow only runs on the 'master' branch, but other workflows in this PR use both 'master' and 'develop'. Consider whether auto-formatting should also run on 'develop' branch for consistency, or document why it's intentionally limited to 'master'.

Suggested change
- master
- master
- develop

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

github-actions bot commented Nov 3, 2025

Qodana Community for JVM

8 new problems were found

Inspection name Severity Problems
Constant values 🔶 Warning 3
Nullability and data flow problems 🔶 Warning 1
Non-distinguishable logging calls ◽️ Notice 4

☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

- Changed the branch name from 'main' to 'master' in the code quality configuration.
- This aligns with the current branch naming conventions used in the repository.
@tcheeric tcheeric merged commit 47f85b5 into master Nov 3, 2025
4 of 5 checks passed
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