@@ -210,17 +210,43 @@ file for the new project. The component owner(s) are expected to respond to
210210issues and review PRs affecting their component.
211211
212212Although the projects within this repo share some properties and configurations,
213- they are built and released independently. So if you are creating a new project
214- within ` /src ` and corresponding test project within ` /test ` , here are a few
215- things you should do to ensure that your project is automatically built and
216- shipped through CI.
213+ they are built and released independently. This independence is controlled via modules.
214+ If you are creating a new module the first step is to create a folder
215+ within the ` /modules ` folder for your module. This folder will contain the following:
216+
217+ * ` /src ` folder for the source code
218+ * ` /test ` folder for the tests
219+ * ` OpenTelemetry.{moduleName}.slnf ` which is a solution filter for your project
220+ * ` Directory.packages.props ` a listing of all packages used and enables CPM.
221+ This is to import from the root file.
222+ * ` Directory.build.props ` a convient location to define
223+ shared properties for your module.
224+ This is to import from the root file.
225+
226+ To facilitate CI/CD, a workflow needs to be added in the ` .github\workflows ` folder.
227+ This file should be based on ` ci-Template.yml ` with
228+ ` {{moduleName}} ` replaced with your module name.
229+
230+ To facilitate code coverage analysis, a block based on the below
231+
232+ ``` code
233+ unittests-{{moduleName}}:
234+ carryforward: true
235+ paths:
236+ - modules/{{moduleName}}/src/OpenTelemetry.{{moduleName}}
237+ ```
238+
239+ with
240+ ` {{moduleName}} ` replaced with your module name.
217241
218242> [ !NOTE]
219243> It is generally helpful to reference a previous pull request when adding a new
220244 project to the repository. A good example to follow is the pull request which
221245 added the ` OpenTelemetry.Resources.OperatingSystem ` project:
222246 [ #1943 ] ( https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/1943 ) .
223247
248+ ### Additional Information for new projects
249+
224250* Based on what your project is, you may need to depend on the [ OpenTelemetry
225251 SDK] ( https://www.nuget.org/packages/OpenTelemetry ) or the [ OpenTelemetry
226252 API] ( https://www.nuget.org/packages/OpenTelemetry.Api ) Include the necessary
0 commit comments