<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
/*******************************************************************************
 * Copyright (c) 2009
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *
 *******************************************************************************/

	$pageTitle 		= "Tycho - Documentation";

	$html  = <<<EOHTML
<div id="midcolumn">
<h2>$pageTitle</h2>
<p>The documentation of the Tycho project is maintained in the <a href="https://wiki.eclipse.org/Category:Tycho">Eclipse wiki</a>.</p>

<p>
For an introduction to Tycho , we recommend following the <a href="https://www.eclipsecon.org/2013/node/1277.html">EclipseCon Tycho Tutorial</a>.
</p>

<p>In order to set up Tycho in a Maven build, follow the instructions and examples on the pages
<a href="https://wiki.eclipse.org/Tycho/Reference_Card">Tycho Reference Card</a> and <a href="https://wiki.eclipse.org/Tycho/Packaging_Types">Tycho Packaging Types</a>.
</p>

<p>For detailed reference documentation, refer to
<ul>
  <li><a href="sitedocs/index.html">Maven plugin documentation for Tycho</a></li>
  <li><a href="sitedocs-extras/index.html">Maven plugin documentation for Tycho Extras</a></li>
</ul>

</p>

<p>Other sources of information:
<ul>
  <li><a href="https://wiki.eclipse.org/Tycho/Demo_Projects">Tycho demo projects</a></li>
  <li><a href="http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/tree/tycho-its/">Tycho integration tests contain many examples you can use as templates</a></li>
  <li><a href="http://dev.eclipse.org/mhonarc/lists/tycho-user/">Search the tycho-user mailing list archive</a></li>
  <li><a href="http://dev.eclipse.org/mhonarc/lists/tycho-dev/">Search the tycho-dev mailing list archive</a></li>
  <li><a href="https://dev.eclipse.org/mailman/listinfo/tycho-user">Ask on the tycho-user@eclipse.org mailing list</a></li>
</ul>
</p>

</div>
EOHTML;
	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
