Skip to content

Publish evee versions to Maven Central, get rid of "lib" folder #34

@maphih

Description

@maphih

Stefan Borgwardt
14 Nov 2023
Prerequisites:

Put FAME on Maven Central as well.
Wait for @koopmann to add LETHE to Maven Central?
Maybe also for CAPI-java-component?
Then, we could remove the whole "lib" folder.

Stefan Borgwardt
14 Nov 2023
This would also help solve the problems we have when different versions of LETHE or CAPI are still in the local Maven repo.

Stefan Borgwardt
9 months ago
For Maven, we need to decide on a Group ID. The easiest would be io.github.de-tudresden-inf-lat, because this is supported by Github, and we may lose control over the lat.inf.tu-dresden.de domain in the coming years.

Stefan Borgwardt
9 months ago
Comments on the current status from @tofr961c:

First of all, I added the relevant fields and plugins for deployment to maven central. Here is a quick overview:

The fields "project url" and "developers" are mandatory. I've added the github page as the project url and Stefan as the (only) developer for now.
I've added temporary fields in the pom.xml of evee in the field "properties". These specify the "organization" and "organization url" of the developers. I've added "TU Dresden" as organization and the TU Dresden logic and automata homepage as the url. The fields start with "temp" so you can quickly find and update them.
It is not possible to add a variable for the groupId (maven won't compile a pom with a variable in the groupId). The groupId is set only once in the pom.xml of Evee and then referenced in all sub-projects of Evee (except lat-scala-dl-tools and lethe, of course)
Secondly, I've made some changes to the plugins and documentation of Evee:

I've put the "maven-source-plugin" in the pom.xml of Evee (previously it was in some of the sub-projects but not all of them). We need jars with the source-code for deployment in all sub-projects anyway, so now the behavior is centralized.
I've added the maven-javadoc-plugin (we also need javadoc files for deployment, even if these are just dummy files). To get maven to compile this, I needed to fix some documentation in some sub-modules. For this, I only deleted out of date return values/parameters/exceptions that were mentioned in the documentation but were not in the code anymore.
Lastly, a quick summary of the stuff you need to decide and do in order to deploy now:

The issue with the groupId needs to be solved.
Once you have done that and have create an account on maven central, you need to register the namespace (see https://central.sonatype.org/register/namespace/).
On the account that has registered the namespace, you need to generate a user-token and put that into the settings.xml of maven (on the machine used to deploy to maven central) so that the "central-publishing-maven-plugin" in the pom.xml of evee knows how to connect to the account and namespace (see https://central.sonatype.org/publish/publish-portal-maven/#credentials).
In order to deploy, you also need to provide file checksums (see https://central.sonatype.org/publish/requirements/#provide-files-checksums).
Lastly, you need to sign the files that should be deployed with gpg (see https://central.sonatype.org/publish/requirements/#sign-files-with-gpgpgp). I've already prepared the maven-plugin for that in the pom.xml of Evee, you just need to un-comment the goal "sign" of the maven-gpgp-plugin.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions