blob: 184e90cecc8e8748c88ea80b6ced9afc94250669 [file] [log] [blame] [view]
# 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