# Apache Turbine | |
Turbine Intro | |
-------------------------------------------------------------------------- | |
Welcome to Turbine. For more information about Turbine, please look | |
at the [HTML documentation](https://turbine.apache.org/). | |
Here is a description of what each of the top level directories | |
contains. Please consult the documentation in each of the lower level | |
directories for information that is specific to their contents. | |
| Directory | Explanation | | |
| ------------- |:--------------------:| | |
|conf/ | This is where the sample configurations live. | | |
| src/ | This is where all of the source code to Turbine lives. | | |
|target/ | This is a temporary directory for building the project. | | |
| | | | |
|src/site/xdocs/ | This is where the documentation and database schemas live. All of the files in this directory are mirrored onto the live website. | | |
## Building | |
In order to get started with Turbine, you must build it first. | |
Turbine uses Maven for its build environment. You can find installation | |
information about Maven online at http://maven.apache.org/ . | |
Once Maven has been installed, just type 'mvn package'. The default behavior | |
is to compile, run the unit tests, and build the jar. | |
### Docker Testcontainer (optional) | |
To allow a simulation of an integrated environment you could start dockerized tests (with tag docker) | |
with the *docker-testcontainer* profile. | |
mvn clean test -Pdocker-testcontainer. | |
This will initiate a start of an mysql database and an cleanup after tests are completed. | |
The currently used mapped ort is saved into the file | |
conf/test/docker-managertorque.usersettings.properties | |
Find more about Docker-Testcontainer [here](https://www.testcontainers.org/). | |
If you want to get one step further check out the Turbine-Archetype [here](https://github.com/apache/turbine-archetypes). | |
This allows you use an Turbine Maven archetype in a hosted or dockerized environment. | |
### Site Building | |
Some other useful goals: | |
mvn site - generate the site documention | |
* test site | |
mvn site scm-publish:publish-scm -Dscmpublish.dryRun=true -Papache-release | |
Activating Maven profile apache-release is not required, und may require a signing process (you need a gpg key). | |
* deploy site | |
Either check out the branch asf-ste and copy /replace files from target/site to the *root*, add and commit. | |
This will trigger (thanks to the .asf.yaml configuration) an update to the distribution site. | |
Or run: | |
mvn clean site scm-publish:publish-scm -Papache-release | |
* Deploys Turbine release site to the Apache web site (cft. to https://github.com/apache/turbine-site how to deploy main Turbine web site). | |
CAVEAT: If you make a dry run or decide to rebuild a new site when publishing, delete the cache folder to avoid that no site might be deployt! | |
By default this folder is user.home/turbine-sites/turbine, configured in Turbine parent property turbine.site.cache. | |
### More about Releases | |
Find more about release related command hints in | |
* https://github.com/apache/turbine-fulcrum-build/ | |
* IMPORTANT: BEFORE running release, i.e. if the major.minor version numbers changed, you have to update turbine.site.path in pom.xml to the new production path | |
(e.g. turbine/turbine-4.0 for version 4.0) removing the "development/"-part of the path. | |
* if updating the site for the new SNAPSHOT version add the new development path (e.g. turbine/development/turbine-5.1 for version 5.1-SNAPSHOT) AFTER the release. | |
* Find more about the site structure here: https://gitbox.apache.org/repos/asf#turbine. | |
As of Turbine 2.3, you must also have the Torque plugin for Maven installed | |
to build Turbine. Information on how to install the plugin is available | |
at http://db.apache.org/torque/torque-5.0/documentation/modules/maven-plugin/index.html . | |
------------- | |
-The Turbine Team |