Repository: airavata-site Updated Branches: refs/heads/asf-site 246aae928 -> fb55892fb
(AIRAVATA-1963)(AIRAVATA-1964)(AIRAVATA-1965) Clean up of the site's developer page to resolve the associated issues. Project: http://git-wip-us.apache.org/repos/asf/airavata-site/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata-site/commit/fb55892f Tree: http://git-wip-us.apache.org/repos/asf/airavata-site/tree/fb55892f Diff: http://git-wip-us.apache.org/repos/asf/airavata-site/diff/fb55892f Branch: refs/heads/asf-site Commit: fb55892fb88736bc120610c55cd7a6aae6357dd7 Parents: 246aae9 Author: marpierc <[email protected]> Authored: Fri May 13 10:37:06 2016 -0400 Committer: marpierc <[email protected]> Committed: Fri May 13 10:37:06 2016 -0400 ---------------------------------------------------------------------- README.md | 2 +- content/assets/css/main.css | 64 +++++++++--------- content/development.html | 138 ++++++++++++++++++++++----------------- source/assets/css/main.scss | 3 +- source/development.md | 138 ++++++++++++++++++++++----------------- 5 files changed, 188 insertions(+), 157 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata-site/blob/fb55892f/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index c2ab191..1b4f224 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The site's content is written in Mark Down which is built with [Jekyll](http://j The git repo only has one branch asf-site and the parent folder has all mark down files. Jekyll will be used to generate the HTML. The generated files are served from 'content' folder. -It is important to understand this distinguishn: +It is important to understand this distinction: 1. The parent folder has raw markdown files and jekyll code and includes resources for building including the css, javascript and images. 1. The generated static website content is in the content folder. This is the actual static content hosted but do not edit it directly. http://git-wip-us.apache.org/repos/asf/airavata-site/blob/fb55892f/content/assets/css/main.css ---------------------------------------------------------------------- diff --git a/content/assets/css/main.css b/content/assets/css/main.css index b1f465d..a10bdc6 100644 --- a/content/assets/css/main.css +++ b/content/assets/css/main.css @@ -26,7 +26,7 @@ h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, .highlight { - margin-bottom: 15px; } + margin-bottom: 15x; } /** * Images @@ -48,7 +48,7 @@ figcaption { * Lists */ ul, ol { - margin-left: 30px; } + margin-left: 30x; } li > ul, li > ol { @@ -78,7 +78,7 @@ a { blockquote { color: #828282; border-left: 4px solid #e8e8e8; - padding-left: 15px; + padding-left: 15x; font-size: 18px; letter-spacing: -1px; font-style: italic; } @@ -110,18 +110,18 @@ pre { * Wrapper */ .wrapper { - max-width: -webkit-calc(800px - (30px * 2)); - max-width: calc(800px - (30px * 2)); + max-width: -webkit-calc(800px - (30x * 2)); + max-width: calc(800px - (30x * 2)); margin-right: auto; margin-left: auto; - padding-right: 30px; - padding-left: 30px; } + padding-right: 30x; + padding-left: 30x; } @media screen and (max-width: 800px) { .wrapper { - max-width: -webkit-calc(800px - (30px)); - max-width: calc(800px - (30px)); - padding-right: 15px; - padding-left: 15px; } } + max-width: -webkit-calc(800px - (30x)); + max-width: calc(800px - (30x)); + padding-right: 15x; + padding-left: 15x; } } /** * Clearfix @@ -207,11 +207,11 @@ pre { */ .site-footer { border-top: 1px solid #e8e8e8; - padding: 30px 0; } + padding: 30x 0; } .footer-heading { font-size: 18px; - margin-bottom: 15px; } + margin-bottom: 15x; } .contact-list, .social-media-list { @@ -221,44 +221,44 @@ pre { .footer-col-wrapper { font-size: 15px; color: #828282; - margin-left: -15px; } + margin-left: -15x; } .footer-col { float: left; - margin-bottom: 15px; - padding-left: 15px; } + margin-bottom: 15x; + padding-left: 15x; } .footer-col-1 { - width: -webkit-calc(35% - (30px / 2)); - width: calc(35% - (30px / 2)); } + width: -webkit-calc(35% - (30x / 2)); + width: calc(35% - (30x / 2)); } .footer-col-2 { - width: -webkit-calc(20% - (30px / 2)); - width: calc(20% - (30px / 2)); } + width: -webkit-calc(20% - (30x / 2)); + width: calc(20% - (30x / 2)); } .footer-col-3 { - width: -webkit-calc(45% - (30px / 2)); - width: calc(45% - (30px / 2)); } + width: -webkit-calc(45% - (30x / 2)); + width: calc(45% - (30x / 2)); } @media screen and (max-width: 800px) { .footer-col-1, .footer-col-2 { - width: -webkit-calc(50% - (30px / 2)); - width: calc(50% - (30px / 2)); } + width: -webkit-calc(50% - (30x / 2)); + width: calc(50% - (30x / 2)); } .footer-col-3 { - width: -webkit-calc(100% - (30px / 2)); - width: calc(100% - (30px / 2)); } } + width: -webkit-calc(100% - (30x / 2)); + width: calc(100% - (30x / 2)); } } @media screen and (max-width: 600px) { .footer-col { float: none; - width: -webkit-calc(100% - (30px / 2)); - width: calc(100% - (30px / 2)); } } + width: -webkit-calc(100% - (30x / 2)); + width: calc(100% - (30x / 2)); } } /** * Page content */ .page-content { - padding: 30px 0; } + padding: 30x 0; } .page-heading { font-size: 20px; } @@ -267,7 +267,7 @@ pre { margin-left: 0; list-style: none; } .post-list > li { - margin-bottom: 30px; } + margin-bottom: 30x; } .post-meta { font-size: 14px; @@ -281,7 +281,7 @@ pre { * Posts */ .post-header { - margin-bottom: 30px; } + margin-bottom: 30x; } .post-title { font-size: 42px; @@ -292,7 +292,7 @@ pre { font-size: 36px; } } .post-content { - margin-bottom: 30px; } + margin-bottom: 30x; } .post-content h2 { font-size: 32px; } @media screen and (max-width: 800px) { http://git-wip-us.apache.org/repos/asf/airavata-site/blob/fb55892f/content/development.html ---------------------------------------------------------------------- diff --git a/content/development.html b/content/development.html index e1fa179..8e99897 100644 --- a/content/development.html +++ b/content/development.html @@ -64,63 +64,59 @@ <!--Hero--> <div class="section no-pad-bot"> -<main> +<main> <div class="container"> <div class="row"> <div class="col s12 m9 l10 push-m3 push-l2"> <div id="downloads" class="section scrollspy"> <h2 class="header">Downloads</h2> - <p>All downloads can be verified using the Apache Airavata code signing <a href="http://www.apache.org/dist/airavata/KEYS">KEYS</a>.</p> - <h4 id="015-latest-release">0.15 (Latest Release)</h4> - <ul> + <p>All downloads can be verified using the Apache Airavata code signing <a href="http://www.apache.org/dist/airavata/KEYS">KEYS</a>.</p> + <h3 id="015-latest-release">0.15 (Latest Release)</h3> + <ol> <li> <p><a href="https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob_plain;f=RELEASE_NOTES;hb=refs/tags/airavata-0.15">Release Notes</a></p> </li> <li> - <p><strong>Source:</strong> </p> - <ul> - <li><a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/airavata-0.15-source-release.zip">airavata-0.15-source-release.zip</a> [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.md5">md5</a>]</li> - </ul> + <strong>Source:</strong> + <a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/airavata-0.15-source-release.zip">airavata-0.15-source-release.zip</a> [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.md5">md5</a>] </li> <li> - <p><strong>Binary Artifacts:</strong></p> + <p><strong>Binary: </strong></p> </li> - <li> - <p>Airavata Server:</p> - <ul> + <ol> <li> <a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/apache-airavata-server-0.15-bin.tar.gz">apache-airavata-server-0.15-bin.tar.gz</a> [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.tar.gz.md5">md5</a>] </li> <li> <a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/apache-airavata-server-0.15-bin.zip">apache-airavata-server-0.15-bin.zip</a> [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.zip.md5">md5</a>] </li> - </ul> - </li> - </ul> - <h6 id="previous-releases-are-available-from-release-archive"> + </ol> + </ol> + <h3>Previous Releases</h3> + <p id="previous-releases-are-available-from-release-archive"> Previous releases are available from - <a href="downloads-archive.html">Release Archive</a> - </h6> + <a href="http://airavata.staging.apache.org/about/downloads-archive.html">Release Archive</a>. We encourage users and developers to upgrade to the current release. + </p> </div> <div id="issue" class="section scrollspy"> <h2 class="header">Issue Tracker</h2> <p> - As all the other Apache projects, Apache Airavata uses Atlassian JIRA as the official issue tracker. All Apache project issues are publically available for anyone to view. Also itâs free to create account for new users as well. + Apache Airavata uses Atlassian JIRA as the official issue tracker. All Apache project issues are publically available for anyone to view. Accounts are required to post issues, but anyone can create an account. </p> <p> Issue Tracker Link : <a href="https://issues.apache.org/jira/browse/airavata/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" target="_blank">https://issues.apache.org/jira/browse/airavata/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel</a> </p> </div> - <div id="development" class="section scrollspy"> + <div id="tools" class="section scrollspy"> <h2 class="header">Development Tools</h2> - <h4>Profiling and Performance</h4> + <h3>Profiling and Performance</h3> <p> Airavata developers use <a href="http://www.ej-technologies.com/products/jprofiler/overview.html" target="_blank">JProfiler</a> for code profiling and testing, and acknowledges free developer licenses provided by ej-technologies. </p> - <h4>Code Analysis</h4> + <h3>Code Analysis</h3> <p> Airavata uses <a href="http://www.sonarqube.org/" target="_blank">Sonar</a> code analysis tools. Sonar is an open source quality management platform, dedicated to continuously analyze and measure technical quality, from the project portfolio to the class method. </p> @@ -128,7 +124,7 @@ Browse Airavata <a href="https://analysis.apache.org/" target="_blank">Sonar Dashboard</a>. </p> - <h4>Continous Integration</h4> + <h3>Continous Integration</h3> <p> Airavata uses <a href="https://jenkins.io/index.html" target="_blank">Jenkins Continous Integration</a> for automatic builds. The builds are triggered automatically on code commits and periodically. </p> @@ -136,7 +132,7 @@ Browse Airavata Jenkins Dashboard. </p> - <h4>Code Review</h4> + <h3>Code Review</h3> <p> Airavata uses <a href="https://www.reviewboard.org/" target="_blank">Review Board</a> for pre and post commit reviews. @@ -147,65 +143,83 @@ <div id="source" class="section scrollspy"> <h2 class="header">Source Code</h2> - <p>The Apache Airavata source repositories are maintained using GIT version control.</p> + <p>The Apache Airavata source repositories are maintained using GIT version control. Please use the official Apache Git repositories rather than the GitHub mirrors if you plan to make contributions. The GitHub mirrors are provided for browsing convenience. </p> <p>Browse Airavata source repository on web: <a href="https://git-wip-us.apache.org/repos/asf?p=airavata.git">https://git-wip-us.apache.org/repos/asf?p=airavata.git</a>.</p> - <h4>Airavata Core Services</h4> - <ul> + <h3>Airavata Core Services</h3> + <ol> + <li> + <p><a href="https://git-wip-us.apache.org/repos/asf/airavata.git">https://git-wip-us.apache.org/repos/asf/airavata.git</a> - Canonical ASF git repo to be used by committers. </p> + </li> + <li> <p><a href="https://github.com/apache/airavata.git">https://github.com/apache/airavata.git</a> - Github mirror for read-only accesss and contrbuting via pull requests.</p> </li> + </ol> + <h3>Airavata PHP Gateway</h3> + <ol> <li> - <p><a href="https://git-wip-us.apache.org/repos/asf/airavata.git">https://git-wip-us.apache.org/repos/asf/airavata.git</a> - Canonical ASF git repo to be used by committers. </p> + <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git">https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git</a> - Canonical ASF git repo to be used by committers.</p> </li> - </ul> - <h4>Airavata PHP Gateway</h4> - <ul> <li> <p><a href="https://github.com/apache/airavata-php-gateway.git">https://github.com/apache/airavata-php=gateway.git</a> - Github mirror for read-only accesss and contrbuting via pull requests.</p> </li> + + </ol> + <h3>Airavata Documentation</h3> + <ol> <li> - <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git">https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git</a> - Canonical ASF git repo to be used by committers.</p> + <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-docs.git">https://git-wip-us.apache.org/repos/asf/airavata-docs.git</a> - Canonical ASF git repo to be used by committers.</p> </li> - </ul> - <h4>Airavata Documentation</h4> - <ul> <li> <p><a href="https://github.com/apache/airavata-docs.git">https://github.com/apache/airavata-docs.git</a> - Github mirror for read-only accesss and contrbuting via pull requests.</p> </li> - <li> - <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-docs.git">https://git-wip-us.apache.org/repos/asf/airavata-docs.git</a> - Canonical ASF git repo to be used by committers.</p> - </li> - </ul> - <p>The Apache Airavata website is managed in Subversion:</p> - <p><a href="https://svn.apache.org/repos/asf/airavata/site/trunk/">https://svn.apache.org/repos/asf/airavata/site/trunk/</a></p> - <ul> - <li>The source code is organized by major components into modules directory. </li> - <li>The GFac-Core is the POJO style implementation of the Airavata Application Wrapper and Job management tool.</li> - <li>GFac-Axis2 is a web service interface to GFac-Core developed in <a href="http://axis.apache.org/axis2/java/core/">Axis2 Framework</a>.</li> - <li>XBaya-GUI is the desktop and JNLP webstartable interface to construct, execute and monitor workflows. XBaya provides a graphical programming abstraction over worklfow languages like BPEL.</li> - <li>Workflow Interpreter is an axis2 web service which wraps XBaya to provide server side enactment capability.</li> - <li>WS-Messenger is a web service messaging system used within Airavata for all service to service and end user communications.</li> - <li>XRegistry is a registry services which provides a web service interface to a database of application, service and workflow deployment descriptions. XRegistry is developed using <a href="http://www.extreme.indiana.edu/xgws/xsul/">XSUL</a>.</li> - </ul> - <h4>Building code</h4> - <p>See <a href="build.html">build instructions</a>.</p> - <h4>Developers Guide</h4> - <h5>Some coding practices:</h5> - <ul> + + </ol> + + <h3>Airavata Web Site</h3> + <p>The Apache Airavata website is availalbe from Apache's Git repository and mirrored in GitHub.</p> + <ol> + <li><a href="https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git">Canonical ASF Git repo to be used by committers. </a></li> + <li><a href="https://github.com/apache/airavata-site">GitHub Mirror</a></li> + </ol> + </div> + <div id="build" class="section scrollspy"> + <h2>Building the Code</h2> + The following instructions will build and deploy Apache Airavata for testing and development. For a full, production environment gateway deployment, see <a href="http://airavata.readthedocs.io/en/latest/">http://airavata.readthedocs.io/en/latest/</a>. + <h3> Prerequisites </h3> + <ol> + <li>Sources compilation require Java SE 8 or higher.</li> + <li> The project is built with Apache Maven 3+ [Download][1] and [install][2] (Maven 2.x build will start but fail with errors)</li> + <li> Set or export JAVA_HOME to point to JDK. For example in Ubuntu: export JAVA_HOME=/usr/lib/jvm/java-6-openjdk</li> + <li> Get Airavata source [checked out](source.html) from Airavata trunk.</li> + </ol> + + <h3> Build the distribution </h3> + <ol> + <li>cd airavata-trunk</li> + <li> mvn clean install</li> + <li>To build without running tests, use mvn clean install -Dmaven.test.skip=true. </li> + <li>The compressed binary distribution is created at PROJECT_DIR/modules/distribution/target</li> + </ol> + </div> + <div id="develop" class="section scrollspy"> + <h2>Developers Guide</h2> + <h3>Some coding practices:</h3> + <ol> <li>License Header: Always add the current ASF license header as described in <a href="http://www.apache.org/legal/src-headers.html">ASF Source Header</a>.</li> <li>Trailing Whitespaces: Remove all trailing whitespaces. Eclipse users can use Source->Cleanup option to accomplish this.</li> <li>Indentation: Use 4 space indents and never use tabs!</li> <li>Line wrapping: Use 120-column line width for Java code and Javadoc.</li> <li>Author Tags: Do not use Author Tags. The code is developed and owned by the community. </li> - </ul> + </ol> - <h4>Eclipse Configuration Tips</h4> - <h5>Configure Eclipse Preferences</h5> - <ul> + <h3>Eclipse Configuration Tips</h3> + <h4>Configure Eclipse Preferences</h4> + <ol> <li>Download Eclipse Formatting and Style Guides for <a href="https://svn.apache.org/repos/asf/airavata/attic/svn-to-git-archive/etc/eclipse/">Airavata Style Templates</a></li> <li>To add Formatter: Preferences > Java > Code Style > Formatter and import the airavata-formatting-preferences.xml downloaded in the previous step. </li> <li>To add Templates: Preferences > Java > Code Style > Code Templates and import the airavata-code-style-template.xml. This templates adds the ASF header and so on for new code. </li> - </ul> + </ol> </div> <div id="license" class="section scrollspy"> @@ -403,8 +417,10 @@ <ul class="section table-of-contents"> <li><a href="#downloads">Downloads</a></li> <li><a href="#issue">Issue Tracker</a></li> - <li><a href="#development">Development Tools</a></li> + <li><a href="#tools">Dev Tools</a></li> <li><a href="#source">Source Code</a></li> + <li><a href="#build">Build</a></li> + <li><a href="#develop">Develop</a></li> <li><a href="#license">License</a></li> </ul> </div> http://git-wip-us.apache.org/repos/asf/airavata-site/blob/fb55892f/source/assets/css/main.scss ---------------------------------------------------------------------- diff --git a/source/assets/css/main.scss b/source/assets/css/main.scss index f03d1c3..46d9e0f 100755 --- a/source/assets/css/main.scss +++ b/source/assets/css/main.scss @@ -11,7 +11,7 @@ $base-font-size: 16px; $small-font-size: $base-font-size * 0.875; $base-line-height: 1.5; -$spacing-unit: 30px; +$spacing-unit: 30x; $text-color: #111; $background-color: #fdfdfd; @@ -40,7 +40,6 @@ $on-laptop: 800px; } - // Import partials from `sass_dir` (defaults to `_sass`) @import "base", http://git-wip-us.apache.org/repos/asf/airavata-site/blob/fb55892f/source/development.md ---------------------------------------------------------------------- diff --git a/source/development.md b/source/development.md index eb760f3..1d0531f 100644 --- a/source/development.md +++ b/source/development.md @@ -7,63 +7,59 @@ id: development <!--Hero--> <div class="section no-pad-bot"> -<main> +<main> <div class="container"> <div class="row"> <div class="col s12 m9 l10 push-m3 push-l2"> <div id="downloads" class="section scrollspy"> <h2 class="header">Downloads</h2> - <p>All downloads can be verified using the Apache Airavata code signing <a href="http://www.apache.org/dist/airavata/KEYS">KEYS</a>.</p> - <h4 id="015-latest-release">0.15 (Latest Release)</h4> - <ul> + <p>All downloads can be verified using the Apache Airavata code signing <a href="http://www.apache.org/dist/airavata/KEYS">KEYS</a>.</p> + <h3 id="015-latest-release">0.15 (Latest Release)</h3> + <ol> <li> <p><a href="https://git-wip-us.apache.org/repos/asf?p=airavata.git;a=blob_plain;f=RELEASE_NOTES;hb=refs/tags/airavata-0.15">Release Notes</a></p> </li> <li> - <p><strong>Source:</strong> </p> - <ul> - <li><a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/airavata-0.15-source-release.zip">airavata-0.15-source-release.zip</a> [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.md5">md5</a>]</li> - </ul> + <strong>Source:</strong> + <a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/airavata-0.15-source-release.zip">airavata-0.15-source-release.zip</a> [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/airavata-0.15-source-release.zip.md5">md5</a>] </li> <li> - <p><strong>Binary Artifacts:</strong></p> + <p><strong>Binary: </strong></p> </li> - <li> - <p>Airavata Server:</p> - <ul> + <ol> <li> <a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/apache-airavata-server-0.15-bin.tar.gz">apache-airavata-server-0.15-bin.tar.gz</a> [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.tar.gz.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.tar.gz.md5">md5</a>] </li> <li> <a href="http://www.apache.org/dyn/closer.cgi/airavata/0.15/apache-airavata-server-0.15-bin.zip">apache-airavata-server-0.15-bin.zip</a> [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.zip.asc">asc</a>] [<a href="http://www.apache.org/dist/airavata/0.15/apache-airavata-server-0.15-bin.zip.md5">md5</a>] </li> - </ul> - </li> - </ul> - <h6 id="previous-releases-are-available-from-release-archive"> + </ol> + </ol> + <h3>Previous Releases</h3> + <p id="previous-releases-are-available-from-release-archive"> Previous releases are available from - <a href="downloads-archive.html">Release Archive</a> - </h6> + <a href="http://airavata.staging.apache.org/about/downloads-archive.html">Release Archive</a>. We encourage users and developers to upgrade to the current release. + </p> </div> <div id="issue" class="section scrollspy"> <h2 class="header">Issue Tracker</h2> <p> - As all the other Apache projects, Apache Airavata uses Atlassian JIRA as the official issue tracker. All Apache project issues are publically available for anyone to view. Also itâs free to create account for new users as well. + Apache Airavata uses Atlassian JIRA as the official issue tracker. All Apache project issues are publically available for anyone to view. Accounts are required to post issues, but anyone can create an account. </p> <p> Issue Tracker Link : <a href="https://issues.apache.org/jira/browse/airavata/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel" target="_blank">https://issues.apache.org/jira/browse/airavata/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel</a> </p> </div> - <div id="development" class="section scrollspy"> + <div id="tools" class="section scrollspy"> <h2 class="header">Development Tools</h2> - <h4>Profiling and Performance</h4> + <h3>Profiling and Performance</h3> <p> Airavata developers use <a href="http://www.ej-technologies.com/products/jprofiler/overview.html" target="_blank">JProfiler</a> for code profiling and testing, and acknowledges free developer licenses provided by ej-technologies. </p> - <h4>Code Analysis</h4> + <h3>Code Analysis</h3> <p> Airavata uses <a href="http://www.sonarqube.org/" target="_blank">Sonar</a> code analysis tools. Sonar is an open source quality management platform, dedicated to continuously analyze and measure technical quality, from the project portfolio to the class method. </p> @@ -71,7 +67,7 @@ id: development Browse Airavata <a href="https://analysis.apache.org/" target="_blank">Sonar Dashboard</a>. </p> - <h4>Continous Integration</h4> + <h3>Continous Integration</h3> <p> Airavata uses <a href="https://jenkins.io/index.html" target="_blank">Jenkins Continous Integration</a> for automatic builds. The builds are triggered automatically on code commits and periodically. </p> @@ -79,7 +75,7 @@ id: development Browse Airavata Jenkins Dashboard. </p> - <h4>Code Review</h4> + <h3>Code Review</h3> <p> Airavata uses <a href="https://www.reviewboard.org/" target="_blank">Review Board</a> for pre and post commit reviews. @@ -90,65 +86,83 @@ id: development <div id="source" class="section scrollspy"> <h2 class="header">Source Code</h2> - <p>The Apache Airavata source repositories are maintained using GIT version control.</p> + <p>The Apache Airavata source repositories are maintained using GIT version control. Please use the official Apache Git repositories rather than the GitHub mirrors if you plan to make contributions. The GitHub mirrors are provided for browsing convenience. </p> <p>Browse Airavata source repository on web: <a href="https://git-wip-us.apache.org/repos/asf?p=airavata.git">https://git-wip-us.apache.org/repos/asf?p=airavata.git</a>.</p> - <h4>Airavata Core Services</h4> - <ul> + <h3>Airavata Core Services</h3> + <ol> + <li> + <p><a href="https://git-wip-us.apache.org/repos/asf/airavata.git">https://git-wip-us.apache.org/repos/asf/airavata.git</a> - Canonical ASF git repo to be used by committers. </p> + </li> + <li> <p><a href="https://github.com/apache/airavata.git">https://github.com/apache/airavata.git</a> - Github mirror for read-only accesss and contrbuting via pull requests.</p> </li> + </ol> + <h3>Airavata PHP Gateway</h3> + <ol> <li> - <p><a href="https://git-wip-us.apache.org/repos/asf/airavata.git">https://git-wip-us.apache.org/repos/asf/airavata.git</a> - Canonical ASF git repo to be used by committers. </p> + <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git">https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git</a> - Canonical ASF git repo to be used by committers.</p> </li> - </ul> - <h4>Airavata PHP Gateway</h4> - <ul> <li> <p><a href="https://github.com/apache/airavata-php-gateway.git">https://github.com/apache/airavata-php=gateway.git</a> - Github mirror for read-only accesss and contrbuting via pull requests.</p> </li> + + </ol> + <h3>Airavata Documentation</h3> + <ol> <li> - <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git">https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git</a> - Canonical ASF git repo to be used by committers.</p> + <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-docs.git">https://git-wip-us.apache.org/repos/asf/airavata-docs.git</a> - Canonical ASF git repo to be used by committers.</p> </li> - </ul> - <h4>Airavata Documentation</h4> - <ul> <li> <p><a href="https://github.com/apache/airavata-docs.git">https://github.com/apache/airavata-docs.git</a> - Github mirror for read-only accesss and contrbuting via pull requests.</p> </li> - <li> - <p><a href="https://git-wip-us.apache.org/repos/asf/airavata-docs.git">https://git-wip-us.apache.org/repos/asf/airavata-docs.git</a> - Canonical ASF git repo to be used by committers.</p> - </li> - </ul> - <p>The Apache Airavata website is managed in Subversion:</p> - <p><a href="https://svn.apache.org/repos/asf/airavata/site/trunk/">https://svn.apache.org/repos/asf/airavata/site/trunk/</a></p> - <ul> - <li>The source code is organized by major components into modules directory. </li> - <li>The GFac-Core is the POJO style implementation of the Airavata Application Wrapper and Job management tool.</li> - <li>GFac-Axis2 is a web service interface to GFac-Core developed in <a href="http://axis.apache.org/axis2/java/core/">Axis2 Framework</a>.</li> - <li>XBaya-GUI is the desktop and JNLP webstartable interface to construct, execute and monitor workflows. XBaya provides a graphical programming abstraction over worklfow languages like BPEL.</li> - <li>Workflow Interpreter is an axis2 web service which wraps XBaya to provide server side enactment capability.</li> - <li>WS-Messenger is a web service messaging system used within Airavata for all service to service and end user communications.</li> - <li>XRegistry is a registry services which provides a web service interface to a database of application, service and workflow deployment descriptions. XRegistry is developed using <a href="http://www.extreme.indiana.edu/xgws/xsul/">XSUL</a>.</li> - </ul> - <h4>Building code</h4> - <p>See <a href="build.html">build instructions</a>.</p> - <h4>Developers Guide</h4> - <h5>Some coding practices:</h5> - <ul> + + </ol> + + <h3>Airavata Web Site</h3> + <p>The Apache Airavata website is availalbe from Apache's Git repository and mirrored in GitHub.</p> + <ol> + <li><a href="https://git-wip-us.apache.org/repos/asf/airavata-php-gateway.git">Canonical ASF Git repo to be used by committers. </a></li> + <li><a href="https://github.com/apache/airavata-site">GitHub Mirror</a></li> + </ol> + </div> + <div id="build" class="section scrollspy"> + <h2>Building the Code</h2> + The following instructions will build and deploy Apache Airavata for testing and development. For a full, production environment gateway deployment, see <a href="http://airavata.readthedocs.io/en/latest/">http://airavata.readthedocs.io/en/latest/</a>. + <h3> Prerequisites </h3> + <ol> + <li>Sources compilation require Java SE 8 or higher.</li> + <li> The project is built with Apache Maven 3+ [Download][1] and [install][2] (Maven 2.x build will start but fail with errors)</li> + <li> Set or export JAVA_HOME to point to JDK. For example in Ubuntu: export JAVA_HOME=/usr/lib/jvm/java-6-openjdk</li> + <li> Get Airavata source [checked out](source.html) from Airavata trunk.</li> + </ol> + + <h3> Build the distribution </h3> + <ol> + <li>cd airavata-trunk</li> + <li> mvn clean install</li> + <li>To build without running tests, use mvn clean install -Dmaven.test.skip=true. </li> + <li>The compressed binary distribution is created at PROJECT_DIR/modules/distribution/target</li> + </ol> + </div> + <div id="develop" class="section scrollspy"> + <h2>Developers Guide</h2> + <h3>Some coding practices:</h3> + <ol> <li>License Header: Always add the current ASF license header as described in <a href="http://www.apache.org/legal/src-headers.html">ASF Source Header</a>.</li> <li>Trailing Whitespaces: Remove all trailing whitespaces. Eclipse users can use Source->Cleanup option to accomplish this.</li> <li>Indentation: Use 4 space indents and never use tabs!</li> <li>Line wrapping: Use 120-column line width for Java code and Javadoc.</li> <li>Author Tags: Do not use Author Tags. The code is developed and owned by the community. </li> - </ul> + </ol> - <h4>Eclipse Configuration Tips</h4> - <h5>Configure Eclipse Preferences</h5> - <ul> + <h3>Eclipse Configuration Tips</h3> + <h4>Configure Eclipse Preferences</h4> + <ol> <li>Download Eclipse Formatting and Style Guides for <a href="https://svn.apache.org/repos/asf/airavata/attic/svn-to-git-archive/etc/eclipse/">Airavata Style Templates</a></li> <li>To add Formatter: Preferences > Java > Code Style > Formatter and import the airavata-formatting-preferences.xml downloaded in the previous step. </li> <li>To add Templates: Preferences > Java > Code Style > Code Templates and import the airavata-code-style-template.xml. This templates adds the ASF header and so on for new code. </li> - </ul> + </ol> </div> <div id="license" class="section scrollspy"> @@ -346,8 +360,10 @@ id: development <ul class="section table-of-contents"> <li><a href="#downloads">Downloads</a></li> <li><a href="#issue">Issue Tracker</a></li> - <li><a href="#development">Development Tools</a></li> + <li><a href="#tools">Dev Tools</a></li> <li><a href="#source">Source Code</a></li> + <li><a href="#build">Build</a></li> + <li><a href="#develop">Develop</a></li> <li><a href="#license">License</a></li> </ul> </div>
