Skip to content

Commit edb52c3

Browse files
authored
Merge pull request #2 from mxenabled/robert/improve_readme
Improve README
2 parents bafbed5 + c9d2bb2 commit edb52c3

1 file changed

Lines changed: 98 additions & 1 deletion

File tree

README.md

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,110 @@ Keep your dependencies fashionably up-to-date.
66

77
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.
88

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+
9105
## Deploying Locally
10106

11-
To create a local build of the accessor to use in connector services use
107+
To create a local build of vogue use
12108

13109
```shell
14110
$ ./gradlew clean publishToMavenLocal
15111
```
112+
16113
This will create a local build in your local maven repository that you can
17114
then reference in other services.
18115

0 commit comments

Comments
 (0)