Skip to content

Release 0.2.0 (OWL API 5.5.1) to Maven Central via the Central Portal #6

Open

Description

@matentzn

ROBOT is moving to OWL API 5.5.1 and needs a matching release of this library. I migrated the code locally to OWL API 5. What's left is making the release pipeline work again, cutting 0.2.0, and bumping the dependency in ROBOT.

The ROBOT PR ontodev/robot#1295 has "update org.geneontology.reasoner.ExpressionMaterializingReasonerFactory from expression-materializing-reasoner" on its To-Do list. ROBOT currently pulls in 0.1.3, which is built against OWL API 4. With the local migration, pom.xml is now at 0.2.0-SNAPSHOT and depends only on owlapi-api and owlapi-impl 5.5.1 at compile scope, with <release>11</release>. owlapi-apibinding is test-only.

The code is done, but the publishing setup is not. pom.xml still deploys through OSSRH: nexus-staging-maven-plugin 1.6.3 pointing at https://oss.sonatype.org/, plus an ossrh snapshotRepository under distributionManagement. OSSRH was shut down in mid-2025, so mvn deploy with this pom cannot publish anything. It has to switch to org.sonatype.central:central-publishing-maven-plugin, configured the way ROBOT does it (0.9.0, publishingServerId central, autoPublish true). Whoever runs the release needs a Central Portal user token in ~/.m2/settings.xml under server id central, and the org.geneontology namespace has to be accessible to that account on the Portal.

CI is dead too. .travis.yml builds on oraclejdk8, which can no longer compile the project now that it targets Java 11. I'd replace it with a GitHub Actions workflow (.github/workflows/ci.yml) that runs mvn test on JDK 11, 17 and 21, and delete .travis.yml.

Once 0.2.0 is on Central, the ROBOT side is small. In robot-core/pom.xml, bump the version and drop the owlapi-distribution exclusion. The new artifact doesn't depend on owlapi-distribution anymore, so there is nothing left to exclude.

Examples

Replace the nexus-staging-maven-plugin block and the ossrh distributionManagement in pom.xml with:

<plugin>
  <groupId>org.sonatype.central</groupId>
  <artifactId>central-publishing-maven-plugin</artifactId>
  <version>0.9.0</version>
  <extensions>true</extensions>
  <configuration>
    <publishingServerId>central</publishingServerId>
    <autoPublish>true</autoPublish>
  </configuration>
</plugin>

Minimal CI workflow:

name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        java: [11, 17, 21]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-java@v4
        with:
          distribution: temurin
          java-version: ${{ matrix.java }}
          cache: maven
      - run: mvn -B test

ROBOT, robot-core/pom.xml:

 <dependency>
   <groupId>org.geneontology</groupId>
   <artifactId>expression-materializing-reasoner</artifactId>
-  <version>0.1.3</version>
-  <exclusions>
-    <exclusion>
-      <groupId>net.sourceforge.owlapi</groupId>
-      <artifactId>owlapi-distribution</artifactId>
-    </exclusion>
-  </exclusions>
+  <version>0.2.0</version>
 </dependency>

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions