Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit 7b81d2d

Browse files
committed
Add config parameter to RevapiExtension
fix #649 Signed-off-by: Sebastian Davids <sdavids@gmx.de>
1 parent 93a1a4d commit 7b81d2d

File tree

4 files changed

+32
-4
lines changed

4 files changed

+32
-4
lines changed

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,14 @@ revapi {
5757
}
5858
```
5959

60+
If you want to change the location of the `gradle-revapi` configuration file (default: `.palantir/revapi.yml`), you can do so:
61+
62+
```gradle
63+
revapi {
64+
config = resources.text.fromFile("path/to/revapi.yml")
65+
}
66+
```
67+
6068
### Accepting breaks
6169

6270
Sometimes you may wish to break your API, or feel that the particular API break identified by revapi is acceptable to
@@ -104,7 +112,7 @@ use the
104112
./gradle revapiVersionOverride --replacement-version <last-published-version>
105113
```
106114
107-
task to use correctly published version instead. This will creare an entry in `.palantir/revapi.yml` of the following
115+
task to use correctly published version instead. This will creare an entry in the `gradle-revapi` configuration file (default: `.palantir/revapi.yml`) of the following
108116
format:
109117
110118
```yml
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type: feature
2+
fix:
3+
description: add config parameter to RevapiExtension
4+
links:
5+
- https://github.com/palantir/gradle-revapi/pull/650

src/main/java/com/palantir/gradle/revapi/RevapiExtension.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,15 @@
2525
import org.gradle.api.provider.ListProperty;
2626
import org.gradle.api.provider.Property;
2727
import org.gradle.api.provider.Provider;
28+
import org.gradle.api.resources.TextResource;
2829

2930
@SuppressWarnings("DesignForExtension")
3031
public class RevapiExtension {
3132
private final Property<String> oldGroup;
3233
private final Property<String> oldName;
3334
private final ListProperty<String> oldVersions;
3435
private final Provider<GroupAndName> oldGroupAndName;
36+
private TextResource config;
3537

3638
public RevapiExtension(Project project) {
3739
this.oldGroup = project.getObjects().property(String.class);
@@ -75,4 +77,12 @@ GroupNameVersion oldGroupNameVersion() {
7577
Provider<GroupAndName> oldGroupAndName() {
7678
return oldGroupAndName;
7779
}
80+
81+
public TextResource getConfig() {
82+
return config;
83+
}
84+
85+
public void setConfig(TextResource config) {
86+
this.config = config;
87+
}
7888
}

src/main/java/com/palantir/gradle/revapi/RevapiPlugin.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.gradle.api.file.FileCollection;
3434
import org.gradle.api.plugins.JavaPlugin;
3535
import org.gradle.api.provider.Provider;
36+
import org.gradle.api.resources.TextResource;
3637
import org.gradle.api.specs.Spec;
3738
import org.gradle.api.tasks.TaskProvider;
3839
import org.gradle.api.tasks.bundling.Jar;
@@ -50,7 +51,7 @@ public void apply(Project project) {
5051

5152
RevapiExtension extension = project.getExtensions().create("revapi", RevapiExtension.class, project);
5253

53-
ConfigManager configManager = new ConfigManager(configFile(project));
54+
ConfigManager configManager = new ConfigManager(configFile(project, extension));
5455

5556
Provider<Optional<OldApi>> maybeOldApi = ResolveOldApi.oldApiProvider(project, extension, configManager);
5657
Spec<Task> oldApiIsPresent = _task -> maybeOldApi.get().isPresent();
@@ -173,8 +174,12 @@ static Provider<Set<Jar>> allJarTasksIncludingDependencies(Project project, Conf
173174
.collect(Collectors.toSet()));
174175
}
175176

176-
private static File configFile(Project project) {
177-
return new File(project.getRootDir(), ".palantir/revapi.yml");
177+
private static File configFile(Project project, RevapiExtension extension) {
178+
TextResource config = extension.getConfig();
179+
if (config == null) {
180+
return new File(project.getRootDir(), ".palantir/revapi.yml");
181+
}
182+
return config.asFile();
178183
}
179184

180185
private File junitOutput(Project project) {

0 commit comments

Comments
 (0)