enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.31k stars 318 forks source link

Publish Persistance API+Javadoc to local m2 repository #10222

Closed JaroslavTulach closed 4 weeks ago

JaroslavTulach commented 4 weeks ago

Pull Request Description

One of the biggest issues that is holding #7054 back is an effective ability to reuse parts of Enso engine code base in the Maven build assembling VSCode and IGV extension. This PR adds a simple command to publish such artifacts:

sbt publishM2

that puts artifacts of selected projects (currently only persistance and persistance-dsl - more to come) into local Maven repository (e.g. ~/.m2/repository) where they can be located by the Maven build then.

Essential part of Maven repository is Javadoc - as such this PR also needed to come up with a way to build Javadoc for the projects that publish their artifacts. Use

sbt persistance/doc

to build Javadoc for the persitance API.

Important Notes

Running sbt publishM2 publishes following artifacts:

$ sbt publishM2
published persistance-dsl to ~/.m2/repository/org/enso/persistance-dsl/0.2-SNAPSHOT/persistance-dsl-0.2-SNAPSHOT.pom
published persistance-dsl to ~/.m2/repository/org/enso/persistance-dsl/0.2-SNAPSHOT/persistance-dsl-0.2-SNAPSHOT.jar
published persistance-dsl to ~/.m2/repository/org/enso/persistance-dsl/0.2-SNAPSHOT/persistance-dsl-0.2-SNAPSHOT-sources.jar
published persistance-dsl to ~/.m2/repository/org/enso/persistance-dsl/0.2-SNAPSHOT/persistance-dsl-0.2-SNAPSHOT-javadoc.jar

published persistance to ~/.m2/repository/org/enso/persistance/0.2-SNAPSHOT/persistance-0.2-SNAPSHOT.pom
published persistance to ~/.m2/repository/org/enso/persistance/0.2-SNAPSHOT/persistance-0.2-SNAPSHOT.jar
published persistance to ~/.m2/repository/org/enso/persistance/0.2-SNAPSHOT/persistance-0.2-SNAPSHOT-sources.jar
published persistance to ~/.m2/repository/org/enso/persistance/0.2-SNAPSHOT/persistance-0.2-SNAPSHOT-javadoc.jar

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR: