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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NG] MOVE SofaComponent* to packages #620

Merged
merged 24 commits into from May 7, 2018

Conversation

3 participants
@guparan
Copy link
Member

guparan commented Mar 29, 2018

Please gently welcome this first NG pull-request 馃槉

The base idea was to remove the SofaComponent* packages from modules and to put them in their own place instead.
Doing this, I realized that SofaComponentBase contains actual components (it's not only a basic package as it should be).
Thus, it permitted me to introduce the first NG module Sofa.Component.Utils and fill it with SofaComponentBase intruders (MakeAliasComponent, MakeDataAliasComponent, MessageHandlerComponent, InfoComponent).

NG architecture is based on the discussions in #543.
Transition headers are also provided (in deprecated_layout folder) to ensure old includes.

I am also working with @damienmarchal on a way to cleanly automatize this kind of NG refactoring with python: see https://github.com/guparan/sofa2ng

Feedback is more than welcome!


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.

guparan added some commits Mar 12, 2018

[SofaAllCommonComponents] RENAME to SofaComponentAll
This is more in phase with existing packages like SofaComponentAdvanced, etc.
[packages] MOVE SofaComponent* to applications/packages
Make a distinction between packages that are only CMake aggregators and applications/packages that are libraries.
@guparan

This comment has been minimized.

Copy link
Member

guparan commented Apr 3, 2018

[ci-build][with-scene-tests]

set(SOURCE_FILES config/${PROJECT_NAME}.cpp)

list(APPEND HEADER_FILES
deprecated_layout/SofaComponentBase/MakeAliasComponent.h

This comment has been minimized.

@damienmarchal

damienmarchal Apr 4, 2018

Contributor

Please validate deprecated_layout principle

)

list(APPEND HEADER_FILES
src/sofa/component/utils/MakeAliasComponent.h

This comment has been minimized.

@damienmarchal

damienmarchal Apr 4, 2018

Contributor

Please validate src/namespace/component principle

@@ -1,6 +1,8 @@
cmake_minimum_required(VERSION 3.1)
project(SofaGuiQt)

find_package(Sofa.Component.Utils)

This comment has been minimized.

@damienmarchal

damienmarchal Apr 4, 2018

Contributor

Please give feedback on "." naming convention for Sofa.component.Utils

@@ -0,0 +1,48 @@
/******************************************************************************

This comment has been minimized.

@damienmarchal

damienmarchal Apr 4, 2018

Contributor

Please validate this new way to name config.h files

guparan added some commits Apr 13, 2018

@guparan guparan changed the base branch from master to ng Apr 17, 2018

@hugtalbot hugtalbot merged commit 61a8423 into sofa-framework:ng May 7, 2018

6 checks passed

Dashboard Builds triggered.
Details
Scene tests Triggered in latest build.
Details
centos_clang-3.4_options OK (tests ignored, see details)
Details
mac_clang-3.4_options OK (tests ignored, see details)
Details
ubuntu_gcc-5.4_options OK (tests ignored, see details)
Details
windows7_VS-2015_options_amd64 OK (tests ignored, see details)
Details

@guparan guparan added this to the v18.06 milestone Jun 18, 2018

@guparan guparan removed this from the v18.06 milestone Nov 5, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment