mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02: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"?>
|
<?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
|
<project
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
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">
|
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