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

Create separate project for TestCentric.Engine.Core package #135

Closed
CharliePoole opened this issue Aug 3, 2023 · 1 comment · Fixed by #159
Closed

Create separate project for TestCentric.Engine.Core package #135

CharliePoole opened this issue Aug 3, 2023 · 1 comment · Fixed by #159
Assignees
Labels
Breaking Change Breaking change requiring a new major version
Milestone

Comments

@CharliePoole
Copy link
Contributor

The testcentric-engine GitHub project produces three different NuGet packages

  • TestCentric.Engine
  • TestCentric.Engine.Core
  • TestCentric.Engine.Api
    The testcentric-engine GitHub project produces three different NuGet packages
  • TestCentric.Engine
  • TestCentric.Engine.Core
  • TestCentric.Engine.Api
    The testcentric-engine GitHub projecThe testcentric-engine GitHub project produces three different NuGet packages
  • TestCentric.Engine
  • TestCentric.Engine.Core
  • TestCentric.Engine.Api

TestCentric.Engine depends on the other two and the Core package depends on the Api. In addition, some engine extensions depend on the Core and/or the Api assemblies. In particular, all pluggable agents depend on both.

Even though the references are not circular, this gives rise to a kind of functional circular dependency, which was first noticed in working on issue #127 and gave rise to an adhoc fix in our Cake recipe.

  • TestCentric.Engine depends on Core and Api.
  • Pluggable agents also depend on them.
  • The build process for the engine creates all three packages simultaneously.
  • The package testing process for the engine requires working pluggable agents.

One way to resolve this would be to build all our pluggable agents, or at least those distributed with the engine, as part of the testcentric-engine project. But this would leave us open to other future extensions possibly creating the same situation.

In any case, it seems simpler for each of our GitHub projects to only produce a single package. (In some cases there might be different formats delivered, such as NuGet and Chocolatey, but the functionality of the packages would be the same.)

This issue addresses separation of the TestCentric.Engine.Core package. The TestCentric.Engine.Api package is being addressed in a separate issue. Once these changes are complete, we will be able to simplify our Cake recipe accordingly.

@CharliePoole
Copy link
Contributor Author

🎉 This issue has been resolved in version 2.0.0-beta3 🎉

The release is available on:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking Change Breaking change requiring a new major version
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant