blob: 5f3a9d0890668799cf6a88c8e6a5f9e0ebc8f577 [file] [log] [blame] [view]
# Eclipse GlassFish Documentation
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.
## To Do
* Add a Jenkins job that waits for changes and publishes the web site.