The subdirectories of this directory contain the Eclipse GlassFish website and documentation content, and the Maven projects to publish it.
The entire gh-pages content is published from here. DO NOT update the gh-pages branch directly.
The website
project contains the top level web site content. The content is in src/main/resources
.
The parent
project effectively acts as an include file that contains all the common jbake configuration that the other projects need. (This project needs to be able to be installed with mvn install
and unfortunately I couldn‘t figure out how to do that without having some valid jbake configuration in this project. So, there’s a dummy jbake.properties
file but no real content.)
The distribution
project combines all the separate documentation project contents into a single file, to make it convenient for the publish
project to reference published versions of the documentation for previous releases.
The publish
project contains the configuration to publish the entire web site.
Each of the documentation projects generates a jar file with the content for that document, using jbake. The content is installed with mvn install
. The content of all these jar files is combined into a single jar file by the distribution
project. Only this combine jar file needs to be deployed to Maven. The publish
project collects all of these distribution jar files for the current relase and previous releases using the maven-dependency-plugin
, lays them out in the proper directory structure, and uses the maven-scm-publish-plugin
to publish the content to the gh-pages
branch of the GitHub repository.
For each of the documents, there‘s a current version published under the docs/SNAPSHOT
directory, as well as stable released versions published under the docs/<version>
directories. There’s a docs/latest
symlink that refers to the latest (final) release.
When a GlassFish release is done, the documents need to be generated and deployed, so that final version numbered documents will be in the Maven repository forever in the distribution artifact, and can be collected by the publish
project to create the web site. The publish/pom.xml
file needs to be updated to add the newly released version. The website/src/main/resources/docs/README.md
file needs to be updated to add the previous versions to a “previous versions” section.