question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Refactor project code and organization in 3.2.0

See original GitHub issue

在保证兼容性的情况下,我们计划将在 SOFABoot 3.2.0 重构工程代码和组织结构,整体改造目标有两个:

  • 尽可能使代码风格偏向 Spring boot
  • 参考 Spring,将 SOFARPC Starter 和 SOFATracer Starter 挪至 SOFABoot 工程。

工程模块改造

.
└── sofa-boot-build
    ├── sofa-boot-project
    │   ├── sofa-boot
    │   ├── sofa-boot-actuator
    │   ├── sofa-boot-actuator-autoconfigure
    │   ├── sofa-boot-autoconfigure
    │   ├── sofa-boot-core
    │   │   ├── runtime-sofa-boot
    │   │   ├── isle-sofa-boot
    │   │   ├── healthcheck-sofa-boot
    │   │   ├── rpc-sofa-boot
    │   │   ├── tracer-sofa-boot
    │   │   └── test-sofa-boot
    │   │   
    │   ├── sofa-boot-parent
    │   ├── sofaboot-dependencies
    │   ├── sofa-boot-plugin
    │   │   ├── runtime-sofa-boot-plugin
    │   │   ├── rpc-sofa-boot-plugin
    │   │   └── tracer-sofa-boot-plugin
    │   │ 
    │   ├── sofa-boot-starters
    │   │   ├── runtime-sofa-boot-starter
    │   │   ├── isle-sofa-boot-starter
    │   │   ├── healthcheck-sofa-boot-starter
    │   │   ├── infra-sofa-boot-starter
    │   │   ├── test-sofa-boot-starter
    │   │   ├── rpc-sofa-boot-starter
    │   │   └── tracer-sofa-boot-starter
    │   │
    │   └── sofa-boot-tools
    │       └── sofa-boot-gradle-plugin
    │
    └── sofaboot-samples
        ├── sofaboot-sample
        ├── ... 
        └── sofaboot-sample-with-rpc

相较于之前的模块组织方式,我们参考了 Spring Boot 官方文档建议:

除了遵循上述开发建议之外,本次改造将 SOFARPC Starter 以及 SOFATracer Starter 相关代码挪至 SOFABoot 工程,这样做的原因有两点:

  • 避免工程分散各处,所有 Starter 走一个发布流程
  • 核心包和Starter分离,比如 tracer-core 和 tracer starter, 避免因为 starter 升级导致 core 包升级

注意点

  • SOFARPC starter 同步分支为 6.0.4-SNAPSHOT (确保所有 commit 均已被 cherry-pick)
  • SOFATracer starter 同步分支为 3.0.5

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:10 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
QilongZhangcommented, Jul 11, 2019

将 SOFARPC Starter 挪至 SOFABoot 工程

totally agree!

PS:为什么 sofa-boot-actuator 在最顶层以及有一个单独的 autoconfigure?

感谢 @ScienJus 回复。 SOFABoot 提供了若干 endpoint,放在 sofa-boot-actuator 中,这两个模块参考了 Spring Boot 的设计. PR 已提,欢迎指正。

0reactions
wangyjxcommented, Aug 7, 2019

3.2有没有预计的发布时间?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Configure Developers and Teams — CodeScene 3.2.0 ...
Click the Teams tab in your project configuration to proceed to the teams configuration, ... Define a teams for the organization that owns...
Read more >
Code Refactoring Best Practices: When (and When Not) to Do It
Best practices for code refactoring · Refactor first before adding any new features · Plan your refactoring project and timeline carefully · Test ......
Read more >
Code Dx 3.2.0
Code Dx 3.2.0 8/9/2018. Additions. Added pagination to project listing page, project list on admin page; Enterprise Added MISRA C and C++ standards...
Read more >
Development Environment and Tools
The Zephyr project uses GitHub for code reviews and Git tree management. When submitting a change or an enhancement to any Zephyr component, ......
Read more >
Software Is Never Done: Refactoring the Acquisition Code for ...
The DoD should invest in new approaches to software development (beyond agile), including the use of computer assisted programming and project ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found