blob: 1da85f9af050a65620434e7d4ad632f4b46edd04 [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Source Control and Building</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty"><link rel="up" href="advanced-contributing.html" title="Chapter&nbsp;35.&nbsp;Contributing to Jetty"><link rel="prev" href="contributing-documentation.html" title="Documentation"><link rel="next" href="coding-standards.html" title="Coding Standards"><link xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" rel="shortcut icon" href="images/favicon.ico"><link rel="stylesheet" href="css/highlighter/foundation.css"><script src="js/highlight.pack.js"></script><script>
hljs.initHighlightingOnLoad();
</script><link type="text/css" rel="stylesheet" href="css/font-awesome/font-awesome.min.css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><tr><td style="width: 25%"><a href="http://www.eclipse.org/jetty"><img src="images/jetty-header-logo.png" alt="Jetty Logo"></a><br><span style="font-size: small">
Version: 9.4.28-SNAPSHOT</span></td><td style="width: 50%"></td></tr></table><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Source Control and Building</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="contributing-documentation.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;35.&nbsp;Contributing to Jetty<br><a accesskey="p" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="coding-standards.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr></table><hr></div><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="jetty-callout"><h5 class="callout"><a href="http://www.webtide.com/">Contact the core Jetty developers at
<span class="website">www.webtide.com</span></a></h5><p>
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ...
scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development
</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="contributing-source-build"></a>Source Control and Building</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="contributing-source-build.html#contributing-source">Source Control</a></span></dt><dt><span class="section"><a href="contributing-source-build.html#_build">Build</a></span></dt><dt><span class="section"><a href="contributing-source-build.html#_import_into_eclipse">Import into Eclipse</a></span></dt></dl></div><p>If you want to contribute to the development of jetty, you will need to work with a handful of technologies.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="contributing-source"></a>Source Control</h3></div></div></div><p>Jetty uses several development trunks for its artifacts.
They are mirrored on github through <a class="link" href="http://github.com/eclipse" target="_top">http://github.com/eclipse</a>, or you can look through them via the Eclipse setup at the URLs below.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_primary_interest_scm_urls"></a>Primary Interest SCM URLs</h4></div></div></div><p>These are the URLs to the GIT repositories for the Jetty code.
They are for people who are working on the Jetty project, as well as for people who are interested in examining or modifying the Jetty code for their own projects.</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Jetty Project Repository</span></dt><dd><a class="link" href="https://github.com/eclipse/jetty.project" target="_top">https://github.com/eclipse/jetty.project</a></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_build_and_project_infrastructure_scm_urls"></a>Build and Project Infrastructure SCM URLs</h4></div></div></div><p>These are the URLs for Jetty-related code and metadata.
These are not needed to use Jetty; these are primarily of use for people who are working with Jetty-the-project (as opposed to using Jetty-the-server in their own projects).</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">Administrative pom.xml file</span></dt><dd><a class="link" href="https://github.com/eclipse/jetty.parent" target="_top">https://github.com/eclipse/jetty.parent</a></dd><dt><span class="term">Build related artifacts that release separately, common assembly descriptors, remote resources, etc.</span></dt><dd><a class="link" href="https://github.com/eclipse/jetty.toolchain" target="_top">https://github.com/eclipse/jetty.toolchain</a></dd><dt><span class="term">Files associated with the development of Jetty&#8201;&#8212;&#8201;code styles, formatting, iplogs, etc.</span></dt><dd><a class="link" href="http://git.eclipse.org/c/jetty/org.eclipse.jetty.admin.git" target="_top">http://git.eclipse.org/c/jetty/org.eclipse.jetty.admin.git</a></dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="_build"></a>Build</h3></div></div></div><p>Jetty requires the use of Java 8 and the latest releases are always recommended to build.</p><p>Jetty uses <a class="link" href="http://maven.apache.org/" target="_top">Apache Maven 3</a> for managing its build and primary project metadata.</p><p>Building Jetty should simply be a matter of changing into the relevant directory and executing the following commands:</p><div class="screenexample"><pre class="screen">$ git clone https://github.com/eclipse/jetty.project.git
$ cd jetty.project
$ mvn install</pre></div><p>All relevant dependencies will be downloaded into your local repository automatically.</p><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>Jetty has a great many test cases that run through the course of its build.
Periodically we find some test cases to be more time dependent than they should be and this results in intermittent test failures.
You can help track these down by opening a bug report.</p></div></blockquote></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="_import_into_eclipse"></a>Import into Eclipse</h3></div></div></div><p>Jetty is a Maven project. To develop Jetty in Eclipse, follow these directions:</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_install_m2e_plugin"></a>Install m2e plugin</h4></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">From the Eclipse menu at the top of the screen, select <span class="emphasis"><em>Help &gt; Eclipse Marketplace.</em></span></li><li class="listitem">Search for <span class="emphasis"><em>m2e</em></span>.</li><li class="listitem">Install the <span class="emphasis"><em>Maven Integration for Eclipse</em></span></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_clone_the_git_repository"></a>Clone the git repository</h4></div></div></div><p>Using either the egit plugin or git on the commandline (as in the build section above), obtain the jetty source.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_import_the_maven_projects"></a>Import the Maven Projects</h4></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">From the Eclipse menu, select <span class="emphasis"><em>File &gt; Import</em></span></li><li class="listitem">From the Maven folder, select <span class="emphasis"><em>Existing Maven Projects.</em></span></li><li class="listitem">Click <span class="emphasis"><em>Next</em></span>.</li><li class="listitem">In the Import Maven projects pane, click <span class="emphasis"><em>Browse</em></span> and select the top folder of the jetty source tree.</li><li class="listitem">Click <span class="emphasis"><em>Next/Finish</em></span> to import all of jetty into Eclipse.</li><li class="listitem">Wait for Eclipse and m2e to compilie and set up the project.</li></ol></div></div></div></div><script type="text/javascript">
SyntaxHighlighter.all()
</script><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="contributing-documentation.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="advanced-contributing.html"><i class="fa fa-chevron-up" aria-hidden="true"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="coding-standards.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Documentation&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;Coding Standards</td></tr></table></div><p xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><div class="jetty-callout">
See an error or something missing?
<span class="callout"><a href="http://github.com/eclipse/jetty.project">Contribute to this documentation at
<span class="website"><i class="fa fa-github" aria-hidden="true"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2020-03-10)</i></span></div></p></body></html>