refactor: refactor into a multi-module architecture#706
Conversation
…nto maven-multi-module
✅ Deploy Preview for fesod ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
| <dependency> | ||
| <groupId>org.apache.fesod</groupId> | ||
| <artifactId>fesod-sheet</artifactId> | ||
| <version>${project.version}</version> |
There was a problem hiding this comment.
require to declare the version here if parent pom with dependency management?
There was a problem hiding this comment.
If the parent POM already has dependencies, then this is not necessary here. However, as an independent example project, I still included it separately to ensure that users can clearly identify the dependencies.
| <dependency> | ||
| <groupId>org.apache.fesod</groupId> | ||
| <artifactId>fesod-common</artifactId> | ||
| <version>${project.version}</version> |
There was a problem hiding this comment.
won't dependencies management from root pom cover this?
There was a problem hiding this comment.
IMO, should additional submodules (such as Spring) be added in future, they may directly depend on fesod-sheet, with fesod-common serving as a transitive dependency.
| <artifactId>jazzer-junit</artifactId> | ||
| <scope>test</scope> | ||
| </dependency> | ||
| </dependencies> |
There was a problem hiding this comment.
why involve above dependencies into root pom? Won't dependencies management enough to cover?
There was a problem hiding this comment.
IMO, unit tests are globally dependent, so there is no need to repeatedly introduce dependencies in sub-modules.
alaahong
left a comment
There was a problem hiding this comment.
Generally good, leave some questions on the additional version and dependencies.
# Conflicts: # fesod-examples/pom.xml # fesod-sheet/src/main/java/org/apache/fesod/sheet/enums/HeaderMergeStrategy.java # fesod-sheet/src/test/java/org/apache/fesod/sheet/head/HeaderMergeStrategyTest.java # fesod/pom.xml # fesod/src/main/java/org/apache/fesod/sheet/write/property/ExcelWriteHeadProperty.java # pom.xml
psxjoy
left a comment
There was a problem hiding this comment.
LGTM
If no one has other question, this PR will merge in 24hours.
Purpose of the pull request
Close #686
What's changed?
2.0.0-SNAPSHOT${revision}to manage the unified version numberMulti-Module
The refactored project will have the following module hierarchy:
fesodhas been renamed tofesod-sheet, for use in spreadsheets onlyDependency Graph
graph TD M2(fesod-common) M3(fesod-sheet-examples) M4(fesod-sheet) M5(fesod-examples) T1(poi-ooxml) T2(poi) T3(commons-io) T4(commons-csv) T5(ehcache) T6(fastexcel-support) M5 --> M3 M4 --> M2 M4 --> T1 M4 --> T2 M4 --> T3 M4 --> T4 M4 --> T5 M4 --> T6 M3 --> M4BOM
graph TD M1(fesod-bom) M2(fesod-common) M3(fesod-sheet) M1 -.-> M2 M1 -.-> M3Checklist