Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Directory Restructuring #973

Merged
merged 9 commits into from Oct 19, 2020
Merged

Conversation

zacharycmontoya
Copy link
Collaborator

@zacharycmontoya zacharycmontoya commented Oct 7, 2020

Goal

Implements the proposal discussed in #951. There is a significant amount of changes marked with File renamed without changes.. I recommend viewing the changes commit by commit as they each set up a subdirectory as outlined in the proposal. I may even merge this change as separate commits instead of squashing.

High-Level Changes

  • Set up the build subdirectory
  • Set up the test/test-applications subdirectory
    • samples -> test/test-applications/integrations
    • sample-libs -> test/test-applications/integrations/dependency-libs
    • reproductions -> test/test-applications/regression
    • reproduction-dependencies -> test/test-applications/regression/dependency-libs
    • samples-aspnet -> test/test-applications/aspnet
    • samples-iis -> test/test-applications/aspnet
  • Move benchmarks to test/benchmarks
  • Delete performance directory
  • Move lib to src/Datadog.Trace.ClrProfiler.Native/lib
  • Move deploy/Datadog.Trace.ClrProfiler.WindowsInstaller to src/WindowsInstaller
  • Move customer-samples to samples

Result

Datadog.Trace.sln

restructured-solution-view

Validation

  • Followed docs/README.md steps
    • Windows -> Building from a command line
    • Linux -> Building from a command line
  • Ran integration tests locally in Visual Studio
    • HttpMessageHandler and WebRequest integration tests on net45 and netcoreapp2.1
    • SmokeTests on net45 and netcoreapp2.1
  • Ran build/tools/GeneratePackageVersions and build/tools/PrepareRelease
  • Azure DevOps pipelines are successful
    • packages
    • unit-tests
    • integration-tests (wait for Windows runs to finish to confirm)
    • benchmarks

@DataDog/apm-dotnet

@zacharycmontoya zacharycmontoya changed the title Zach/directory restructuring Directory Restructuring Oct 7, 2020
@zacharycmontoya zacharycmontoya self-assigned this Oct 7, 2020
@zacharycmontoya zacharycmontoya added the area:builds project files, build scripts, pipelines, versioning, releases, packages label Oct 7, 2020
@zacharycmontoya zacharycmontoya force-pushed the zach/directory-restructuring branch 7 times, most recently from ff72fa9 to e1a0890 Compare October 8, 2020 20:30
@zacharycmontoya zacharycmontoya marked this pull request as ready for review October 8, 2020 20:46
@zacharycmontoya zacharycmontoya requested a review from a team as a code owner October 8, 2020 20:46
@zacharycmontoya zacharycmontoya force-pushed the zach/directory-restructuring branch 2 times, most recently from 229446d to 1ea5821 Compare October 14, 2020 16:04
@zacharycmontoya
Copy link
Collaborator Author

I'm not sure what's up with the Azure DevOps but it looks like the integration-tests are largely succeeding after the latest commit 1ea5821 , though they're getting close to timing out for taking too long: https://dev.azure.com/datadoghq/dd-trace-dotnet/_build/results?buildId=27411&view=results

- Move docker to build/docker
- Update docker-compose.yml to accommodate new file path
- Update shell script files to accommodate new file path
- Modify .gitignore to allow the build/artifacts directory to be checked in
- Move createLogPath.sh and Datadog logos to build/artifacts
- Modify package.sh to consume createLogPath.sh from the new location
- Move tools/PrepareRelease and tools/GeneratePackageVersions to build/tools
- Copy tools/Directory.Build.props and tools/GlobalSuppression.cs to build/tools with some modifications
- Modify PrepareRelease files to accommodate new file path
- Modify GeneratePackageVersion files to accommodate new file path
- Modify Datadog.Trace.proj to accommodate new file path
- Move samples                   to test/test-applications/integrations
- Move sample-libs               to test/test-applications/integrations/dependency-libs
- Move reproductions             to test/test-applications/regression
- Move reproduction-dependencies to test/test-applications/regression/dependency-libs
- Move samples-aspnet            to test/test-applications/aspnet
- Move samples-iis folder        to test/test-applications/aspnet
- Modify project files to build
- Modify IntegrationTests to run tests from the new directories
- Move benchmarks and performance to test/benchmarks
- Modify project files to build
- Comment out the Save method call in Performance.StackExchange.Redis so the BenchmarkDotNet artifacts would be produced in the expected location
- Modify benchmarks.yml to run benchmarks from the new location
- Move lib/coreclr/src to src/Datadog.Trace.ClrProfiler.Native/lib/coreclr/src
- Modify Profiler build scripts to find new CoreCLR lib path
@zacharycmontoya zacharycmontoya force-pushed the zach/directory-restructuring branch 3 times, most recently from f86eb59 to 992256f Compare October 19, 2020 18:20
 - Move deploy/Datadog.Trace.ClrProfiler.WindowsInstaller to src/Datadog.Trace.ClrProfiler.WindowsInstaller
- Move customer-samples directory to samples
- Rename customer-samples.sln to samples.sln
…ndowsInstaller (and rename the .wixproj file as well)
- Delete unnecessary files that would otherwise bubble up to test/test-applications/integrations/dependency-libs/Directory.Build.props
- Move Test.Common.props to test/test-applications/Directory.Build.props, and modify solution file and imports accordingly
- Add a new Directory.Build.props in the build directory so there's a chain of them
- Modify all StyleCop Include declarations to use $(MSBuildThisFileDirectory) since relative paths in ItemGroups are evaluated from the original project file location
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:builds project files, build scripts, pipelines, versioning, releases, packages type:refactor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants