dotnet / dotnet/docker-tools

Proposal for unifying .NET Docker project namespaces

Open
#1,430 5 comments 0 reactions 0 assignees View on GitHub
area-infrastructure enhancement
Dominant language
C#
Stars
181
Forks
67
Avg merge
2d 15h
Merged PRs (30d)
10

Description

## Summary

We are approaching the point where it would make sense to share code between some of the .NET Docker projects. For example, sharing code to create pull requests between FilePusher and ImageBuilder, or sharing code for reading the manifest.versions.json file between the update-dependencies tool and dotnet-docker tests. Straightening out our namespaces between projects is a prerequisite to that. Even if we didn't decide to do those things, our repos and projects are inconsistent with each other. This is a proposal to make everything more consistent.

## Current

### Repo: dotnet-docker

- Solution: `eng/update-dependencies/update-dependencies.sln`
- Project: `update-dependencies.csproj`
- Namespace: `Dotnet.Docker` [sic]
- Solution: `tests/Microsoft.DotNet.Docker.Tests/Microsoft.DotNet.Docker.Tests.sln`
- Project: `Microsoft.DotNet.Docker.Tests.csproj`
- Namespace: `Microsoft.DotNet.Docker.Tests`

### Repo: docker-tools

- Solution: `eng/src/tools.sln`
- Project: `file-pusher/file-pusher.csproj`
- Namespace: `FilePusher`
- Project: `yaml-updater/yaml-updater.csproj`
- Namespace: `YamlUpdater`
- Solution: `src/Microsoft.DotNet.ImageBuilder/Microsoft.DotNet.ImageBuilder.sln`
- Project: `src/Microsoft.DotNet.ImageBuilder.csproj`
- Namespace: `Microsoft.DotNet.ImageBuilder`
- Project: `tests/Microsoft.DotNet.ImageBuilder.Tests.csproj`
- Namespace: `Microsoft.DotNet.ImageBuilder.Tests`

## Proposal

One solution per repo for our projects (samples notwithstanding). Namespaces should roughly match up with project paths. Give update-dependencies, file-pusher, and yaml-updater more consistent project names and namespaces.

### Repo: dotnet-docker

- Solution: `Microsoft.DotNet.Docker.sln`
- Project: `eng/update-dependencies/Microsoft.DotNet.Docker.UpdateDependencies.csproj`
- Namespace: `Microsoft.DotNet.Docker.UpdateDependencies`
- Project: `eng/Microsoft.DotNet.Docker.Tests.csproj`
- Namespace: `Microsoft.DotNet.Docker.Tests`

### Repo: docker-tools

- Solution: `Microsoft.DotNet.Docker.Tools.sln`
- Project: `src/Microsoft.DotNet.Docker.Tools/FilePusher/FilePusher.csproj`
- Namespace: `Microsoft.DotNet.Docker.Tools.FilePusher`
- Project: `src/Microsoft.DotNet.Docker.Tools/YamlUpdater/YamlUpdater.csproj`
- Namespace: `Microsoft.DotNet.Docker.Tools.YamlUpdater`
- Project: `src/Microsoft.DotNet.Docker.Tools/ImageBuilder/ImageBuilder.csproj`
- Namespace: `Microsoft.DotNet.Docker.Tools.ImageBuilder`
- Project: `src/Microsoft.DotNet.Docker.Tools/ImageBuilder.Tests/ImageBuilder.Tests.csproj`
- Namespace: `Microsoft.DotNet.Docker.Tools.ImageBuilder.Tests`

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.