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

[SofaKernel] SofaComponentCommon does not always register all its components in the object factory #488

Merged
merged 1 commit into from
Nov 2, 2017

Conversation

fjourdes
Copy link
Contributor

@fjourdes fjourdes commented Oct 20, 2017

Purpose

For some reason, I stumbled upon a strange error where EulerImplicitSolver is no longer registered in the factory. It turns out that some init...() methods call are missing in SofaComponentCommon
Maybe this error arised on master because some includes directive have been cleaned, or some
dependencies have been removed which were hiding this problem before.

CHANGELOG

FIX
[SofaComponentCommon]

  • Make sure initComponentCommon() method calls the init method of all the libraries that compose the package so that we are sure the ObjectFactory is well populated.

This PR:

  • builds with SUCCESS for all platforms on the CI.
  • does not generate new warnings.
  • does not generate new unit test failures.
  • does not generate new scene test failures.
  • does not break API compatibility.
  • is more than 1 week old (or has fast-merge label).

Reviewers will merge only if all these checks are true.

of the libraries that are part of that package, to be sure that all the
components that compose that package are well registered in the object
factory.
@hugtalbot hugtalbot added pr: fix Fix a bug pr: status to review To notify reviewers to review this pull-request labels Oct 20, 2017
@guparan
Copy link
Contributor

guparan commented Oct 23, 2017

Info: init calls were commented in fjourdes@05dcb47

@fjourdes
Copy link
Contributor Author

fjourdes commented Oct 23, 2017

I talked about it with Jeremie. No idea why this was never amended. However it seems that SofaComponentCommon was in fact never built before 05dcb47
Am I the only one who faced that problem recently ? Nevertheless I believe the point still stands that the init method of each "collection" of library should call the init method of every library that compose the collection.

@damienmarchal
Copy link
Contributor

Hi François

Thanks for reporting.
As we recently started moving things into plugin, cutting "un-needed" dependencies and relaxed the code coupling I'm not surprised this can happen.

@hugtalbot hugtalbot added pr: status ready Approved a pull-request, ready to be squashed and removed pr: status to review To notify reviewers to review this pull-request labels Oct 25, 2017
@fjourdes fjourdes changed the title [SofaKernel] SofaComponentCommon does not always registers all its components in the object factory [SofaKernel] SofaComponentCommon does not always register all its components in the object factory Oct 27, 2017
@hugtalbot hugtalbot merged commit 8c0ec7d into sofa-framework:master Nov 2, 2017
@guparan guparan added this to the v17.12 milestone Dec 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: fix Fix a bug pr: status ready Approved a pull-request, ready to be squashed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants