Add output directory field to dartfix API

Change-Id: Ia2dc3e4d3a458f43e9f2b0c1a25418f10931920c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117442
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
This commit is contained in:
Brian Wilkerson 2019-09-16 22:51:21 +00:00 committed by commit-bot@chromium.org
parent 93980b75ce
commit dd83ded1e9
8 changed files with 105 additions and 10 deletions

View file

@ -172,6 +172,7 @@ const String EDIT_REQUEST_DARTFIX_INCLUDE_PEDANTIC_FIXES =
'includePedanticFixes'; 'includePedanticFixes';
const String EDIT_REQUEST_DARTFIX_INCLUDE_REQUIRED_FIXES = const String EDIT_REQUEST_DARTFIX_INCLUDE_REQUIRED_FIXES =
'includeRequiredFixes'; 'includeRequiredFixes';
const String EDIT_REQUEST_DARTFIX_OUTPUT_DIR = 'outputDir';
const String EDIT_REQUEST_FORMAT = 'edit.format'; const String EDIT_REQUEST_FORMAT = 'edit.format';
const String EDIT_REQUEST_FORMAT_FILE = 'file'; const String EDIT_REQUEST_FORMAT_FILE = 'file';
const String EDIT_REQUEST_FORMAT_LINE_LENGTH = 'lineLength'; const String EDIT_REQUEST_FORMAT_LINE_LENGTH = 'lineLength';

View file

@ -7964,6 +7964,7 @@ class DiagnosticGetServerPortResult implements ResponseResult {
* "includePedanticFixes": optional bool * "includePedanticFixes": optional bool
* "includeRequiredFixes": optional bool * "includeRequiredFixes": optional bool
* "excludedFixes": optional List<String> * "excludedFixes": optional List<String>
* "outputDir": optional FilePath
* } * }
* *
* Clients may not extend, implement or mix-in this class. * Clients may not extend, implement or mix-in this class.
@ -7979,6 +7980,8 @@ class EditDartfixParams implements RequestParams {
List<String> _excludedFixes; List<String> _excludedFixes;
String _outputDir;
/** /**
* A list of the files and directories for which edits should be suggested. * A list of the files and directories for which edits should be suggested.
* *
@ -8066,16 +8069,36 @@ class EditDartfixParams implements RequestParams {
this._excludedFixes = value; this._excludedFixes = value;
} }
/**
* The absolute and normalized path to a directory to which non-nullability
* migration output will be written. The output is only produced if the
* non-nullable fix is included. Files in the directory might be overwritten,
* but no previously existing files will be deleted.
*/
String get outputDir => _outputDir;
/**
* The absolute and normalized path to a directory to which non-nullability
* migration output will be written. The output is only produced if the
* non-nullable fix is included. Files in the directory might be overwritten,
* but no previously existing files will be deleted.
*/
void set outputDir(String value) {
this._outputDir = value;
}
EditDartfixParams(List<String> included, EditDartfixParams(List<String> included,
{List<String> includedFixes, {List<String> includedFixes,
bool includePedanticFixes, bool includePedanticFixes,
bool includeRequiredFixes, bool includeRequiredFixes,
List<String> excludedFixes}) { List<String> excludedFixes,
String outputDir}) {
this.included = included; this.included = included;
this.includedFixes = includedFixes; this.includedFixes = includedFixes;
this.includePedanticFixes = includePedanticFixes; this.includePedanticFixes = includePedanticFixes;
this.includeRequiredFixes = includeRequiredFixes; this.includeRequiredFixes = includeRequiredFixes;
this.excludedFixes = excludedFixes; this.excludedFixes = excludedFixes;
this.outputDir = outputDir;
} }
factory EditDartfixParams.fromJson( factory EditDartfixParams.fromJson(
@ -8111,11 +8134,17 @@ class EditDartfixParams implements RequestParams {
excludedFixes = jsonDecoder.decodeList(jsonPath + ".excludedFixes", excludedFixes = jsonDecoder.decodeList(jsonPath + ".excludedFixes",
json["excludedFixes"], jsonDecoder.decodeString); json["excludedFixes"], jsonDecoder.decodeString);
} }
String outputDir;
if (json.containsKey("outputDir")) {
outputDir = jsonDecoder.decodeString(
jsonPath + ".outputDir", json["outputDir"]);
}
return new EditDartfixParams(included, return new EditDartfixParams(included,
includedFixes: includedFixes, includedFixes: includedFixes,
includePedanticFixes: includePedanticFixes, includePedanticFixes: includePedanticFixes,
includeRequiredFixes: includeRequiredFixes, includeRequiredFixes: includeRequiredFixes,
excludedFixes: excludedFixes); excludedFixes: excludedFixes,
outputDir: outputDir);
} else { } else {
throw jsonDecoder.mismatch(jsonPath, "edit.dartfix params", json); throw jsonDecoder.mismatch(jsonPath, "edit.dartfix params", json);
} }
@ -8142,6 +8171,9 @@ class EditDartfixParams implements RequestParams {
if (excludedFixes != null) { if (excludedFixes != null) {
result["excludedFixes"] = excludedFixes; result["excludedFixes"] = excludedFixes;
} }
if (outputDir != null) {
result["outputDir"] = outputDir;
}
return result; return result;
} }
@ -8163,7 +8195,8 @@ class EditDartfixParams implements RequestParams {
includePedanticFixes == other.includePedanticFixes && includePedanticFixes == other.includePedanticFixes &&
includeRequiredFixes == other.includeRequiredFixes && includeRequiredFixes == other.includeRequiredFixes &&
listEqual(excludedFixes, other.excludedFixes, listEqual(excludedFixes, other.excludedFixes,
(String a, String b) => a == b); (String a, String b) => a == b) &&
outputDir == other.outputDir;
} }
return false; return false;
} }
@ -8176,6 +8209,7 @@ class EditDartfixParams implements RequestParams {
hash = JenkinsSmiHash.combine(hash, includePedanticFixes.hashCode); hash = JenkinsSmiHash.combine(hash, includePedanticFixes.hashCode);
hash = JenkinsSmiHash.combine(hash, includeRequiredFixes.hashCode); hash = JenkinsSmiHash.combine(hash, includeRequiredFixes.hashCode);
hash = JenkinsSmiHash.combine(hash, excludedFixes.hashCode); hash = JenkinsSmiHash.combine(hash, excludedFixes.hashCode);
hash = JenkinsSmiHash.combine(hash, outputDir.hashCode);
return JenkinsSmiHash.finish(hash); return JenkinsSmiHash.finish(hash);
} }
} }

View file

@ -1773,6 +1773,13 @@ abstract class IntegrationTestMixin {
* If a name is specified that does not match the name of a known fix, an * If a name is specified that does not match the name of a known fix, an
* error of type UNKNOWN_FIX will be generated. * error of type UNKNOWN_FIX will be generated.
* *
* outputDir: FilePath (optional)
*
* The absolute and normalized path to a directory to which non-nullability
* migration output will be written. The output is only produced if the
* non-nullable fix is included. Files in the directory might be
* overwritten, but no previously existing files will be deleted.
*
* Returns * Returns
* *
* suggestions: List<DartFixSuggestion> * suggestions: List<DartFixSuggestion>
@ -1806,12 +1813,14 @@ abstract class IntegrationTestMixin {
{List<String> includedFixes, {List<String> includedFixes,
bool includePedanticFixes, bool includePedanticFixes,
bool includeRequiredFixes, bool includeRequiredFixes,
List<String> excludedFixes}) async { List<String> excludedFixes,
String outputDir}) async {
var params = new EditDartfixParams(included, var params = new EditDartfixParams(included,
includedFixes: includedFixes, includedFixes: includedFixes,
includePedanticFixes: includePedanticFixes, includePedanticFixes: includePedanticFixes,
includeRequiredFixes: includeRequiredFixes, includeRequiredFixes: includeRequiredFixes,
excludedFixes: excludedFixes) excludedFixes: excludedFixes,
outputDir: outputDir)
.toJson(); .toJson();
var result = await server.send("edit.dartfix", params); var result = await server.send("edit.dartfix", params);
ResponseDecoder decoder = new ResponseDecoder(null); ResponseDecoder decoder = new ResponseDecoder(null);

View file

@ -2561,6 +2561,7 @@ final Matcher isDiagnosticGetServerPortResult = new LazyMatcher(() =>
* "includePedanticFixes": optional bool * "includePedanticFixes": optional bool
* "includeRequiredFixes": optional bool * "includeRequiredFixes": optional bool
* "excludedFixes": optional List<String> * "excludedFixes": optional List<String>
* "outputDir": optional FilePath
* } * }
*/ */
final Matcher isEditDartfixParams = final Matcher isEditDartfixParams =
@ -2570,7 +2571,8 @@ final Matcher isEditDartfixParams =
"includedFixes": isListOf(isString), "includedFixes": isListOf(isString),
"includePedanticFixes": isBool, "includePedanticFixes": isBool,
"includeRequiredFixes": isBool, "includeRequiredFixes": isBool,
"excludedFixes": isListOf(isString) "excludedFixes": isListOf(isString),
"outputDir": isFilePath
})); }));
/** /**

View file

@ -498,8 +498,12 @@ public interface AnalysisServer {
* @param excludedFixes A list of names indicating which fixes should not be applied. If a name is * @param excludedFixes A list of names indicating which fixes should not be applied. If a name is
* specified that does not match the name of a known fix, an error of type UNKNOWN_FIX will * specified that does not match the name of a known fix, an error of type UNKNOWN_FIX will
* be generated. * be generated.
* @param outputDir The absolute and normalized path to a directory to which non-nullability
* migration output will be written. The output is only produced if the non-nullable fix is
* included. Files in the directory might be overwritten, but no previously existing files
* will be deleted.
*/ */
public void edit_dartfix(List<String> included, List<String> includedFixes, boolean includePedanticFixes, boolean includeRequiredFixes, List<String> excludedFixes, DartfixConsumer consumer); public void edit_dartfix(List<String> included, List<String> includedFixes, boolean includePedanticFixes, boolean includeRequiredFixes, List<String> excludedFixes, String outputDir, DartfixConsumer consumer);
/** /**
* {@code edit.format} * {@code edit.format}

View file

@ -2235,6 +2235,16 @@
an error of type <tt>UNKNOWN_FIX</tt> will be generated. an error of type <tt>UNKNOWN_FIX</tt> will be generated.
</p> </p>
</field> </field>
<field name="outputDir" optional="true">
<ref>FilePath</ref>
<p>
The absolute and normalized path to a directory to which
non-nullability migration output will be written. The output is only
produced if the non-nullable fix is included. Files in the directory
might be overwritten, but no previously existing files will be
deleted.
</p>
</field>
</params> </params>
<result> <result>
<field name="suggestions"> <field name="suggestions">

View file

@ -172,6 +172,7 @@ const String EDIT_REQUEST_DARTFIX_INCLUDE_PEDANTIC_FIXES =
'includePedanticFixes'; 'includePedanticFixes';
const String EDIT_REQUEST_DARTFIX_INCLUDE_REQUIRED_FIXES = const String EDIT_REQUEST_DARTFIX_INCLUDE_REQUIRED_FIXES =
'includeRequiredFixes'; 'includeRequiredFixes';
const String EDIT_REQUEST_DARTFIX_OUTPUT_DIR = 'outputDir';
const String EDIT_REQUEST_FORMAT = 'edit.format'; const String EDIT_REQUEST_FORMAT = 'edit.format';
const String EDIT_REQUEST_FORMAT_FILE = 'file'; const String EDIT_REQUEST_FORMAT_FILE = 'file';
const String EDIT_REQUEST_FORMAT_LINE_LENGTH = 'lineLength'; const String EDIT_REQUEST_FORMAT_LINE_LENGTH = 'lineLength';

View file

@ -7964,6 +7964,7 @@ class DiagnosticGetServerPortResult implements ResponseResult {
* "includePedanticFixes": optional bool * "includePedanticFixes": optional bool
* "includeRequiredFixes": optional bool * "includeRequiredFixes": optional bool
* "excludedFixes": optional List<String> * "excludedFixes": optional List<String>
* "outputDir": optional FilePath
* } * }
* *
* Clients may not extend, implement or mix-in this class. * Clients may not extend, implement or mix-in this class.
@ -7979,6 +7980,8 @@ class EditDartfixParams implements RequestParams {
List<String> _excludedFixes; List<String> _excludedFixes;
String _outputDir;
/** /**
* A list of the files and directories for which edits should be suggested. * A list of the files and directories for which edits should be suggested.
* *
@ -8066,16 +8069,36 @@ class EditDartfixParams implements RequestParams {
this._excludedFixes = value; this._excludedFixes = value;
} }
/**
* The absolute and normalized path to a directory to which non-nullability
* migration output will be written. The output is only produced if the
* non-nullable fix is included. Files in the directory might be overwritten,
* but no previously existing files will be deleted.
*/
String get outputDir => _outputDir;
/**
* The absolute and normalized path to a directory to which non-nullability
* migration output will be written. The output is only produced if the
* non-nullable fix is included. Files in the directory might be overwritten,
* but no previously existing files will be deleted.
*/
void set outputDir(String value) {
this._outputDir = value;
}
EditDartfixParams(List<String> included, EditDartfixParams(List<String> included,
{List<String> includedFixes, {List<String> includedFixes,
bool includePedanticFixes, bool includePedanticFixes,
bool includeRequiredFixes, bool includeRequiredFixes,
List<String> excludedFixes}) { List<String> excludedFixes,
String outputDir}) {
this.included = included; this.included = included;
this.includedFixes = includedFixes; this.includedFixes = includedFixes;
this.includePedanticFixes = includePedanticFixes; this.includePedanticFixes = includePedanticFixes;
this.includeRequiredFixes = includeRequiredFixes; this.includeRequiredFixes = includeRequiredFixes;
this.excludedFixes = excludedFixes; this.excludedFixes = excludedFixes;
this.outputDir = outputDir;
} }
factory EditDartfixParams.fromJson( factory EditDartfixParams.fromJson(
@ -8111,11 +8134,17 @@ class EditDartfixParams implements RequestParams {
excludedFixes = jsonDecoder.decodeList(jsonPath + ".excludedFixes", excludedFixes = jsonDecoder.decodeList(jsonPath + ".excludedFixes",
json["excludedFixes"], jsonDecoder.decodeString); json["excludedFixes"], jsonDecoder.decodeString);
} }
String outputDir;
if (json.containsKey("outputDir")) {
outputDir = jsonDecoder.decodeString(
jsonPath + ".outputDir", json["outputDir"]);
}
return new EditDartfixParams(included, return new EditDartfixParams(included,
includedFixes: includedFixes, includedFixes: includedFixes,
includePedanticFixes: includePedanticFixes, includePedanticFixes: includePedanticFixes,
includeRequiredFixes: includeRequiredFixes, includeRequiredFixes: includeRequiredFixes,
excludedFixes: excludedFixes); excludedFixes: excludedFixes,
outputDir: outputDir);
} else { } else {
throw jsonDecoder.mismatch(jsonPath, "edit.dartfix params", json); throw jsonDecoder.mismatch(jsonPath, "edit.dartfix params", json);
} }
@ -8142,6 +8171,9 @@ class EditDartfixParams implements RequestParams {
if (excludedFixes != null) { if (excludedFixes != null) {
result["excludedFixes"] = excludedFixes; result["excludedFixes"] = excludedFixes;
} }
if (outputDir != null) {
result["outputDir"] = outputDir;
}
return result; return result;
} }
@ -8163,7 +8195,8 @@ class EditDartfixParams implements RequestParams {
includePedanticFixes == other.includePedanticFixes && includePedanticFixes == other.includePedanticFixes &&
includeRequiredFixes == other.includeRequiredFixes && includeRequiredFixes == other.includeRequiredFixes &&
listEqual(excludedFixes, other.excludedFixes, listEqual(excludedFixes, other.excludedFixes,
(String a, String b) => a == b); (String a, String b) => a == b) &&
outputDir == other.outputDir;
} }
return false; return false;
} }
@ -8176,6 +8209,7 @@ class EditDartfixParams implements RequestParams {
hash = JenkinsSmiHash.combine(hash, includePedanticFixes.hashCode); hash = JenkinsSmiHash.combine(hash, includePedanticFixes.hashCode);
hash = JenkinsSmiHash.combine(hash, includeRequiredFixes.hashCode); hash = JenkinsSmiHash.combine(hash, includeRequiredFixes.hashCode);
hash = JenkinsSmiHash.combine(hash, excludedFixes.hashCode); hash = JenkinsSmiHash.combine(hash, excludedFixes.hashCode);
hash = JenkinsSmiHash.combine(hash, outputDir.hashCode);
return JenkinsSmiHash.finish(hash); return JenkinsSmiHash.finish(hash);
} }
} }