| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| Building Apache Unomi |
| ===================== |
| |
| Initial Setup |
| ------------- |
| |
| 1) Install J2SE 8.0 SDK (or later), which can be downloaded from |
| http://www.oracle.com/technetwork/java/javase/downloads/index.html |
| |
| 2) Make sure that your JAVA_HOME environment variable is set to the newly installed |
| JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or |
| $JAVA_HOME$/bin (unix). |
| |
| 3) Install Maven 3.0.3 (or later), which can be downloaded from |
| http://maven.apache.org/download.html. Make sure that your PATH includes |
| the MVN_HOME/bin directory. |
| |
| |
| Building |
| -------- |
| |
| 1) Change to the top level directory of Apache Unomi source distribution. |
| 2) Run |
| |
| $> mvn clean install |
| |
| This will compile Apache Unomi and run all of the tests in the |
| Apache Unomi source distribution. Alternatively, you can run |
| |
| $> mvn -P \!integration-tests,\!performance-tests clean install |
| |
| This will compile Apache Unomi without running the tests and takes less |
| time to build. |
| |
| 3) The distributions will be available under "package/target" directory. |
| |
| Updating the website |
| -------------------- |
| |
| We provide two scripts to generate the website and upload the modifications |
| to the live SVN repository. To generate the website and check if everything is in |
| place simply launch: |
| |
| ./generate-site.sh |
| |
| The generated site will then be in the target/site directory |
| |
| Once it is ready to be published to the live site, simply use the following |
| command: |
| |
| ./generate-site-and-upload.sh SVNusername SVNpassword |
| |
| Where the required username and password have the proper credentials for the SVN |
| Apache repository. |
| |
| JGitFlow |
| -------- |
| |
| We now can use the [JGitFlow Maven plugin](http://jgitflow.bitbucket.org) to make it easier to work with feature, |
| hotfix and other types of branches. |
| |
| For example, to start a feature branch, simply use |
| |
| mvn jgitflow:feature-start |
| |
| This will prompt you for the feature name, and then create a feature branch and update |
| all the POMs to have a version that contains the feature name. This makes it then a lot |
| easier to integrate with continuous integration systems to generate builds for the |
| feature branch. |
| |
| Once the feature is completed you can use |
| |
| mvn jgitflow:feature-finish |
| |
| To merge the branch into master. |