Skip to content

Commit

Permalink
Update README.md's to use "contribution bar" (#77134)
Browse files Browse the repository at this point in the history
  • Loading branch information
steveharter committed Oct 18, 2022
1 parent 3837c2a commit 0796729
Show file tree
Hide file tree
Showing 12 changed files with 69 additions and 35 deletions.
46 changes: 30 additions & 16 deletions src/libraries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,36 @@

This folder contains the source and tests for the .NET Libraries. Different libraries are owned by different team members; refer to the [Areas](../../docs/area-owners.md#areas) list for lead and owner information.

## Development Statuses

Some libraries are under more active development than others. Depending on the library's status, expectations for issues and pull requests can vary. Check the library's folder for a `README.md` that declares the status for that library. Regardless of a library's status, refer to the [DOs and DON'Ts](../../CONTRIBUTING.md#dos-and-donts) and [Suggested Workflow](../../CONTRIBUTING.md#suggested-workflow) in our contribution guidelines before submitting a pull request.

- **Active**
- Under active development by the team
- Issues will be considered for fix or addition to the backlog
- PRs for both features and fixes will be considered when aligned with current efforts
- **Inactive**
- Under minimal development; quality is maintained
- Issues will be considered for fix or addition to the backlog
- PRs for both features and fixes will be considered
- **Legacy**
- Not under development; maintained for compatibility
- Issues are likely to be closed without fixes
- PRs are unlikely to be accepted
## Contribution Bar

Some libraries are under more active development than others. Depending on the library's status, expectations for issues and pull requests can vary. Check the library's folder for a `README.md` that declares the contribution bar for that library which consists of a **Primary bar** and optional **Secondary bars**. Regardless of a library's contribution bar, refer to the [DOs and DON'Ts](../../CONTRIBUTING.md#dos-and-donts) and [Suggested Workflow](../../CONTRIBUTING.md#suggested-workflow) in our contribution guidelines before submitting a pull request.

### Assumed bars (unless a library says otherwise)
- **We consider security fixes**
- **We consider test coverage changes**
- **We don't accept style-only changes**

### Primary bar
- **We consider new features, new APIs and performance changes**
- Both features and fixes will be considered when aligned with current efforts
- For new APIs, please follow the [API Review Process](../../docs/project/api-review-process.md)
- Performance gains are welcome. Update [benchmarks](https://github.com/dotnet/performance) as appropriate
- Refactoring changes are welcome
- **We only consider fixes to maintain or improve quality**
- New features and APIs are **not** normally accepted but there are exceptions such as when responding to runtime changes or language additions
- The library is likely mature and feature-complete but may be extended occasionally
- Performance gains are considered if they are lower-risk or high-impact
- Refactoring changes are considered if there is a clear benefit
- **We only consider lower-risk or high-impact fixes to maintain or improve quality**
- New features and APIs are **not** accepted
- We don't accept potentially destabilizing fixes or test changes unless there is a clear need
- **We only consider fixes that unblock critical issues**
- New features and APIs are **not** accepted
- Infrastructure changes and other non-functional changes are considered

### Secondary bars
- **We consider PRs that target this library for new [source code analyzers](../../docs/project/analyzers.md)**
- **We don't accept refactoring changes due to new language features**

## Deployment

Expand Down
3 changes: 2 additions & 1 deletion src/libraries/System.Reflection.Context/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ Used by `System.ComponentModel` to support [`CustomReflectionContext`](https://l

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.context.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only consider fixes that unblock critical issues](../../libraries/README.md#primary-bar)

## Deployment
[System.Reflection.Context](https://www.nuget.org/packages/System.Reflection.Context) NuGet package
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.DispatchProxy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ Supports the [`DispatchProxy`](https://learn.microsoft.com/dotnet/api/system.ref

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.dispatchproxy.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

Although used for key scenarios by the community, it has remained relatively unchanged. Internally it uses [Emit](../System.Reflection.Emit/README.md) to generate the proxies so it doesn't work on all platforms.

## Deployment
Expand Down
5 changes: 4 additions & 1 deletion src/libraries/System.Reflection.Emit.ILGeneration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ Contains types used with [`System.Reflection.Emit`](../System.Reflection.Emit/RE

The primary class is [`ILGenerator`](https://learn.microsoft.com/dotnet/api/system.reflection.emit.ilgenerator).

## Status: [Inactive](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection.Emit+label%3A%22help+wanted%22) issues.

## Deployment
[System.Reflection.Emit.ILGeneration](https://www.nuget.org/packages/System.Reflection.Emit.ILGeneration) is included in the shared framework.
3 changes: 2 additions & 1 deletion src/libraries/System.Reflection.Emit.Lightweight/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# System.Reflection.Emit.Lightweight
The primary class is [`DynamicMethod`](https://learn.microsoft.com/dotnet/api/system.reflection.emit.DynamicMethod).

## Status: [Inactive](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only consider fixes to maintain or improve quality](../../libraries/README.md#primary-bar)

## Deployment
[System.Reflection.Emit.Lightweight](https://www.nuget.org/packages/System.Reflection.Emit.Lightweight) is included in the shared framework.
Expand Down
8 changes: 6 additions & 2 deletions src/libraries/System.Reflection.Emit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ Not all platforms and runtimes support IL.Emit.

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.emit. The primary class is [`AssemblyBuilder`](https://learn.microsoft.com/dotnet/api/system.reflection.emit.AssemblyBuilder).

## Status: [Inactive](../../libraries/README.md#development-statuses)
The APIs and functionality are mature, but do get extended occasionally.
## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection.Emit+label%3A%22help+wanted%22) issues.

The primary new feature under consideration is [AssemblyBuilder.Save()](https://github.com/dotnet/runtime/issues/62956).

## Deployment
[System.Reflection.Emit](https://www.nuget.org/packages/System.Reflection.Emit) is included in the shared framework. The package does not need to be installed into any project compatible with .NET Standard 2.1; it only needs to be installed when targeting .NET Standard 2.0.
Expand Down
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.Extensions/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# System.Reflection.Extensions
This supports forwarding types to the runtime including [CustomAttributeExtensions](https://learn.microsoft.com/dotnet/api/system.reflection.CustomAttributeExtensions), [InterfaceMapping](https://learn.microsoft.com/dotnet/api/system.reflection.InterfaceMapping) and [RuntimeReflectionExtensions](https://learn.microsoft.com/dotnet/api/system.reflection.RuntimeReflectionExtensions).

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only consider fixes that unblock critical issues](../../libraries/README.md#primary-bar)

This package was used in the past to expose common functionality across different runtimes in a uniform way. It continues to ship as part of the shared framework, but it is frozen for compatibility.

## Deployment
Expand Down
6 changes: 4 additions & 2 deletions src/libraries/System.Reflection.Metadata/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# System.Reflection.Metadata
Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.metadata.

## Status: [Inactive](../../libraries/README.md#development-statuses)
The APIs and functionality are mature, but do get extended occasionally.
## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection.Metadata+label%3A%22help+wanted%22) issues.

## Deployment
[System.Reflection.Metadata](https://www.nuget.org/packages/System.Reflection.Metadata) is included in the shared framework.
8 changes: 2 additions & 6 deletions src/libraries/System.Reflection.MetadataLoadContext/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ This provides a high-level API for inspecting types given raw assembly contents

This library takes a dependency on `System.Reflection.Metadata` for reading the assembly.

## Status: [Inactive](../../libraries/README.md#development-statuses)
The APIs and functionality are mature, but do get extended occasionally.

## Source

* [../System.Reflection.MetadataLoadContext](../System.Reflection.MetadataLoadContext)
## Contribution Bar
- [x] [We only consider fixes to maintain or improve quality](../../libraries/README.md#primary-bar)

## Deployment
[System.Reflection.MetadataLoadContext](https://www.nuget.org/packages/System.Reflection.MetadataLoadContext) NuGet package.
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.Primitives/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# System.Reflection.Primitives
Contains reflection types such as [TypeAttributes](https://learn.microsoft.com/dotnet/api/system.reflection.typeattributes). Some of these types are forwarded to the runtime. In the future, the non-forwarded types may be lifted to the runtime and then type forwards added.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only consider fixes that unblock critical issues](../../libraries/README.md#primary-bar)

This package was used in the past to expose common functionality across different runtimes in a uniform way. It continues to ship as part of the shared framework, but it is frozen for compatibility.

## Deployment
Expand Down
4 changes: 3 additions & 1 deletion src/libraries/System.Reflection.TypeExtensions/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# System.Reflection.TypeExtensions
This is a facade assembly that has extension methods for common reflection types.

## Status: [Legacy](../../libraries/README.md#development-statuses)
## Contribution Bar
- [x] [We only consider fixes that unblock critical issues](../../libraries/README.md#primary-bar)

This package was used in the past to expose common functionality across different runtimes in a uniform way. It continues to ship as part of the shared framework, but it is frozen for compatibility.

## Deployment
Expand Down
9 changes: 7 additions & 2 deletions src/libraries/System.Reflection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,13 @@ This is the primary reflection assembly. It is used for late-bound introspection

Documentation can be found at https://learn.microsoft.com/dotnet/api/system.reflection.

## Status: [Active](../../libraries/README.md#development-statuses)
Although these common types are mature, the code base continues to evolve for better performance and to keep up with language and runtime enhancements such as byref-like types.
## Contribution Bar
- [x] [We consider new features, new APIs and performance changes](../../libraries/README.md#primary-bar)
- [x] [We consider PRs that target this library for new source code analyzers](../../libraries/README.md#secondary-bars)

Although the types are mature, the code base continues to evolve for better performance and to keep up with language and runtime enhancements such as byref-like types.

See the [Help Wanted](https://github.com/dotnet/runtime/issues?q=is%3Aissue+is%3Aopen+label%3Aarea-System.Reflection+label%3A%22help+wanted%22) issues.

## Source

Expand Down

0 comments on commit 0796729

Please sign in to comment.