Modified: phoenix/site/publish/views.html URL: http://svn.apache.org/viewvc/phoenix/site/publish/views.html?rev=1649634&r1=1649633&r2=1649634&view=diff ============================================================================== --- phoenix/site/publish/views.html (original) +++ phoenix/site/publish/views.html Mon Jan 5 19:58:17 2015 @@ -1,7 +1,7 @@ <!DOCTYPE html> <!-- - Generated by Apache Maven Doxia at 2014-12-27 + Generated by Apache Maven Doxia at 2015-01-05 Rendered using Reflow Maven Skin 1.1.0 (http://andriusvelykis.github.io/reflow-maven-skin) --> <html xml:lang="en" lang="en"> @@ -55,15 +55,16 @@ <li ><a href="roadmap.html" title="Roadmap">Roadmap</a></li> <li ><a href="performance.html" title="Performance">Performance</a></li> <li ><a href="team.html" title="Team">Team</a></li> - <li ><a href="contributing.html" title="Contributing">Contributing</a></li> <li ><a href="resources.html" title="Resources">Resources</a></li> <li ><a href="mailing_list.html" title="Mailing Lists">Mailing Lists</a></li> <li ><a href="source.html" title="Source Repository">Source Repository</a></li> <li ><a href="issues.html" title="Issue Tracking">Issue Tracking</a></li> <li ><a href="download.html" title="Download">Download</a></li> <li class="divider"/> - <li ><a href="release.html" title="How to release">How to release</a></li> - <li ><a href="building_website.html" title="How to update website">How to update website</a></li> + <li ><a href="contributing.html" title="How to Contribute">How to Contribute</a></li> + <li ><a href="develop.html" title="How to Develop">How to Develop</a></li> + <li ><a href="building_website.html" title="How to Update Website">How to Update Website</a></li> + <li ><a href="release.html" title="How to Release">How to Release</a></li> <li class="divider"/> <li ><a href="http://www.apache.org/licenses/" title="License" class="externalLink">License</a></li> <li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" class="externalLink">Sponsorship</a></li> @@ -219,9 +220,6 @@ VALUES('John Doe', CURRENT_DATE(), NEXT <a href="team.html" title="Team">Team</a> </li> <li > - <a href="contributing.html" title="Contributing">Contributing</a> - </li> - <li > <a href="resources.html" title="Resources">Resources</a> </li> <li > @@ -240,10 +238,16 @@ VALUES('John Doe', CURRENT_DATE(), NEXT <a href="http:divider" title=""></a> </li> <li > - <a href="release.html" title="How to release">How to release</a> + <a href="contributing.html" title="How to Contribute">How to Contribute</a> + </li> + <li > + <a href="develop.html" title="How to Develop">How to Develop</a> + </li> + <li > + <a href="building_website.html" title="How to Update Website">How to Update Website</a> </li> <li > - <a href="building_website.html" title="How to update website">How to update website</a> + <a href="release.html" title="How to Release">How to Release</a> </li> <li > <a href="http:divider" title=""></a> @@ -367,7 +371,7 @@ VALUES('John Doe', CURRENT_DATE(), NEXT <div class="row"> <div class="span12"> <p class="pull-right"><a href="#">Back to top</a></p> - <p class="copyright">Copyright ©2014 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p> + <p class="copyright">Copyright ©2015 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p> </div> </div> </div>
Modified: phoenix/site/source/src/site/markdown/contributing.md URL: http://svn.apache.org/viewvc/phoenix/site/source/src/site/markdown/contributing.md?rev=1649634&r1=1649633&r2=1649634&view=diff ============================================================================== --- phoenix/site/source/src/site/markdown/contributing.md (original) +++ phoenix/site/source/src/site/markdown/contributing.md Mon Jan 5 19:58:17 2015 @@ -1,4 +1,4 @@ -# Contributing +# Contributing to Apache Phoenix ## General process @@ -6,8 +6,9 @@ The general process for contributing cod 1. Discuss your changes on the dev mailing list 2. Create a JIRA issue unless there already is one -3. Prepare a patch containing your changes -4. Submit the patch +3. Setup your development environment +4. Prepare a patch containing your changes +5. Submit the patch These steps are explained in greater detail below. @@ -23,6 +24,10 @@ If you're considering adding major new f The first step is to create a ticket on the [Phoenix JIRA](http://issues.apache.org/jira/browse/PHOENIX). +### Setup development environment + +To setup your development, see [these](develop.html) directions. + ### Generate a patch There are two general approaches that can be used for creating and submitting a patch: GitHub pull requests, or manually creating a patch with Git. Both of these are explained below. @@ -66,4 +71,3 @@ A patch file can be downloaded from a Gi When applying a patch contributed from a user, please use the "git am" command if a fully-formatted patch file is available, as this preserves the contributor's contact information. Otherwise, the contributor's name should be added to the commit message. If a single ticket consists of a patch with multiple commits, the commits can be squashed into a single commit using `git rebase`. - Added: phoenix/site/source/src/site/markdown/develop.md URL: http://svn.apache.org/viewvc/phoenix/site/source/src/site/markdown/develop.md?rev=1649634&view=auto ============================================================================== --- phoenix/site/source/src/site/markdown/develop.md (added) +++ phoenix/site/source/src/site/markdown/develop.md Mon Jan 5 19:58:17 2015 @@ -0,0 +1,193 @@ +# Developing for Apache Phoenix +Below are the steps necessary to setup your development environment so that you may contribute to Apache Phoenix. + +* [Getting Started](#gettingStarted) +* [Setup local Git Repository](#localGit) +* [Eclipse](#eclipse) + * [Get Settings and Preferences Correct](#eclipsePrefs) + * [Connecting to Jira](#eclipseJira) + * [Commit](#eclipseCommit) +* [Intellij](#intellij) + * [Simplified Setup](#intellijSetup) + * [Local repository setup](#intellijLocalSetup) + * [Get Settings and Preferences Correct](#intellijPrefs) + * [Connecting to Jira](#intellijJira) + * [Commit](#intellijCommit) +* [Contributing Finished Work](#contribute) + * [Pull Requests](#pullRequest) + +<a id='gettingStarted'></a> +## Getting Started +1. Review the [How to Contribute](contributing.html) documentation. +1. Sign up for a [github.com](https://github.com/) account if you don't have one. +1. Go to the [Phoenix Github Repository](https://github.com/apache/phoenix) and create a fork of the repository which will create repository {username}/phoenix. +1. Setup git locally. + * [Instructions](https://help.github.com/articles/set-up-git/) + * [Download](http://git-scm.com/downloads) +1. Make sure you have a jdk (Phoenix requires [JDK 7](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)). +1. Make sure you have [maven 3+](http://maven.apache.org/download.cgi) installed. +1. Add the following to you .bashrc or equivalent to make sure maven and java are configured to run from command line correctly. + + <pre> + export JAVA_HOME={path to jdk} + export JDK_HOME={path to jdk} + export M2_HOME={patch to maven} + export PATH=$M2_HOME/bin:$PATH + </pre> + +<a id='localGit'></a> +## Setup Local Git Repository +Note that you may find it easier to clone from the IDE of your choosing as it may speed things up for you especially with Intellij + +1. Create a local clone of your new forked repository + + <pre> + git clone https://github.com/{username}/phoenix.git + </pre> +1. Configure your local repository to be able to sync with the apache/phoenix repository + + <pre> + cd {repository} + git remote add upstream https://github.com/apache/phoenix.git + </pre> +1. Setup your development environment + +<a id='eclipse'></a> +## For Eclipse IDE for Java Developers (Luna) +1. [Download Eclipse](https://eclipse.org/downloads/packages/eclipse-ide-java-developers/lunar) + * You will want 'Eclipse IDE for Java Developers' unless you want to install the following tools by hand + * [m2e](http://download.eclipse.org/technology/m2e/releases/) + * [egit](http://www.eclipse.org/egit/download/) +1. Configure Eclipse to handle Maven Issues appropriately so you don't see unnecessary errors. + * Window -> Preferences -> Maven -> Errors/Warnings + * Choose Ignore option for 'Plugin execution not covered by lifecycle configuation' -> Ok +1. Add a the local git repository to Eclipse + * Window -> Show View -> Other... -> Git | Git Repositories -> Ok + * Click 'Add an existing local Git Repository to this view' + * Search for appropriate git repository + * Finish +1. Import Maven Projects + * File -> Import -> Maven -> Existing Maven Projects + * Choose Root directory where phoenix git repository is located + * Select All + * Finish +1. Generate Lexer and Parser Files + * Select phoenix-core project + * Run -> Run As -> Maven generate-sources +1. Make sure you are setup to develop now. + * Open IndexUtilTest.Java + * Run -> Run As -> JUnit Test + +<a id='eclipsePrefs'></a> +### Get Settings and Preferences Correct +1. Import General Preferences + * File -> Import... -> General -> Preferences + * From - {repository}/dev/eclipse_prefs_phoenix.epf + * Import All + * Finish +1. Import Code Templates + * Window -> Preferences -> Java -> Code Style -> Code Templates -> Import... + * Navigate to {repository}/dev/PhoenixCodeTemplate.xml -> Ok +1. Import Formatter + * Window -> Preferences -> Java -> Code Style -> Formatter-> Import... + * Navigate to {repository}/dev/PhoenixCodeTemplate.xml -> Ok +1. Import correct import order settings + * Window -> Preferences -> Java -> Code Style -> Organize Imports -> Import... + * Navigate to {repository}/dev/phoenix.importorder -> Ok +1. Make sure you use space for tabs + * Window -> Preferences -> General -> Editors -> Text Editors + * Select 'Insert Spaces for tabs' -> Ok + +<a id='eclipseJira'></a> +### Connecting to Jira +1. Install Connector for Jira + * Help -> Install New Software -> Add + * Location - http://update.atlassian.com/atlassian-eclipse-plugin/rest/e3.7 -> Atlassian Connector + * Finish +1. Add Task Repository + * Window -> Show View -> Mylyn -> Task Repositories -> Add Task Repository + * JIRA -> Next -> Server - https://issues.apache.org/jira -> Validate Settings + * Finish +1. Add Filter Of All JIRAs assigned to you + * Right Click on Repository You added -> New Query... -> Predefined Filter + * Select Phoenix Project -> Select Assigned to me + * Finish + +<a id='eclipseCommit'></a> +### Commit +1. Commit Changes and Push to Github with appropriate Message + * CTRL-# -> Set Commit message to include jira number at beginning PHOENIX-#### + * Commit and Push + +<a id='intellij'></a> +## For Intellij +* [Download Intellij](https://www.jetbrains.com/idea/download/) +<a id='intellijSetup'></a> + +#### If you don't have a local git repository setup +This will automatically create the local clone of your repository for you. You will still want to add the remote upstream repository from above afterwards. + +1. Clone Github project and Import Maven Projects to IDE + * Check out from Version Control -> GitHub -> Enter your GitHub Login Info + * https://github.com/{username}/phoenix.git -> Check out from Versin Control | Yes +1. Generate Parser and Lexer Files + * Maven Projects -> Phoenix Core -> Lifecycle -> compile +1. Compile Project + * Build -> Make Project +1. Make sure you are setup to develop now. + * Open IndexUtilTest.Java -> Run -> Run IndexUtilTest + +<a id='intellijLocalSetup'></a> +#### If you already have a local git repository setup +1. Import Projects + * Import Project + * Select Directory of your local repository -> Next + * Import project from external model -> Maven -> Next + * Select 'Import Maven project automatically' + * Select 'Create IntelliJ IDEA modules for aggregator projects' + * Select 'Keep source and test folders on reimport' + * Select 'Exclude build directory' + * Select 'Use Maven output directories' -> Next + * Select maven-3 -> Next + * Next a whole bunch +1. Generate Parser and Lexer Files + * Maven Projects -> Phoenix Core -> Lifecycle -> compile +1. Compile Project + * Build -> Make Project +1. Make sure you are setup to develop now. + * Open IndexUtilTest.Java -> Run -> Run IndexUtilTest + +<a id='intellijPrefs'></a> +### Get Settings and Preferences Correct +1. Import Settings from eclipse profile + * File -> Settings -> Editor -> Code Style -> Java + * Set From... -> Import... -> Eclipse XML Profile -> {repository}/dev/PhoenixCodeTemplate.xml + +<a id='intellijJira'></a> +### Connecting to Jira +1. Create Connection to Apache Jira + * Tools -> Tasks and Contexts -> Configure Servers -> + -> Jira -> + * Server Url: 'https://issues.apache.org/jira' + * Query: 'project=Phoenix and ...' +1. Switch Easily between Tasks + * Tools-> Tasks and Contexts -> Open Task->PHOENIX-#### + * Select Create branch PHOENIX-#### from master->OK + +<a id='intellijCommit'></a> +### Commit +1. Commit Changes and Push to Github with appropriate Message + * VCS -> Commit -> Set Commit message to include jira number PHOENIX-#### + * Commit and Push + +<a id='contribute'></a> +## Contributing finished work + +<a id='pullRequest'></a> +### Create pull request +1. Review the [How to Contribute](contributing.html) documentation. +1. Navigate to branch - https://github.com/{username}/phoenix/tree/{branchname} +1. Click Pull Request +1. Confirm that you see apache:master ... {username}:{branchname} +1. Make sure Title of pull request has the jira name at beginning PHOENIX-{####} +1. Click create pull request + Modified: phoenix/site/source/src/site/site.xml URL: http://svn.apache.org/viewvc/phoenix/site/source/src/site/site.xml?rev=1649634&r1=1649633&r2=1649634&view=diff ============================================================================== --- phoenix/site/source/src/site/site.xml (original) +++ phoenix/site/source/src/site/site.xml Mon Jan 5 19:58:17 2015 @@ -59,15 +59,16 @@ <item href="roadmap.html" name="Roadmap"/> <item href="performance.html" name="Performance"/> <item href="team.html" name="Team"/> - <item href="contributing.html" name="Contributing"/> <item href="resources.html" name="Resources"/> <item href="mailing_list.html" name="Mailing Lists"/> <item href="source.html" name="Source Repository"/> <item href="issues.html" name="Issue Tracking"/> <item href="download.html" name="Download" /> <item href="http:divider" name=""/> - <item href="release.html" name="How to release" /> - <item href="building_website.html" name="How to update website" /> + <item href="contributing.html" name="How to Contribute"/> + <item href="develop.html" name="How to Develop" /> + <item href="building_website.html" name="How to Update Website" /> + <item href="release.html" name="How to Release" /> <item href="http:divider" name=""/> <item href="http://www.apache.org/licenses/" name="License" /> <item href="http://www.apache.org/foundation/sponsorship.html" name="Sponsorship" />
