Skip to content

Commit

Permalink
[docs] Drop Conan 1.x from CCI documentation (#25875)
Browse files Browse the repository at this point in the history
* Drop Conan 1.x from docs

Signed-off-by: Uilian Ries <[email protected]>

* Revert .c3i folder deletion

Signed-off-by: Uilian Ries <[email protected]>

* Add info about CLA

Signed-off-by: Uilian Ries <[email protected]>

* Restore community resources

Signed-off-by: Uilian Ries <[email protected]>

* Fix markdown reference leftover

Signed-off-by: Uilian Ries <[email protected]>

* Fix first time contribution title

Signed-off-by: Uilian Ries <[email protected]>

* Fix 3 steps

Signed-off-by: Uilian Ries <[email protected]>

* how to write a good recipe

Signed-off-by: Uilian Ries <[email protected]>

* Linter and hooks displayed in Checks

Signed-off-by: Uilian Ries <[email protected]>

* Re-add build() and package()

Signed-off-by: Uilian Ries <[email protected]>

* May accept build scripts based on effort

Signed-off-by: Uilian Ries <[email protected]>

* Clarify patch on source folder

Signed-off-by: Uilian Ries <[email protected]>

* Rephrase adding old versions

Signed-off-by: Uilian Ries <[email protected]>

* Only required patch fields should be included

Signed-off-by: Uilian Ries <[email protected]>

* Remove community tools

Signed-off-by: Uilian Ries <[email protected]>

* Restore supported platforms

Signed-off-by: Uilian Ries <[email protected]>

* How to consume a graph of shared libraries

Signed-off-by: Uilian Ries <[email protected]>

* Fix typo in build_and_package.md

Co-authored-by: Abril Rincón Blanco <[email protected]>

* Fix typo in build_and_package.md

Co-authored-by: Abril Rincón Blanco <[email protected]>

* Grammar fix in conanfile_attributes.md

Co-authored-by: Abril Rincón Blanco <[email protected]>

* Grammar fix in conanfile_attributes.md

Co-authored-by: Abril Rincón Blanco <[email protected]>

* Point correct link to version ranges

Co-authored-by: Abril Rincón Blanco <[email protected]>

* Add note about waiting fresh bump version

Co-authored-by: Abril Rincón Blanco <[email protected]>

---------

Signed-off-by: Uilian Ries <[email protected]>
Co-authored-by: Abril Rincón Blanco <[email protected]>
  • Loading branch information
uilianries and AbrilRBS authored Nov 11, 2024
1 parent a28c33b commit 919d894
Show file tree
Hide file tree
Showing 23 changed files with 178 additions and 1,867 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Any maintenance, outage or important event related to the CI will be informed th

### Configure the Conan Center remote

> [!IMPORTANT]
> [!IMPORTANT]
> The Conan Center remote URL changed for **Conan 2** on November 2024 - the new URL is the default on new installations of Conan since version 2.9.2.
>
> New recipe updates are only published to this remote and are only guaranteed to be compatible with recent versions of Conan 2.
Expand Down Expand Up @@ -61,10 +61,8 @@ This is a list of shortcuts to some interesting topics:

* :rocket: If you want to learn how to **contribute new recipes**, please read [docs/adding_packages/](docs/adding_packages/README.md).
* :speech_balloon: **FAQ**: most common questions are listed in [docs/faqs.md](docs/faqs.md).
* :warning: The conan-center **hook errors** reported by CCI Bot can be found in the [docs/error_knowledge_base.md](docs/error_knowledge_base.md).
* :hammer_and_wrench: The internal changes related to infrastructure can be checked in [docs/changelog.md](docs/changelog.md).
* :world_map: There are various community lead initiatives which are outlined in [docs/community_resources.md](docs/community_resources.md).
* :magic_wand: To start preparing your recipes for **Conan 2.0**, please check [docs/v2_migration.md](docs/v2_migration.md).

### Reporting Issues

Expand Down
4 changes: 0 additions & 4 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,7 @@ When pull requests are merged, the CI will upload the generated packages to the
+ [Developing Recipes Locally](developing_recipes_locally.md)
+ [Adding Packages to ConanCenter](adding_packages/README.md) :point_left: Best place to learn how to contribute
+ [Bumping versions to existing packages](bump_version.md)
+ [Errors from the conan-center hook (KB-Hxxx)](error_knowledge_base.md)
+ [Review Process](review_process.md)
+ [Labels](labels.md)
+ [Supported platforms and configurations](supported_platforms_and_configurations.md)
+ [Consuming Recipes](consuming_recipes.md) :information_source: Learn how to limit the impact of recipe changes
+ [Community Resources](community_resources.md)
+ [Preparing recipes for Conan 2.0](v2_migration.md)
+ [FAQs](faqs.md)
53 changes: 8 additions & 45 deletions docs/adding_packages/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,22 @@ ConanCenterIndex aims to provide the best quality packages of any open source pr
Any C/C++ project can be made available by contributing a "recipe".

Getting started is easy. Try building an existing package with our [developing recipes](../developing_recipes_locally.md)
tutorial. To deepen you understanding, start with the [How to provide a good recipe](#how-to-provide-a-good-recipe) section.
tutorial. To deepen you understanding, start with the [How to write a good recipe](#how-to-provide-a-good-recipe) section.
You can follow the three steps (:one: :two: :three:) described below! :tada:

<!-- toc -->
## Contents

* [:one: Request access](#one-request-access)
* [Inactivity and user removal](#inactivity-and-user-removal)
* [:one: First time contributors](#one-first-time-contributors)
* [:two: Creating a package](#two-creating-a-package)
* [How to provide a good recipe](#how-to-provide-a-good-recipe)
* [How to write a good recipe](#how-to-provide-a-good-recipe)
* [:three: Submitting a Package](#three-submitting-a-package)
* [The Build Service](#the-build-service)<!-- endToc -->

## :one: Request access

The first step to add packages to ConanCenter is requesting access. To enroll in ConanCenterIndex repository, please write a comment
requesting access in this GitHub [issue #4](https://github.com/conan-io/conan-center-index/issues/4). Feel free to introduce yourself and
your motivation to join ConanCenter community.

This process helps ConanCenter against spam and malicious code. The process is not fully automated on purpose and the requests are
generally approved on a weekly basis. Feel free to continue to step :two: while waiting for approval.

> **Note** The requests are reviewed manually, checking the GitHub profile activity of the requester to avoid any misuse of the service.
> All interactions are subject to the expectations of the [code of conduct](../code_of_conduct.md). Any misuse or inappropriate behavior
> are subject to the same principals.
## :one: First time contributors

When submitting a pull request for the first time, you will be prompted to sign the [CLA](https://cla-assistant.io/conan-io/conan-center-index) for your
code contributions. You can view your signed CLA's by going to <https://cla-assistant.io/> and signing in.

## Inactivity and user removal

For security reasons related to the CI, when a user no longer contributes for a long period, it will be considered inactive and removed from the authorized user's list.
For now, it's configured for **4 months**, and it's computed based on the latest commit, not comments or opened issues.
After that time, the CI bot will ask to remove the user name from the authorized users' list through the access request PR, which occurs a few times every week.

When you are interested in contributing again, simply ask again to be included in the [issue #4](https://github.com/conan-io/conan-center-index/issues/4).
The process will be precisely like for newcomers.

## :two: Creating a package

Once you've successfully built an existing recipe following [developing recipes](../developing_recipes_locally.md) tutorial.
Expand All @@ -66,14 +44,7 @@ In ConanCenter, our belief is recipes should always match upstream, in other wor
* Options should [follow these recommendations](conanfile_attributes.md#options) as well as match the default value used by the upstream project.
* [Package information](build_and_package.md), libraries, components should match as well. This includes exposing supported build system names.

Where dependencies are involved, there's no shortcuts, inspect the upstream's build scripts for how they are usually consumed. Pick the Conan
generator that matches. The most common example is CMake's `find_package` that can be satisfied by Conan's
[`CMakeDeps`](https://docs.conan.io/1/reference/conanfile/tools/cmake/cmakedeps.html) generator. There are a few
things to be cautious about, many projects like to "vendor" other projects within them. This can be files checked into the repository or
downloaded during the build process. These should be removed, see the [Dependencies section](dependencies.md#handling-internal-dependencies)
for more information.

### How to provide a good recipe
### How to write a good recipe

Take a look at existing [recipes](https://github.com/conan-io/conan-center-index/tree/master/recipes) available in ConanCenterIndex which can be
used as good examples, you can use them as the base for your recipe. The GitHub search is very good for matching code snippets, you can see if,
Expand All @@ -95,7 +66,6 @@ The documents in this folder are written to explain each folder, file, method, a
4. [Dependencies](dependencies.md)
5. [Build and Package](build_and_package.md)
1. [Revisit Patches](sources_and_patches.md#policy-about-patching)
6. [Test Package](test_packages.md)

The one place you are certain to find a lot of information is <https://docs.conan.io>, this has the documentation for everything in Conan.
There are helpful tutorials for cross-build, detailed explication for profiles and settings and much much more!
Expand All @@ -110,8 +80,6 @@ The specific steps to submitting changes are:
* Build and test the new recipe in several combinations. Check [developing recipes](../developing_recipes_locally.md) for tips.
* [Commit and push to your fork repository](https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository) then
[submit a pull request](https://github.com/conan-io/conan-center-index/compare).
* Our automated [build service](#the-build-service) will build 100+ different configurations, and provide messages that indicate if there
were any issues found during the pull request on GitHub.

When the pull request is [reviewed and merged](../review_process.md), those packages are published to [JFrog's ConanCenter](https://conan.io/center/)
and are made available for everyone.
Expand All @@ -120,14 +88,9 @@ and are made available for everyone.

The **build service** associated to this repository will generate binary packages automatically for the most common platforms and compilers.
See [the Supported Platforms and Configurations page](../supported_platforms_and_configurations.md) for a list of generated configurations.
For a C++ library, the system is currently generating more than 100 binary packages.
For a C++ library, the system is currently generating more than 30 binary packages.

> **Note**: This not a testing service, it is a binary building service for **released** packages. Unit tests shouldn't be built nor run in recipes by default, see the [FAQs](../faqs.md#why-conancenter-does-not-build-and-execute-tests-in-recipes) for more. Before submitting a pull request, please ensure that it works locally for some configurations.
* The CI bot will start a new build only [after the author is approved](#one-request-access). Your PR may be reviewed in the mean time, but is not guaranteed.
* The CI system will also report errors and build logs by creating a comment in the pull-request, the message will include links to the logs for inspecting.
* The Actions are used to lint and ensure the latest conventions are being used. You'll see comments from bots letting you know.

Packages generated and uploaded by this build service do not include any _user_ or _channel_ (we generally recommend using `@user/channel` for private package
repositories as an easy way to distinguish them from public ones). Once the packages are uploaded, you will be able to install them using the reference as
`name/version` so example `conan install fmt/9.1.0@` for 1.x client or `conan install --requires=fmt/9.1.0` for 2.x clients.
- The CI system will report the build logs in the Checks tab, in the pull-request.
- Linter and Hooks are automatically displayed in the Checks tab as well.
Loading

0 comments on commit 919d894

Please sign in to comment.