sofastack / sofa-ark

SOFAArk is a light-weight,java based classloader isolation framework.
https://www.sofastack.tech/projects/sofa-boot/sofa-ark-readme/
Apache License 2.0
1.55k stars 488 forks source link

sofa-ark-springboot-starter会引入junit和testng,且scope无法设置成test #147

Closed jiangyunpeng closed 5 years ago

jiangyunpeng commented 5 years ago

sofa-ark-support-starter会引入Junit和TestNG依赖,且scope是compile, 由于无法把sofa-ark-support-starter设置成test,Junit和TestNG会被打入到jar包,希望sofa-ark对Junit和TestNG的依赖能改成provide,或者单独抽取出一个工程做测试相关支持,这样我们可以对其设置成test依赖。

sofa-ark版本:0.5.2

QilongZhang commented 5 years ago

@jiangyunpeng 你是不想将使用不到的包打进到ark包吗? 如果是这样,你是可以配置打包插件排除这些包,参考 http://www.sofastack.tech/sofa-boot/docs/sofa-ark-ark-jar 完整配置模板

jiangyunpeng commented 5 years ago

嗯,可以配置,但是让每个业务方都去配置这个排除不是很麻烦吗。这算是一个小建议,我觉得这样调整之后对用户使用上会更友好点。

QilongZhang commented 5 years ago

嗯,会考虑 sofa-ark-support-starter 拆成两个 starter,其中一个 starter 负责对测试的支持,以便用户能够设置成 test scope. 另外请问下,你们需要排除这些包,是因为不想 ark jar 太大吗?

jiangyunpeng commented 5 years ago

嗯,会考虑 sofa-ark-support-starter 拆成两个 starter,其中一个 starter 负责对测试的支持,以便用户能够设置成 test scope. 另外请问下,你们需要排除这些包,是因为不想 ark jar 太大吗?

还不是这个原因,因为 sofa-ark-support-starter在整个biz包中占的大小比例并不大,主要原因是我们不希望把JUnit和TestNG包发布到线上环境。

QilongZhang commented 5 years ago

@jiangyunpeng 好的,了解了。 sofa-ark-support-starter 当时的设计是希望做成只为测试存在的,即用户能设置成 scope 为 test. 后面发现部分逻辑需要在运行时使用,我们会尽快将这部分逻辑摘出来。

QilongZhang commented 5 years ago

在 sofa-ark-support-starter 和 sofa-ark-springboot-starter 排除 JUnit 和 TestNG 依赖. 如果需要使用 SOFAArk 测试能力,需要额外引入 TestNG 和 JUnit 依赖。