You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+98-1Lines changed: 98 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,110 @@ Keep your dependencies fashionably up-to-date.
6
6
7
7
Vogue is a gradle plugin that reads and processes reports generated by the [gradle-versions-plugin](https://github.com/ben-manes/gradle-versions-plugin). This is intended to be used as a "gatekeeper" to prevent dependencies from getting too far out of date while also providing utilities to easily upgrade outdated dependencies.
8
8
9
+
## Installing
10
+
11
+
Vogue is hosted via [JitPack](https://jitpack.io/p/mxenabled/vogue).
12
+
13
+
#### Gradle
14
+
15
+
_build.gradle_:
16
+
```groovy
17
+
plugins {
18
+
id: "com.github.mxenabled.vogue" version "x.x.x"
19
+
}
20
+
21
+
allprojects {
22
+
repositories {
23
+
...
24
+
maven { url "https://jitpack.io" }
25
+
}
26
+
}
27
+
```
28
+
29
+
_settings.gradle_:
30
+
```groovy
31
+
pluginManagement {
32
+
repositories {
33
+
...
34
+
maven { url "https://jitpack.io" }
35
+
}
36
+
}
37
+
```
38
+
39
+
## Configuration
40
+
41
+
Example configuration with default values:
42
+
43
+
_In the build.gradle_
44
+
```groovy
45
+
vogue {
46
+
excludePreReleaseVersions = true // Set to false to include #.#.#.pre versions in the report.
47
+
dependencyUpdatesOutputDir = "build/dependencyUpdates" // Where the report generated by the `gradle-versions-plugin` is located.
48
+
}
49
+
```
50
+
51
+
## Usage
52
+
53
+
Scan the project dependencies and produce a report of available upgrades.
54
+
```shell
55
+
$ ./gradlew vogueReport
56
+
```
57
+
58
+
## Configuring Rules
59
+
60
+
Rules can be configured in a version-controlled `.vogue.yml` file located at the root of the project. If a rule is violated,
61
+
the report will return a failing status code (which can be used in a CI/CD pipeline).
62
+
63
+
##### Global Defaults
64
+
65
+
Global default rules can be configured via the following syntax:
66
+
67
+
```yaml
68
+
defaultRules:
69
+
major:
70
+
maxDiff: 1# Every dependency can be at most one major version out-of-date, otherwise an error will be produced.
71
+
minor:
72
+
requireLatest: true # Every dependency must be on the latest minor version.
73
+
patch:
74
+
requireLatest: true # Every dependency must be on the latest patch version.
75
+
```
76
+
77
+
If no package-specific rule has been configured for a given dependency, the default rules will be used.
78
+
79
+
##### Package Rules
80
+
81
+
This syntax defines a rule for any `com.github.mxenabled.*` dependency and requires that you are always on the most current version.
82
+
83
+
```yaml
84
+
packageRules:
85
+
-
86
+
package: "com.github.mxenabled.*"
87
+
rules:
88
+
major:
89
+
requireLatest: true
90
+
minor:
91
+
requireLatest: true
92
+
patch:
93
+
requireLatest: true
94
+
```
95
+
96
+
## Suppressing Violations
97
+
98
+
Occasionally you might need to suppress a dependency violation so that your CI/CD pipeline will pass (if you have Vogue configured as a required step).
99
+
100
+
Running `vogueSuppress` will walk you through your dependency violations and allow you to suppress errors for a given time range (3 months max).
101
+
```shell
102
+
$ ./gradlew vogueSuppress
103
+
```
104
+
9
105
## Deploying Locally
10
106
11
-
To create a local build of the accessor to use in connector services use
107
+
To create a local build of vogue use
12
108
13
109
```shell
14
110
$ ./gradlew clean publishToMavenLocal
15
111
```
112
+
16
113
This will create a local build in your local maven repository that you can
0 commit comments