<?php

	# Set the theme for your project's web pages.
	# See the Committer Tools "How Do I" for list of themes
	# https://dev.eclipse.org/committers/
	# Optional: defaults to system theme 
	$theme = "Nova";
	
    # see http://www.eclipse.org/projects/dev_process/project-status-infrastructure/left-menu.php
    require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
    $projectInfo = new ProjectInfo("technology.packaging");
    $projectInfo->generate_common_nav( $Nav );


	# Define your project-wide Nav bars here.
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# these are optional
#	$Nav->addNavSeparator("Project Home", 	"index.php");
#	$Nav->addCustomNav("Downloads", 		"downloads.php", 	"_self", 2);
#	$Nav->addCustomNav("Installation", 		"install.php", 		"_self", 2);
	$Nav->addCustomNav("FAQ / Known Issues","/epp/faq.php",          "_self", 2);
#	$Nav->addCustomNav("Members", "members.php", "_self", 2);
#	$Nav->addCustomNav("Bugs", "https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&product=EPP&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED", "_self", 2);
    $Nav->addCustomNav("Usage Data Collector", "/epp/usagedata/index.php", "_self", 2);
    $Nav->addCustomNav("Milestone Builds", "http://www.eclipse.org/downloads/packages/", "_self", 2);
    $Nav->addCustomNav("Nightly Builds", "/epp/download.php", "_self", 2);

?>
