Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,14 @@ revapi {
}
```

If you want to change the location of the `gradle-revapi` configuration file (default: `.palantir/revapi.yml`), you can do so:

```gradle
revapi {
config = resources.text.fromFile("path/to/revapi.yml")
}
```

### Accepting breaks

Sometimes you may wish to break your API, or feel that the particular API break identified by revapi is acceptable to
Expand Down Expand Up @@ -104,7 +112,7 @@ use the
./gradle revapiVersionOverride --replacement-version <last-published-version>
```

task to use correctly published version instead. This will creare an entry in `.palantir/revapi.yml` of the following
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
format:

```yml
Expand Down
5 changes: 5 additions & 0 deletions changelog/@unreleased/pr-650.v2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
type: feature
fix:
description: add config parameter to RevapiExtension
links:
- https://github.com/palantir/gradle-revapi/pull/650
10 changes: 10 additions & 0 deletions src/main/java/com/palantir/gradle/revapi/RevapiExtension.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,15 @@
import org.gradle.api.provider.ListProperty;
import org.gradle.api.provider.Property;
import org.gradle.api.provider.Provider;
import org.gradle.api.resources.TextResource;

@SuppressWarnings("DesignForExtension")
public class RevapiExtension {
private final Property<String> oldGroup;
private final Property<String> oldName;
private final ListProperty<String> oldVersions;
private final Provider<GroupAndName> oldGroupAndName;
private TextResource config;

public RevapiExtension(Project project) {
this.oldGroup = project.getObjects().property(String.class);
Expand Down Expand Up @@ -75,4 +77,12 @@ GroupNameVersion oldGroupNameVersion() {
Provider<GroupAndName> oldGroupAndName() {
return oldGroupAndName;
}

public TextResource getConfig() {
return config;
}

public void setConfig(TextResource config) {
this.config = config;
}
}
11 changes: 8 additions & 3 deletions src/main/java/com/palantir/gradle/revapi/RevapiPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import org.gradle.api.file.FileCollection;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.provider.Provider;
import org.gradle.api.resources.TextResource;
import org.gradle.api.specs.Spec;
import org.gradle.api.tasks.TaskProvider;
import org.gradle.api.tasks.bundling.Jar;
Expand All @@ -50,7 +51,7 @@ public void apply(Project project) {

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

ConfigManager configManager = new ConfigManager(configFile(project));
ConfigManager configManager = new ConfigManager(configFile(project, extension));

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

private static File configFile(Project project) {
return new File(project.getRootDir(), ".palantir/revapi.yml");
private static File configFile(Project project, RevapiExtension extension) {
TextResource config = extension.getConfig();
if (config == null) {
return new File(project.getRootDir(), ".palantir/revapi.yml");
}
return config.asFile();
}

private File junitOutput(Project project) {
Expand Down