Skip to content

Latest commit

 

History

History
123 lines (75 loc) · 3.71 KB

RELEASE.md

File metadata and controls

123 lines (75 loc) · 3.71 KB

RELEASE

The release making process is a two-stage process:

  1. Deploy artifacts to Maven Central
  2. Create release archive

Prerequisites

Deploying artifacts

  • Ensure all changes have been committed and all tests succeed

  • update \version tag in src/main/latex/Tutorial/Tutorial.tex

  • switch to Java 11

  • run the following command (and accept or change the version numbers):

    mvn release:prepare release:perform
    
  • log into sonatype

    https://oss.sonatype.org/

  • select the Staging repositories

  • scroll down and check the netsfmeka repository

  • check deployed artifacts on the Content tab (bottom of the screen) using the Archive Browser once a jar has been selected

  • Close the repository (top of the screen) with a message like new release X.Y.Z

  • artifacts will get prepared for being release, which will take some time, keep clicking on Refresh till the Release action is available and Close is disabled

  • Release the repository with a message like new release X.Y.Z

  • The artifacts will get transferred to Maven Central in the background, should happen within 15min. You can check the following URL whether they have been pushed out:

    https://repo1.maven.org/maven2/net/sf/meka/meka/

  • The artifacts might not be searchable through https://search.maven.org/ for a few hours, as the search index only gets updated every 3 hours or so

  • log out of sonatype

Troubleshooting

  • In case artifacts shouldn't get deployed for some reason (give it a few hours), go to the following URL and open a ticket:

    https://issues.sonatype.org/

Release archive

  • once the artifacts have been deployed successfully and are available from Maven Central, you can create a release archive

  • update the version in the release.xml file to match the version of the just released Meka artifacts (also remove the -SNAPSHOT suffix) and commit changes

  • run the following command to create the release archive in the target directory:

    mvn -f release.xml clean install
    
  • update the version in the release.xml to the new -SNAPSHOT version of the pom.xml file and commit changes

  • upload the release archive to sf.net (sftp://frs.sourceforge.net/home/frs/project/meka/) and github (https://github.com/Waikato/meka/releases/)

Update documentation

  • update artifact version (maven.md)

  • add bullet point in news.md, pointing to new release

  • Update methods using the following command (add any additional methods to git), which will place markdown files in the docs directory for each classifier:

    meka.doc.OutputClassHierarchyMarkdown -skip-title -output-dir ./docs -superclass meka.classifiers.multilabel.MultiLabelClassifier
    

    Replace the TOC items in mkdocs.yml below Methods with the ones output on stdout from the above command.

  • any changes committed trigger a rebuild of the documentation via
    this Github Action