Skip to content

Commit 758ac4c

Browse files
authored
Merge pull request #181 from ielis/release-v1.0.0-RC3
Release v1.0.0 RC3
2 parents 263b9ae + 0a3ea61 commit 758ac4c

File tree

55 files changed

+1820
-647
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1820
-647
lines changed

.github/workflows/pages.yml

Lines changed: 54 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Simple workflow for deploying static content to GitHub Pages
2-
name: Deploy static content to GitHub Pages
2+
name: Deploy documentation to GitHub Pages
33

44
on:
55
# Allows you to run this workflow manually from the Actions tab
66
workflow_dispatch:
77
# Runs on pushes targeting the main branch
88
push:
9-
branches: [ main ]
9+
branches: [ main, develop ]
1010

1111
jobs:
1212
build-docs:
@@ -34,9 +34,6 @@ jobs:
3434
with:
3535
java-version: '17'
3636
distribution: 'adopt'
37-
38-
- name: Build phenopacket-tools
39-
run: ./mvnw -Prelease -DskipTests package # We test elsewhere
4037

4138
- name: Generate examples and build documentation
4239
run: |
@@ -45,33 +42,60 @@ jobs:
4542
mkdir -p gh-pages
4643
touch gh-pages/.nojekyll
4744
48-
## Copy Javadoc
49-
# Copy aggregated Javadoc into `apidocs` folder.
50-
# The aggregated docs are built by Maven in `package` phase.
51-
printf "Copying Javadocs from %s to %s\n" $(pwd)/target/site/apidocs $(pwd)/gh-pages/apidocs
52-
cp -r target/site/apidocs ./gh-pages/apidocs
45+
function build_docs {
46+
# The function will checkout a branch and build the Javadoc & documentation
47+
# into provided documentation directory.
48+
BRANCH=${1}
49+
DOCDIR=${2}
50+
51+
git checkout ${BRANCH}
52+
git fetch
53+
git pull
54+
## Init the target folder.
55+
# We will put all site documentation there.
56+
mkdir -p gh-pages/${DOCDIR}
5357
54-
## Generate examples
55-
# Find the CLI jar and run the `examples` command.
56-
jar=$(find phenopacket-tools-cli/target \
57-
-regextype posix-extended \
58-
-regex ".*[0-9]+\.[0-9]+\.[0-9]+(-RC[1-9][0-9]*)?\.jar$")
59-
if [ -f "${jar}" ]; then
60-
printf "Generating Phenopacket examples using ${jar}\n"
61-
java -jar ${jar} examples -v --output-directory ./gh-pages/examples
62-
else
63-
printf "Could not find phenopacket-tools JAR file\n"
64-
tree -L 3 .
65-
exit 1
66-
fi
58+
## Javadoc
59+
# Build the aggregated Javadoc.
60+
./mvnw --quiet clean
61+
./mvnw --quiet -Ddoclint=none -Dinherited=false javadoc:aggregate
62+
63+
# Copy aggregated Javadoc into `apidocs` folder.
64+
APIDOCS=$(pwd)/gh-pages/${DOCDIR}/apidocs
65+
printf "Copying Javadocs from %s to %s\n" $(pwd)/target/site/apidocs ${APIDOCS}
66+
cp -r target/site/apidocs ${APIDOCS}
67+
68+
## Generate examples
69+
# Find the CLI jar and run the `examples` command.
70+
./mvnw --quiet -Prelease -DskipTests package
71+
jar=$(find phenopacket-tools-cli/target \
72+
-regextype posix-extended \
73+
-regex ".*[0-9]+\.[0-9]+\.[0-9]+(-RC[1-9][0-9]*)?(-SNAPSHOT)?\.jar$")
74+
if [ -f "${jar}" ]; then
75+
printf "Generating Phenopacket examples using ${jar}\n"
76+
java -jar ${jar} examples -v --output-directory ./gh-pages/${DOCDIR}/examples
77+
else
78+
printf "Could not find phenopacket-tools JAR file\n"
79+
tree -L 3 .
80+
exit 1
81+
fi
82+
83+
## Build the docs
84+
# Generate the HTML pages and move the generated content into the target folder.
85+
printf "Building the %s documentation\n" ${DOCDIR}
86+
cd docs/
87+
# Replace the `release_tag` placeholder to the right value in place.
88+
# This must be done *prior* generating docs in several files
89+
sed -i "s/release_tag/${DOCDIR}/g" examples.rst
90+
make clean html
91+
cd ..
92+
mv docs/_build/html/* gh-pages/${DOCDIR}
93+
}
6794
68-
## Build the docs
69-
# Generate the HTML pages and move the generated content into the target folder.
70-
printf "Building the documentation\n"
71-
cd docs/
72-
make html
73-
mv _build/html/* ../gh-pages/
74-
cd ..
95+
# We store the docs for `master` in `stable` dir
96+
build_docs main stable
97+
# We store the docs for `develop` in `latest` dir
98+
build_docs develop latest
7599
76100
77101
- name: Deploy documentation.

CHANGELOG.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ Changelog
66
-----
77

88
* Update predefined constants, convenience functions and builders
9-
* Improve user guide, tutorial, and documentation
9+
* Improve user guide, tutorial, and documentation.
10+
* Introduce *latest* and *stable* documentation branches
11+
* Add showcase of apps that use phenopacket-tools to add more code examples
1012
* Run `MetaDataValidator` during base validation
13+
* Finalize JSON and YAML format sniffing
1114
* Fix example phenopackets
1215

1316
0.4.7

README.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,33 @@ as the adherence to additional user-defined requirements.
1515

1616
## Availability
1717

18-
Most users should download the latest distribution archive from the [Releases page](https://github.com/phenopackets/phenopacket-tools/releases).
19-
Alternatively, *phenopacket-tools* can be built from source, as described in the user guide.
18+
### CLI application
2019

21-
## Documentation
20+
A ZIP file with prebuilt CLI application is available for download from the [Releases page](https://github.com/phenopackets/phenopacket-tools/releases).
21+
Alternatively, the application can be built from source, as described in the library user guide (see the links below).
22+
23+
### Library
2224

23-
We provide the documentation for the latest release (`stable`) as well as the development version (`latest`).
25+
We provide *phenopacket-tools* library for use in JVM-based applications.
26+
We publish the JAR artifacts to public [Maven central](https://mvnrepository.com/artifact/org.phenopackets.phenopackettools)
27+
repository, and we make the Javadoc API documentation available for the *latest.
28+
29+
## Documentation
2430

25-
The documentation includes a *Tutorial* showing how to use the CLI, a comprehensive *CLI user guide*,
31+
We provide documentation with a *Tutorial* showing how to use the CLI, a comprehensive *CLI user guide*,
2632
a *Library user guide*, and the *Javadoc API documentation*.
2733

28-
**Stable**
29-
- [Tutorial](http://phenopackets.org/phenopacket-tools/stable/tutorial.html)
30-
- [CLI user guide](http://phenopackets.org/phenopacket-tools/stable/cli.html)
31-
- [Library user guide](http://phenopackets.org/phenopacket-tools/stable)
32-
- [Javadoc API documentation](http://phenopackets.org/phenopacket-tools/stable/apidocs)
33-
34-
**Latest**
35-
- [Tutorial](http://phenopackets.org/phenopacket-tools/latest/tutorial.html)
36-
- [CLI user guide](http://phenopackets.org/phenopacket-tools/latest/cli.html)
37-
- [Library user guide](http://phenopackets.org/phenopacket-tools/latest)
38-
- [Javadoc API documentation](http://phenopackets.org/phenopacket-tools/latest/apidocs)
34+
The documentation is published in two documentation branches:
35+
- **stable**: corresponds to the latest published release, and generally also to the last commit of the `main` Git branch
36+
- [Tutorial](http://phenopackets.org/phenopacket-tools/stable/tutorial.html)
37+
- [CLI user guide](http://phenopackets.org/phenopacket-tools/stable/cli.html)
38+
- [Library user guide](http://phenopackets.org/phenopacket-tools/stable)
39+
- [Javadoc API documentation](http://phenopackets.org/phenopacket-tools/stable/apidocs)
40+
- **latest**: corresponds to the bleeding edge code that is on the `develop` Git branch
41+
- [Tutorial](http://phenopackets.org/phenopacket-tools/latest/tutorial.html)
42+
- [CLI user guide](http://phenopackets.org/phenopacket-tools/latest/cli.html)
43+
- [Library user guide](http://phenopackets.org/phenopacket-tools/latest)
44+
- [Javadoc API documentation](http://phenopackets.org/phenopacket-tools/latest/apidocs)
3945

4046
## Issues
4147

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
# The short X.Y version.
3434
version = '1.0'
3535
# The full version, including alpha/beta/rc tags.
36-
release = '1.0.0-RC2'
36+
release = '1.0.0-RC3'
3737

3838
# -- General configuration ---------------------------------------------------
3939
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

docs/examples.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ Phenopackets Examples
66

77
Example JSON and YAML files can be viewed for the following:
88

9-
* `Phenopackets <https://github.com/phenopackets/phenopacket-tools/tree/gh-pages/examples/phenopackets>`_
10-
* `Families <https://github.com/phenopackets/phenopacket-tools/tree/gh-pages/examples/families>`_
11-
* `Cohorts <https://github.com/phenopackets/phenopacket-tools/tree/gh-pages/examples/cohorts>`_
9+
.. Note that the `release_tag` is replaced by an actual doc version descriptor in `pages.yml` workflow
10+
11+
* `Phenopackets <https://github.com/phenopackets/phenopacket-tools/tree/gh-pages/release_tag/examples/phenopackets>`_
12+
* `Families <https://github.com/phenopackets/phenopacket-tools/tree/gh-pages/release_tag/examples/families>`_
13+
* `Cohorts <https://github.com/phenopackets/phenopacket-tools/tree/gh-pages/release_tag/examples/cohorts>`_
14+

docs/index.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ from our `GitHub repository <https://github.com/phenopackets/phenopacket-tools>`
3333
The following sections describe phenopacket-tools library and CLI application.
3434
We start with :ref:`rsttutorial` to provide a quick overview of the CLI functionality.
3535
We follow with comprehensive description of the :ref:`rstcli`.
36-
The rest of the documentation offers an in-depth user guide for using the library functionality
36+
The rest of the documentation offers an in-depth user guide and a showcase of the library functionality
3737
in JVM-based applications.
3838

3939
.. toctree::
@@ -47,6 +47,7 @@ in JVM-based applications.
4747
converting
4848
validation
4949
examples
50+
showcase
5051

5152

5253
.. figure:: https://onlinelibrary.wiley.com/cms/asset/1cc0a141-da65-45a3-b7b0-6316b7b02069/ggn2202200016-fig-0002-m.jpg

docs/showcase.rst

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
.. _rstshowcase:
2+
3+
===================================================
4+
Showcase of applications that use phenopacket-tools
5+
===================================================
6+
7+
We present a list of tools and applications that use phenopacket-tools to read, build, or Q/C phenopackets.
8+
9+
10+
We present a list of tools and applications that use phenopacket-tools to read, build, or Q/C phenopackets and other components of the Phenopacket Schema.
11+
12+
* `LIRICAL <https://www.cell.com/ajhg/fulltext/S0002-9297(20)30230-5>`_ runs phenotype-driven prioritization of Mendelian diseases on a Phenopacket.
13+
14+
LIRICAL uses `phenopacket-tools-io` to `read phenopackets <https://github.com/TheJacksonLaboratory/LIRICAL/blob/f516e463986880285436fd93540da3c6b7510fb7/lirical-io/src/main/java/org/monarchinitiative/lirical/io/analysis/PhenopacketImportUtil.java#L18>`_.
15+
16+
..
17+
TODO
18+
and `phenopacket-tools-validator-core` for input `quality control <>`_.
19+
20+
* `SvAnna <https://genomemedicine.biomedcentral.com/articles/10.1186/s13073-022-01046-6>`_ applies phenotype-driven prioritization on coding and regulatory structural variants in long-read genome sequencing.
21+
22+
SvAnna uses `phenopacket-tools-io` for `reading input <https://github.com/TheJacksonLaboratory/SvAnna/blob/master/svanna-cli/src/main/java/org/monarchinitiative/svanna/cli/cmd/PhenopacketAnalysisDataUtil.java>`_
23+
formatted as a phenopacket.
24+
25+
* `HPO Case Annotator <https://github.com/monarch-initiative/HpoCaseAnnotator>`_ is a GUI application for biocuration of case reports, cohorts and families.
26+
27+
Hpo Case Annotator uses `phenopacket-tools-builder` for `mapping the entered data into Phenopacket Schema <https://github.com/monarch-initiative/HpoCaseAnnotator/tree/development/hpo-case-annotator-export/src/main/java/org/monarchinitiative/hpo_case_annotator/export/ppv2>`_
28+
format and `phenopacket-tools-io` for `storing phenopackets <https://github.com/monarch-initiative/HpoCaseAnnotator/blob/509480ff78af3996bdacb6513feedb1f18e39c17/hpo-case-annotator-app/src/main/java/org/monarchinitiative/hpo_case_annotator/app/controller/MainController.java#L727>`_ into JSON files.
29+
30+
31+
Please let us know about your application by submitting a request on our `issue tracker <https://github.com/phenopackets/phenopacket-tools/issues>`_.

phenopacket-tools-builder/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.phenopackets.phenopackettools</groupId>
99
<artifactId>phenopacket-tools</artifactId>
10-
<version>1.0.0-RC2</version>
10+
<version>1.0.0-RC3</version>
1111
</parent>
1212

1313
<artifactId>phenopacket-tools-builder</artifactId>

phenopacket-tools-cli/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.phenopackets.phenopackettools</groupId>
99
<artifactId>phenopacket-tools</artifactId>
10-
<version>1.0.0-RC2</version>
10+
<version>1.0.0-RC3</version>
1111
</parent>
1212

1313
<artifactId>phenopacket-tools-cli</artifactId>

phenopacket-tools-cli/src/main/java/org/phenopackets/phenopackettools/cli/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"phenopacket-tools (pxf)",
1616
"An application and library for building, conversion, and validation of GA4GH Phenopackets.\n"
1717
},
18-
version = "v1.0.0-RC2",
18+
version = "v1.0.0-RC3",
1919
mixinStandardHelpOptions = true,
2020
subcommands = {
2121
// see https://picocli.info/autocomplete.html
@@ -38,7 +38,7 @@ public class Main {
3838
.optionParams(italic)
3939
.build();
4040

41-
public static final String FOOTER = "\nSee the full documentation at http://phenopackets.org/phenopacket-tools\n";
41+
public static final String FOOTER = "\nSee the full documentation at http://phenopackets.org/phenopacket-tools/stable\n";
4242

4343
private Main() {
4444
// private no-op

0 commit comments

Comments
 (0)