mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-03-28 14:56:28 +01:00
Bug 551817 - Add missing CONTRIBUTING file to CDT
This also includes the minimum legal requirements for basic build instructions (or links to them) Change-Id: Ib95bf44a2ada75069e0a190aaf3d68fccc6f1282
This commit is contained in:
parent
0c5b5771b9
commit
84b9be2dcb
3 changed files with 175 additions and 0 deletions
72
CONTRIBUTING.md
Normal file
72
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,72 @@
|
|||
# Contributing to Eclipse C/C++ Development Tools
|
||||
|
||||
Thanks for your interest in this project.
|
||||
|
||||
## Project description
|
||||
|
||||
The Eclipse CDT Project provides a fully functional C and C++ Integrated
|
||||
Development Environment based on the Eclipse platform. Features include: support
|
||||
for project creation and managed build for various toolchains, standard make
|
||||
build, source navigation, various source knowledge tools, such as type
|
||||
hierarchy, call graph, include browser, macro definition browser, code editor
|
||||
with syntax highlighting, folding and hyperlink navigation, source code
|
||||
refactoring and code generation, visual debugging tools, including memory,
|
||||
registers, and disassembly viewers.
|
||||
|
||||
* https://projects.eclipse.org/projects/tools.cdt
|
||||
|
||||
## Developer resources
|
||||
|
||||
### Building CDT
|
||||
|
||||
The recommended flow for most users is to follow instructions on [getting started with CDT development](https://wiki.eclipse.org/Getting_started_with_CDT_development).
|
||||
|
||||
For information on building CDT from the command line using maven, refer to the [README](README.md)'s Command-line Build instructions with Maven section.
|
||||
|
||||
|
||||
Additional information is available on:
|
||||
|
||||
* https://github.com/eclipse-cdt/cdt-infra/wiki
|
||||
* https://projects.eclipse.org/projects/tools.cdt/developer
|
||||
|
||||
The project maintains the following source code repositories
|
||||
|
||||
* https://git.eclipse.org/r/plugins/gitiles/cdt/org.eclipse.cdt
|
||||
* https://git.eclipse.org/r/plugins/gitiles/cdt/org.eclipse.cdt.edc
|
||||
* http://git.eclipse.org/c/cdt/org.eclipse.cdt.master.git
|
||||
* https://git.eclipse.org/r/plugins/gitiles/cdt/org.eclipse.launchbar
|
||||
* https://git.eclipse.org/r/plugins/gitiles/cdt/org.eclipse.tools.templates
|
||||
* https://github.com/eclipse-cdt/cdt-gdb-adapter
|
||||
* https://github.com/eclipse-cdt/cdt-gdb-vscode
|
||||
* https://github.com/eclipse-cdt/cdt-vscode
|
||||
* https://github.com/eclipse-cdt/cdt-infra
|
||||
|
||||
This project uses Bugzilla to track ongoing development and issues.
|
||||
|
||||
* Search for issues: https://bugs.eclipse.org/bugs/buglist.cgi?product=CDT
|
||||
* Create a new report: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT
|
||||
|
||||
Be sure to search for existing bugs before you create another one. Remember that
|
||||
contributions are always welcome!
|
||||
|
||||
## Eclipse Contributor Agreement
|
||||
|
||||
Before your contribution can be accepted by the project team contributors must
|
||||
electronically sign the Eclipse Contributor Agreement (ECA).
|
||||
|
||||
* http://www.eclipse.org/legal/ECA.php
|
||||
|
||||
Commits that are provided by non-committers must have a Signed-off-by field in
|
||||
the footer indicating that the author is aware of the terms by which the
|
||||
contribution has been provided to the project. The non-committer must
|
||||
additionally have an Eclipse Foundation account and must have a signed Eclipse
|
||||
Contributor Agreement (ECA) on file.
|
||||
|
||||
For more information, please see the Eclipse Committer Handbook:
|
||||
https://www.eclipse.org/projects/handbook/#resources-commit
|
||||
|
||||
## Contact
|
||||
|
||||
Contact the project developers via the project's "dev" list.
|
||||
|
||||
* https://dev.eclipse.org/mailman/listinfo/cdt-dev
|
93
README.md
Normal file
93
README.md
Normal file
|
@ -0,0 +1,93 @@
|
|||
# Eclipse CDT
|
||||
|
||||
## Contributing
|
||||
|
||||
Please see [CONTRIBUTING.md] for contributing information
|
||||
|
||||
## Developing CDT
|
||||
|
||||
Most developers, developing CDT in the Eclipse IDE, should use https://wiki.eclipse.org/Getting_started_with_CDT_development.
|
||||
|
||||
## Command-line Build instructions with Maven
|
||||
|
||||
Eclipse CDT uses the standard Maven and Tycho workflow for building CDT using Maven 3.6.0 and Java 8. Therefore to package CDT do:
|
||||
|
||||
```
|
||||
mvn package
|
||||
```
|
||||
|
||||
and the resulting p2 repository will be in `releng/org.eclipse.cdt.repo/target/repository`
|
||||
|
||||
The current set of options to Maven used for building on the CI can be seen in the Jenkinsfiles
|
||||
on cdt-infra: https://github.com/eclipse-cdt/cdt-infra/tree/master/jenkins/pipelines/cdt
|
||||
|
||||
To build CDT plug-ins you need a standard Maven & Java developement environment. The Dockerfiles used for CDT's images are
|
||||
published in cdt-infra https://github.com/eclipse-cdt/cdt-infra/tree/master/docker. The requirements for running all tests
|
||||
successfully and for rebuilding non-Java parts of CDT are much more extensive than standard Maven & Java and include
|
||||
items such as GCC, GDB, yarn, Node, etc. Refer to the Dockerfiles for the current versions of those dependencies.
|
||||
|
||||
### Profiles
|
||||
|
||||
There are a number of profiles (-P to mvn) to control the behaviour of the build.
|
||||
|
||||
#### cdtRepo, simrelRepo, defaultCdtTarget
|
||||
|
||||
Individual p2 repos can be turned on and off to allow building CDT, or parts of CDT against
|
||||
different target platforms easily.
|
||||
For example, you can:
|
||||
- test CDT against a pre-built CDT by using the cdtRepo profile.
|
||||
- build the standalone rcp debugger against the latest simrel `mvn verify -DuseSimrelRepo -f debug/org.eclipse.cdt.debug.application.product`
|
||||
|
||||
#### build-standalone-debugger-rcp
|
||||
|
||||
Using the `build-standalone-debugger-rcp` profile will include the standalone debugger, located
|
||||
in `debug/org.eclipse.cdt.debug.application.product`
|
||||
|
||||
#### skip-all-tests, skip-tests-except-cdt-ui, skip-tests-except-dsf-gdb, skip-tests-except-lsp, skip-tests-except-cdt-other
|
||||
|
||||
Using any of the above profiles can skip large sets of tests. The CI build uses this to parallelize tests. See https://ci.eclipse.org/cdt/view/Gerrit/
|
||||
|
||||
#### baseline-compare-and-replace
|
||||
|
||||
`baseline-compare-and-replace` profile controls whether baseline replace and compare
|
||||
is performed. On a local build you want to avoid baseline replace and compare,
|
||||
especially if you have different versions of Java than the baseline was built with.
|
||||
|
||||
If you have the same version of Java as the build machine you can run baseline comparison and
|
||||
replace. To do that run with the `baseline-compare-and-replace` profile.
|
||||
|
||||
Requires verify phase of maven to run, i.e. will not run with `mvn package` even if profile is specified.
|
||||
|
||||
#### production
|
||||
|
||||
Runs the production steps of the build. This profile can only be run on the CDT CI machines
|
||||
as access to Eclipse key signing server is needed to sign the jars.
|
||||
|
||||
### Profiles
|
||||
|
||||
There are a number of properties (-D to mvn) to control the behaviour of the build. Refer to the
|
||||
pom.xml for the full list. Many of the properties are not intended to be set at the command
|
||||
line.
|
||||
|
||||
#### skipDoc
|
||||
|
||||
Documentation generation for CDT can be time consuming. For local builds this can be skipped
|
||||
with `-DskipDoc=true`
|
||||
|
||||
#### skipTests
|
||||
|
||||
Running tests for CDT can be time consuming. For local builds this can be skipped
|
||||
with `-DskipTests=true`.
|
||||
|
||||
#### jgit.dirtyWorkingTree-cdtDefault
|
||||
|
||||
Running a build with uncommitted changes will normally cause an error. To run a build with
|
||||
uncommited changes use `-Djgit.dirtyWorkingTree-cdtDefault=warning`
|
||||
|
||||
#### dsf.gdb.tests.gdbPath
|
||||
|
||||
For running CDT's DSF-GDB tests, this specifies the path to the location of gdb.
|
||||
|
||||
#### cdt.tests.dsf.gdb.versions
|
||||
|
||||
For running CDT's DSF-GDB tests, this specifies the executable names of the gdbs to run, comma-separated.
|
10
pom.xml
10
pom.xml
|
@ -1,4 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (c) 2011, 2020 Wind River Systems, Inc. and others.
|
||||
|
||||
This program and the accompanying materials
|
||||
are made available under the terms of the Eclipse Public License 2.0
|
||||
which accompanies this distribution, and is available at
|
||||
https://www.eclipse.org/legal/epl-2.0/
|
||||
|
||||
SPDX-License-Identifier: EPL-2.0
|
||||
-->
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
|
Loading…
Add table
Reference in a new issue