如何将存储库从远程脚本插件应用到pluginManagement块?

时间:2017-08-18 21:30:50

标签: gradle

我想使用孵化plugins blockplugins { id "com.jfrog.bintray" version "0.4.1" }

settings.gradle

默认情况下,这会从Gradle插件门户中提取插件。但是,我们的组织需要使用内部Artifactory存储库,而不是公共Gradle插件门户或类似的存储库。

我看到pluginManagement block可用于指定存储库,方法是将以下内容添加到pluginManagement { repositories { maven { url "https://artifactory.example.com/" } } }

build.gradle

我们有几个存储库,还有一些凭据逻辑,所以在过去,我们刚刚将这些捆绑在远程URL的脚本插件中,然后在我们的apply from: "https://shared.example.com/repositories.gradle" 文件中访问它,如下所示:< / p>

repositories.gradle

repositories {}文件当前包含一个pluginManagement块,其中包含多个存储库。

有什么办法可以将这个远程脚本插件应用到settings.gradle块?我试着进入我的pluginManagement { apply from: "https://shared.example.com/repositories.gradle" } 文件并按照这样做:

Could not find method repositories() for arguments

但是,我收到错误消息<!DOCTYPE html> <html ng-app> <head> <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" rel="stylesheet" type="text/css" /> <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" /> <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.3/angular.min.js"></script> <script > function myCtrl($scope, $window) { var isCourseShown = {}; $scope.isShown = function (cource) { var isShown = isCourseShown[cource.Id]; if(isShown == null) { isCourseShown[cource.Id] = true; isShown = true; } return isShown; }; $scope.showHide = function(cource){ var isShown = isCourseShown[cource.Id]; isCourseShown[cource.Id] = !isShown; }; $scope.vm = {}; $scope.vm.Courses = [ { Id: 1, Name: "Course 1"}, { Id: 2, Name: "Course 2"} ]; } </script> </head> <body ng-controller="myCtrl"> <div> <div ng-repeat="course in vm.Courses"> <div> <div ng-show="isShown(course)" id={{course}}> <label>{{course.Name}}</label> <button ng-click="showHide(course)"> S/H </button> </div> </div> </div> </div> </body> </html> 。还有其他方法让我可以使用它吗?

1 个答案:

答案 0 :(得分:0)

仅仅因为您在特定上下文中应用外部Gradle脚本(例如pluginManagement),它就不会在此上下文中执行。 apply方法由Settings对象实现,因此默认情况下它被选为目标对象。您可以尝试使用传递给to方法的地图中的apply参数将脚本委派给其他对象:

apply to: pluginManagement, from: "https://shared.example.com/repositories.gradle"