You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Dávid Kepič <de...@gmail.com> on 2021/05/07 16:07:37 UTC

Multimodule project setup & publishing to Sonatype Central Repository

Hello Maven users,

first of all, I hope that you are well. Recently, I've been working on a
Java API for Minecraft plugin developers (that, however, does not matter at
all).

I have a multimodule project, consisting of 3 modules: core, proxy and
backend. The core module is the API itself. The other modules contains some
wrapper classes for the core module to make it easier to implement the API
for users. They only differ in the server type they should be used for -
the proxy module is intended to be used by developers designing software
for proxy servers and backend for backend servers (the core module - API is
sever independent).

What I did is that both proxy and backend modules shade the core module
into themselves (and both create their own .jar file). The idea is that
developers would use yamlupdater-proxy / yamlupdater-backend. Is the setup
correct? Link to the project branch:
https://www.github.com/davidcubesvk/yaml-updater/tree/development/ (I will
commit the shading stuff within half an hour).

My another question is, if this setup is correct, how can I publish the
project to Sonatype so at least the yamlupdater-proxy (-backend) is
available and can be used by other developers? I mean, in their respective
poms, just add the build configuration, GPG signing... (as per
instructions), the run the deploy command on the parent pom and would it
work like that?

Last question, when shading stuff, I get a warning message about
overlapping MANIFEST.MF file. I was told that Minecraft servers do not need
them, so what I am essentially doing is, excluding them. There however must
be another, better answer to this.?

Thank you very much for all the effort you've put into reading this and
helping me.

Have a great day; greetings
~ davidcubesvk