• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

nebula-plugins/nebula-project-plugin: Healthy defaults for a standard Gradle pro ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

nebula-plugins/nebula-project-plugin

开源软件地址(OpenSource Url):

https://github.com/nebula-plugins/nebula-project-plugin

开源编程语言(OpenSource Language):

Groovy 100.0%

开源软件介绍(OpenSource Introduction):

Nebula Project Plugin

Support Status Gradle Plugin Portal Maven Central Build Apache 2.0

Provides healthy defaults for a Gradle project. Currently adds:

  • Builds Javadoc and Sources jars
  • Record information about the build and stores it in the .jar, via gradle-info-plugin
  • Easy specification of people involved in a project via gradle-contacts-plugin
  • Doesn't fail javadoc if there are none found

nebula-project plugin introduces Nebula Dependency Lock Plugin out of the box.

If you prefer to use Gradle's Locking dependency versions mechanism, you can use nebula.dependencyLockPluginEnabled project property to disable Nebula's plugin.

Compatibilty notes

This plugin uses APIs that are not available on Gradle < 5.0.

From v7.0.0, nebula-project-plugin supports only Gradle 5.0+

Nebula Facet Plugin

A routine pattern is wanting a new SourceSet with an accompanying Configuration for dependencies. We consider this another facet of your project and can be modeled via the Nebula Facet plugin. This plugin will create a SourceSet with the name provided, which extends the main SourceSet, and consequently it'll create configurations for compile and runtime, which extends from the parent SourceSet. Their "classes" task will be wired up to the build task.

apply plugin: 'nebula.facet'
facets {
    examples
    performance
}

The previous definition would make examples and performance SourceSets, so that code can go in src/examples/java and src/performance/java. It'll get four configurations: examplesCompile, examplesRuntime, performanceCompile, performanceRuntime. Those configurations will extend compile and runtime respectively. Each one can be configured to inherit from another SourceSet, e.g.

facets {
    functional {
        parentSourceSet = 'test'
    }
}

That will cause the functionalCompile to extend from testCompile, and functionalRuntime to extend from testRuntime, since those are the configurations from the "test" SourceSet.

Test Facets

If "Test" is in the facet name then a Test task will be created (though it will still inherit from the "main" SourceSet--use the above configuration to make the test facet extends from the test SourceSet). For example:

facets {
    integTest
}

This will create a test task called integTest in addition to the integTest SourceSet. The parent SourceSet can still be overriden like above, and the task name can be set:

facets {
    integTest {
        parentSourceSet = 'main'
        testTaskName = 'integrationTest'
    }
}

Test facets may opt out of a dependency on the 'check' task by using includeInCheckLifecycle:

facets {
    integTest {
        parentSourceSet = 'main'
        testTaskName = 'integrationTest'
        includeInCheckLifecycle = false
    }
}

Nebula IntegTest Plugin

A corrolary from the Facet Plugin is a concrete Facet, this plugin provides one specifically for Integration Tests. By applying this plugin, you'll get an integrationTest Test task, where sources go in src/integTest/java and dependencies can go into integTestImplementation and integTestRuntimeOnly (which extend from the test SourceSet), with the 'check' task depending on the task. To apply the plugin:

apply plugin: 'nebula.integtest'

Alternatively, the task can be a standalone task that isn't depended on by check by applying:

apply plugin: 'nebula.integtest-standalone'



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap