Most of the quickstarts require starting Red Hat JBoss Enterprise Application Platform in standalone mode. Some require the "standalone-full" profile, some require XTS, some require Postgres and some require other quickstarts to be deployed. Profiles are used in the root POM to separate out these groups, allowing you to test the quickstarts easily. For example, to run those that require only standalone mode:
mvn clean verify wildfly:deploy wildfly:undeploy -Parq-remote -P-requires-postgres,-requires-full,-complex-dependencies,-requires-xts
Or, to run those only those quickstarts that require the full profile
mvn clean verify wildfly:deploy wildfly:undeploy -Parq-remote -P-requires-postgres,-default,-complex-dependencies,-requires-xts
And so on.
If the quickstarts are stored in another repository, you may wish to merge them in from there, do this:
Add the other repo as a remote
git remote add -f <other repo> <other repo url>
Merge from the tag in the other repo that you wish to use. It is important to use a tag, to make tracking of history easier. We use a recursive merge strategy, always preferring changes from the other repo, in effect overwriting what we have locally.
git merge <tag> -s recursive -Xtheirs -m "Merge <Other repository name> '<Tag>'"
Review and push to upstream
git push upstream HEAD:master
The quickstarts use flexmark maven plugin to process the markdown. This builds on the basic markdown syntax, adding support for tables, code highlighting, relaxed code blocks etc). We add a couple of custom piece of markup - [TOC] which allows a table of contents, based on headings, to be added to any file, and [Quickstart-TOC], which adds in a table listing the quickstarts.
Just run
mvn generate-resources -Pdocs
To render all markdown files to HTML.
To do proper release with zip file & all markdown files with resolved variables and rendered html files, run
mvn clean install -Drelease
Which will also result in zip with all quickstarts in dist/target
gpg.passphrase
in your settings.xml
in the release
profile e.g.
<profile>
<id>release</id>
<properties>
<gpg.passphrase>myPassPhrase</gpg.passphrase>
</properties>
</profile>
settings.xml
with the id jboss-releases-repository
e.g.
<server>
<id>jboss-releases-repository</id>
<username>myUserName</username>
<password>myPassword</password>
</server>
Add org.sonatype.plugins
plug-in group to your settings.xml
so the Nexus plug-in can be available for publishing scripts.
<pluginGroups>
<pluginGroup>org.sonatype.plugins</pluginGroup>
</pluginGroups>
filemgmt.jboss.org/download_htdocs/jbossas
dist/release-utils.sh -r
Release
dist/release.sh -s <old snapshot version> -r <release version>
This will update the version number, commit and tag, build the distro zip and upload it to <download.jboss.org>. Then it will reset the version number back to the snapshot version number.