有没有办法禁用特定软件包的使用?

时间:2019-03-17 14:32:18

标签: android gradle

我与多个开发人员组成团队。我们正在通过android-junit5使用JUnit5,并且使用@Test包中的org.junit注释而不是org.junit.jupiter.api包中的org.junit注释编写的测试不在gradle的测试报告中。如果可能的话,我想彻底阻止开发人员使用java.time.*。有没有办法使用gradle做到这一点?我想实现这个特定的解决方案,而不是一种解决方法,因为还有其他一些实例,我们希望阻止用户使用给定的程序包(Java 8中的public function boot() { **I can:** $user = new User(); $table = $user->getTable(); **I would like to:** echo User::getTable(); exit; $user = $this->user; \Serviom\Guestpage\Models\Post::extend(function($model) use ($user) { $model->rules = [ 'name' => 'required|between:3,100', 'subject' => 'required|between:3,100', 'desc' => 'required|between:10,1000', 'parent_id' => 'nullable|exists:serviom_guestpage_posts,id', 'user_id' => 'nullable|exists:' . $table . ',id', ThreeTenABP

谢谢

1 个答案:

答案 0 :(得分:1)

解决该问题的一种方法是创建一个仅包含允许的API的Jar。然后,您可以将该jar上载到存储库,并要求开发人员将其用作testCompileOnly依赖项,同时将原始jar保留为testRuntimeOnly依赖项。

这将确保测试代码无法访问禁止的类/程序包,因为在编译过程中不会看到它们。