Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "PDT/Contributing"

< PDT
(Replaced content with "Category:PDT == Working with PDT source code in Eclipse == Content moved to github: https://github.com/eclipse-pdt/pdt/wiki/Contributing")
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
== Working with PDT source code in Eclipse ==
 
== Working with PDT source code in Eclipse ==
  
=== Which Eclipse version? ===
+
Content moved to github: https://github.com/eclipse-pdt/pdt/wiki/Contributing
 
+
To comfortably edit PDT source code and execute it, you can use '''Eclipse IDE for Eclipse Committers''', which contains some required plugins (Java Development Tools, Plug-in Development Environment, Git Integration, …). You can download it from [https://www.eclipse.org/downloads/eclipse-packages/ here].
+
 
+
=== Required plugins ===
+
 
+
In addition to the plugins bundled with Eclipse, PDT requires other plugins that can be installed via the ''Help'' → ''Install New Software…'' menu item.
+
 
+
You'll need to add the following software site (you can add them by clicking the Manage button in the Install dialog):
+
 
+
* DLTK Nightly: http://download.eclipse.org/technology/dltk/updates-dev/latest-nightly
+
* Orbit:
+
** for Eclipse Oxygen.3a: http://download.eclipse.org/tools/orbit/downloads/drops/R20180330011457/repository
+
** for other versions see http://download.eclipse.org/tools/orbit/downloads
+
 
+
Once you defined the above update sites, you should install these plugins:
+
 
+
* Category "All Orbit Bundles"
+
** Apache Commons Exec Plug-in
+
* Category "Business Intelligence, Reporting and Charting"
+
** BIRT Framework
+
* Category "Dynamic Languages Toolkit (DLTK)"
+
** Dynamic Languages Toolkit - Core Frameworks SDK
+
** Dynamic Languages Toolkit - Core Lucene Index Frameworks SDK
+
** Dynamic Languages Toolkit - Mylyn Integration
+
* Category "Dynamic Languages Toolkit (DLTK) Tests"
+
** DLTK Core Tests
+
* Category "General Purpose Tools"
+
** Parallel Tools Platform
+
** TM Terminal
+
* Category "Modeling"
+
** Zest SDK
+
* Category "Web, XML, Java EE and OSGi Enterprise Development"
+
** Eclipse Web Developer Tools
+
 
+
=== Importing the PDT projects ===
+
 
+
To import and prepare the PDT projects in Eclipse:
+
 
+
* Choose the ''File'' → ''Import…'' menu item, then choose ''Team'' → ''Team Project Set'', and specify to import from the URL https://git.eclipse.org/c/pdt/org.eclipse.pdt.git/plain/dev/psf/pdt-dev.psf
+
* Select current Target Platform (''Window'' → ''Preferences'' menu item, then ''Plug-in Development'' → ''Target Platform'', then select '''''org.eclipse.php.target.current''''' and choose ''Apply and Close'')
+
* (Optional) Disable API Baselines errors (''Window'' → ''Preferences'' menu item, then ''Plug-in Development'' → ''API Baselines'', then choose ''Missing API baseline'' → ''Ignore'')
+
 
+
=== Running and debugging PDT ===
+
 
+
In order to run (and debug) PDT, you can choose the ''Run'' → ''Debug Configurations…'' menu item, and add a new ''Eclipse Application''. Alternatively, PDT can be run/debug just by selecting one of PDT projects and choose ''Run As'' → ''Eclipse Application'' from the context menu.
+
 
+
NOTE: Currently because of [https://bugs.eclipse.org/bugs/show_bug.cgi?id=534370 bug 534370] MANIFEST.MF in org.eclipse.php.core plugin can indicate errors, you can ignore them.
+
 
+
You can keep the default settings, but it's very handy to go to the ''Common'' tab, and check ''Debug'' and ''Run'' in the ''Display in favorites menu'' checklist (so that you'll be able to launch the debug environment by clicking the Debug or Run icons in the toolbar).
+
 
+
When launching the debug application, a new Eclipse instance will be executed: you can create a new PHP project, and you can place breakpoints and analyze the execution in the Eclipse instance containing the PDT project.
+
 
+
PS: when executing PDT, you may see some validation warnings: you can safely ignore them.
+
 
+
 
+
== Preparing and sending patches ==
+
 
+
When you decide to send us your new patch, you'll need:
+
 
+
# an Eclipse account (you can create it [https://accounts.eclipse.org/user/register here])
+
# to sign the [https://www.eclipse.org/contribute/cla Eclipse Contributor Agreement]
+
 
+
Patches must be sent via GitHub pull requests: https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
+
 
+
Before sending patches, you should file a bug report at https://bugs.eclipse.org: every bug report will be assigned an unique ID (let's say it's 1234)
+
 
+
The commit message must be like this:
+
 
+
  Bug 1234 - Description
+
 
+
  Notes
+
 
+
  Signed-off-by: Your Name <your-email@example.com>
+
 
+
Where:
+
 
+
* 1234<br />is the GitHub issue
+
* Description<br />is the main title of the patch.
+
* Notes<br />are optional notes about the patch.
+
* Your Name<br />is your real name.
+
* your-email@example.com<br />is your email address.
+
 
+
PS: the commit author and submitter usually have the same value as the Signed-off-by.
+
 
+
== Compiling PDT outside Eclipse ==
+
 
+
You can compile the PDT source code outside Eclipse.
+
 
+
First of all, you need to clone the PDT git repository:
+
 
+
  git clone https://github.com/eclipse/pdt
+
 
+
If you are an Eclipse user and/or a PDT committer:
+
 
+
  git clone git@github.com:eclipse/pdt.git
+
 
+
To build PDT, you need Maven, and launch these commands:
+
 
+
  # project root dir
+
  cd org.eclipse.pdt
+
  # build and run all tests
+
  mvn clean install
+
  # build and ignore all tests
+
  mvn clean install -DskipTests
+
  # build and skip performance tests only (recommend)
+
  mvn clean install -DskipPdtPerformanceTests
+
 
+
To build the PDT release:
+
 
+
  # project root dir
+
  cd org.elipse.pdt
+
  # this will produce normalized, signed and packed release, inside eclipse.org infrastructure
+
  mvn clean install -Prelease
+
  #this will produce normalized and packed release
+
  mvn clean install -Prelease -DskipSign
+
 
+
 
+
== Sonar ==
+
 
+
Sonar is used in order to track Code Quality:
+
# Sonar dashboard: https://sonarcloud.io/dashboard?id=eclipse-tools.pdt.main
+
# Reports are ganerated based on dedicated build: https://ci.eclipse.org/pdt/job/pdt-sonarcloud
+
 
+
== Developer Resources ==
+
 
+
After setting up PDT source code please have a look at a set of docs we have for our developers on the [[PDT#Developer_Resources]] page.
+
 
+
 
+
== Update help pages ==
+
 
+
All help pages sitting under plugins/org.eclipse.php.help/docs/source/ in *.md format.
+
 
+
While make install, our build system converting it to *.html files in exactly same structure and also:
+
 
+
# Remove ###- part from each *.md file, and fix all internal links.
+
# Regenerate IPHPHelpContextIds interface
+
# Build helpContexts.xml file
+
# Build toc.xml file
+
 
+
=== Which editor should I use? ===
+
 
+
You can work with any markdown editor, but because our build system use Mylyn Wikitext, you should install wikitext editor from https://eclipse.org/mylyn/downloads/ to be sure that everything is ok.
+
 
+
=== Howto register new help context id? ===
+
 
+
Add this code to markdown file:
+
 
+
  &lt;!--context:your_context_id--&gt;
+

Latest revision as of 07:09, 2 June 2023


Working with PDT source code in Eclipse

Content moved to github: https://github.com/eclipse-pdt/pdt/wiki/Contributing

Back to the top