specify / specify6

Source Code for Specify 6, Biological Collections Management Platform
https://specifysoftware.org
GNU General Public License v2.0
14 stars 6 forks source link
biodiversity biodiversity-informatics biorepository collection curation museum museum-collection-specimens species specify specimen

Specify 6

Build Status

Specify Software is a product of the Specify Collections Consortium that is funded by its member institutions. Consortium Founding Members include: University of Michigan, University of Florida, Denmark Consortium of Museums, and the University of Kansas. The Consortium operates under the non-profit U.S. tax status of the University of Kansas Center for Research. Specify was supported previously by multiple awards from the U.S. National Science Foundation.

Specify 6 Copyright © 2023 University of Kansas Center for Research. Specify comes with ABSOLUTELY NO WARRANTY. This is free software licensed under GNU General Public License 2 (GPL2).

Specify Collections Consortium
Biodiversity Institute
University of Kansas
1345 Jayhawk Blvd.
Lawrence, KS USA 66045

Building Specify 6

Building Specify 6 requires the JDK v1.8 and Apache Ant v1.9.3.

The following build targets are available:

All build outputs will be found in the build/ directory except for config/specify_datamodel.xml.

Packaging Specify 6

Packaging Specify 6 requires Install4J v8.0 (evaluation or licensed).

The path to Install4J must be provided to the Ant build through the -Dinstall4j.dir=/path/to/install4j parameter unless Install4J is at the default location $HOME/install4j8.0.11.

The following Ant build targets are available for packaging:

All packaging products will be found in the packages/ directory.

Code Signing

The Windows and Mac installers can be code signed by passing the following properties to Ant:

For example:

ant package-all \
    -Dcode.signing=true \
    -Dwin.pkcs12=/mnt/biteme/BI/Specify/Specify6/Certificates/WindowsCertificates/certwithroot.pfx \
    -Dwin-keystore-password=SECRET \
    -Dmac.pkcs12=/mnt/biteme/BI/Specify/Specify6/Certificates/MacOsCertificates/SpecifyMacOSCert.p12 \
    -Dmac-keystore-password=SECRET

Automated Builds

This repository is equipped with automated builds using GitHub actions. All commits pushed to the repository will result in test builds that can be found under the actions tab with downloadable package artifacts for testing that persist for 90 days. If a commit is tagged and pushed the repository, a GitHub draft prerelease with the name of the tag will be automatically created and have the build output packages attached.

Proposed Release Process (starting with v6.7.00)

A process for producing final releases could be as follows:

  1. Tag the commit to be released with the version number plus rcX, where X is the release candidate number.

  2. The automated build system will produce a prerelease as described above.

  3. The external packages can be downloaded and given final testing.

  4. If all is well, retag the commit with the plain version number.

  5. Using the GitHub UI, remove the prerelease status from the resulting automatic build prerelease.

  6. Download the external installer packages and updates.xml.

  7. In the account specify@files.specifysoftware.org create a new directory named XYZ where X, Y, and Z come from the version number X.Y.Z.

  8. Upload the installer packages and updates.xml to the newly created directory.

  9. Upload the readme.html for the new version to the new directory with the filename relnotes.html.

  10. Take a copy of index.html from a previous version folder and update it with the current version number and place that in the new directory.

  11. To make the release live for auto updates, copy the contents of the new version directory to the home directory[analytics]()