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

4finance/uptodate-gradle-plugin: Gradle plugin that tells you what libs have new ...

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

开源软件名称(OpenSource Name):

4finance/uptodate-gradle-plugin

开源软件地址(OpenSource Url):

https://github.com/4finance/uptodate-gradle-plugin

开源编程语言(OpenSource Language):

Groovy 89.5%

开源软件介绍(OpenSource Introduction):

Build Status Coverage Status Download Gitter

uptodate-gradle-plugin

Gradle plugin that tells you what libs have new versions on Maven Central, so when you come back to a project, you know what you can update.

How it works?

You run the plugin:

gradle uptodate

And you get for example this:

New versions available:
'com.google.guava:guava:17.0'
'org.hibernate:hibernate-entitymanager:4.3.5.Final'
'org.hibernate:hibernate-core:4.3.5.Final'

How to install it?

Latest version is Download . You can change + to some other version to have a concrete one instead of a latest one.

Step 1: Add dependency to JCenter and to the plugin

buildscript {
    repositories {	
        jcenter()
    }
    dependencies {
        classpath 'com.ofg:uptodate-gradle-plugin:+'
    }
}

Step 2: Add the plugin to your build (gradle.build)

apply plugin: 'com.ofg.uptodate'

And now you can run the plugin with

gradle uptodate

How to configure which configurations should be checked for updates?

By default all project configurations are checked for updates but you can exclude any of them.

uptodate {
    excludeConfigurations 'providedCompile', 'providedRuntime'
}

If you want to check only specific configurations it's also possible, simply include those configurations.

uptodate {
    includeConfigurations 'compile'
}

Please note that excludes take precedence over includes.

How to exclude non-final versions from reported updates?

You can also provide patterns of versions that you would like to exclude. There are also some patterns (like BETA, RC, etc.) defined in com.ofg.uptodate.UptodatePluginExtension.VersionPatterns

By default following patterns are excluded: ALPHA, BETA, RC, CR, SNAPSHOT, MILESTONE, RELEASE( i.e. r08)

import static com.ofg.uptodate.VersionPatterns.*

uptodate {
    setExcludedVersionPatterns ALPHA, BETA, '.*-demo-?\\d*$'
}

You can also add your own patterns to the already excluded version patterns.

uptodate {
    addExcludedVersionPatterns '.*-demo-?\\d*$'
}

How to tune HTTP connections?

You can change connection timeout (5000 ms by default) and/or limit simultaneous HTTP connections (8 connections by default) by connectionTimeout and simultaneousHttpConnections properties respectively.

uptodate {
    connectionTimeout 10000
    simultaneousHttpConnections  4
}

How to run the plugin if you are behind an HTTP proxy?

The proxy settings can be configured by using one of the following approaches:

1. Via System properties (recommended)

Make sure to have the following properties configured when running the plugin:

http.proxyHost=localhost
http.proxyPort=15000
https.proxyHost=localhost
https.proxyPort=15000

2. Via plugin configuration

Add the proxyHostname, proxyPort (defaults to -1, which is the default port of the scheme) and proxyScheme (defaults to 'http') properties to the plugin configuration.

uptodate {
    proxyHostname 'localhost'
    proxyPort 15000
    proxyScheme 'http'
}

How to print project names along with information about new (or lack of) dependency updates?

By default (sub)project names are not printed so that you can easily operate on uptodate task output (e.g.: sort | uniq) but you can include project names in update headers by:

uptodate {
    reportProjectName true
}

How to break the build if new dependencies have been found?

You can add the possibility to break the build for new versions of dependencies by applying the following closure

uptodate {
    breakTheBuild {
        enabled = true
    }
}

If turned on the default behaviour is such that if ANY new dependency is found then the build will be broken.

You can customize the inclusion and exclusion patterns by the following methods:

uptodate {
    breakTheBuild {
        enabled = true
        includePatterns('regex for dependency group or name to break the build if newer version is found', 'another regex')
        excludePatterns('regex for dependency group or name NOT to break the build if newer version is found', 'another regex')
    }
}

To make the functionality available on demand you can apply for example a project property:

uptodate {
    breakTheBuild {
        enabled = project.hasProperty('uptodateBuildBreakingEnabled')
    }
}

How to run the plugin on every build?

You can run the plugin automatically on every build, just by adding to your build.gradle

build.dependsOn 'uptodate'

But be warned, this will slow down the build by a few seconds (required to hit maven remote repo with http), so it is not suggested unless you don't care about build time.

Changelog

To see what has changed in recent versions of Uptodate plugin see the CHANGELOG

Releasing

  1. Update in build.gradle version
  2. Build version locally ./gradlew clean build
  3. Set bintrayUser and bintrayKey in your system properties
  4. Publish changes using ./gradlew bintrayUpload
  5. Tag version using git tag <version>
  6. Push tags to github git push --tags
  7. Update to next version with -SNAPSHOT suffix



鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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