Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: Moving OTP to its own Maven module, refactor out Raptor into its own module #6130

Open
wants to merge 1 commit into
base: dev-2.x
Choose a base branch
from

Conversation

trygvis
Copy link

@trygvis trygvis commented Oct 9, 2024

TL; DR: This turns OTP into a multi-module project. Discussion required.

Summary

This changes the project from being a single-module setup to have multiple Maven modules. There was consensus for changing the build to this at the OTP Berlin developer days, this is an attempt to do that.

There was also an agreement to move Raptor out of the core module so that has been done at the same time. In order to get it done, a few files was moved to a shared framework module. The classes that are there are the bare minimum to get Raptor to compile.

Note that since this PR moved around all source file, this PR will most likely mess up many other PRs that will have to be rebased so choose when it is integrated with caution.

Questions:

  • Where should the modules live? Now they live in a folder called modules/. The main code live under modules/otp, Raptor is under modules/raptor.
  • Module/folder naming.
  • This change more or less changes every source code file in the project, so after the merge it would be advisable to add the commit id to /.git-blame-ignore-revs.
  • The framework module. Should it be renamed to lang, utils or something similar? I think it would be nice to separate it from the framework package that is inside OTP, both in name and package name.

Future TODOs:

Clean up the dependency list.

Recommendation: keep all dependencies in the dependency management section in /pom.xml. Use properties to manage the version across group IDs as it is done today. Remove any version tag from child modules.

Apply useful Maven plugins

Look to see if there are any useful rules from the Enforcer plugin that you want applied. In particular the requireSameVersions rule might be useful: https://maven.apache.org/enforcer/enforcer-rules/requireSameVersions.html.

Documentation

No documentation is updated in this PR. Should definitely be done later.

@trygvis trygvis requested a review from a team as a code owner October 9, 2024 05:41
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