<?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 = "";
	
    # 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);

?>
