keep ordering of annotation processor paths during (de)serialization IDEA-235948

GitOrigin-RevId: 1e0b1fe0654dc08ffba746cd8c8d82ae1edb15e8
This commit is contained in:
Nikita Skvortsov
2020-04-01 07:03:08 +00:00
committed by intellij-monorepo-bot
parent a6f3a1e33f
commit 8ef9a1ba92
3 changed files with 6 additions and 7 deletions
@@ -77,7 +77,7 @@ public class AnnotationProcessingModelBuilder extends AbstractModelBuilderServic
File generatedSourcesDirectory = isAtLeastGradle4_3 ? options.getAnnotationProcessorGeneratedSourcesDirectory() : null;
String output = generatedSourcesDirectory != null ? generatedSourcesDirectory.getAbsolutePath() : null;
sourceSetConfigs.put(sourceSet.getName(), new AnnotationProcessingConfigImpl(paths, annotationProcessorArgs, output, isTestSourceSet(sourceSet, ideaModule)));
sourceSetConfigs.put(sourceSet.getName(), new AnnotationProcessingConfigImpl(new ArrayList<String>(paths), annotationProcessorArgs, output, isTestSourceSet(sourceSet, ideaModule)));
}
}
}
@@ -7,20 +7,20 @@ import org.jetbrains.annotations.Nullable;
import org.jetbrains.plugins.gradle.model.AnnotationProcessingConfig;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
public class AnnotationProcessingConfigImpl implements AnnotationProcessingConfig, Serializable {
private final Set<String> myPaths;
private final List<String> myPaths;
private final List<String> myArgs;
private final String myProcessorOutput;
private final boolean isTestSources;
public AnnotationProcessingConfigImpl(Set<String> files, List<String> args, String output, boolean sources) {
public AnnotationProcessingConfigImpl(List<String> files, List<String> args, String output, boolean sources) {
myProcessorOutput = output;
isTestSources = sources;
myPaths = files;
myPaths = new ArrayList<String>(files);
myArgs = args;
}
@@ -19,7 +19,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.jetbrains.plugins.gradle.tooling.serialization.ToolingStreamApiUtils.*;
@@ -144,7 +143,7 @@ public class AnnotationProcessingModelSerializationService implements Serializat
@Override
public AnnotationProcessingConfigImpl create() {
List<String> args = readStringList(reader);
Set<String> files = readStringSet(reader);
List<String> files = readStringList(reader);
String output = readString(reader, "output");
boolean isTest = readBoolean(reader,"isTestSources");
return new AnnotationProcessingConfigImpl(files, args, output, isTest);