diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGenerator.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGenerator.xtend index 4774089bc..e81a6c799 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGenerator.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/XtextGenerator.xtend @@ -338,7 +338,7 @@ class XtextGenerator extends AbstractWorkflowComponent2 { if (root.isFile(pluginXml.path)) { // only write plugin.xml_gen if entries exist and content differs if (!pluginXml.entries.isEmpty - && root.readTextFile(pluginXml.path) != pluginXml.getContent + && root.readTextFile(pluginXml.path)?.toString != pluginXml.getContentString && pluginXml.path.endsWith('.xml')) { pluginXml.path = pluginXml.path + '_gen' pluginXml.writeTo(root) diff --git a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/TextFileAccess.xtend b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/TextFileAccess.xtend index 8a327556b..088064e99 100644 --- a/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/TextFileAccess.xtend +++ b/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/model/TextFileAccess.xtend @@ -32,6 +32,10 @@ class TextFileAccess { return internalContents.toString } + def String getContentString() { + return getContent.toString + } + def void writeTo(IFileSystemAccess2 fileSystemAccess) { if (fileSystemAccess !== null) { fileSystemAccess.generateFile(path, content) diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGenerator.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGenerator.java index c25d2c2be..349ea0ab9 100644 --- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGenerator.java +++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/XtextGenerator.java @@ -447,7 +447,29 @@ public class XtextGenerator extends AbstractWorkflowComponent2 { final IXtextGeneratorFileSystemAccess root = entry.getValue(); boolean _isFile = root.isFile(pluginXml.getPath()); if (_isFile) { - if ((((!pluginXml.getEntries().isEmpty()) && (!Objects.equal(root.readTextFile(pluginXml.getPath()), pluginXml.getContent()))) && pluginXml.getPath().endsWith(".xml"))) { + boolean _and = false; + boolean _and_1 = false; + boolean _isEmpty = pluginXml.getEntries().isEmpty(); + boolean _not = (!_isEmpty); + if (!_not) { + _and_1 = false; + } else { + CharSequence _readTextFile = root.readTextFile(pluginXml.getPath()); + String _string = null; + if (_readTextFile!=null) { + _string=_readTextFile.toString(); + } + String _contentString = pluginXml.getContentString(); + boolean _notEquals = (!Objects.equal(_string, _contentString)); + _and_1 = _notEquals; + } + if (!_and_1) { + _and = false; + } else { + boolean _endsWith = pluginXml.getPath().endsWith(".xml"); + _and = _endsWith; + } + if (_and) { String _path = pluginXml.getPath(); String _plus = (_path + "_gen"); pluginXml.setPath(_plus); diff --git a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/TextFileAccess.java b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/TextFileAccess.java index c652bea39..92da82fb1 100644 --- a/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/TextFileAccess.java +++ b/org.eclipse.xtext.xtext.generator/xtend-gen/org/eclipse/xtext/xtext/generator/model/TextFileAccess.java @@ -38,6 +38,10 @@ public class TextFileAccess { return this.internalContents.toString(); } + public String getContentString() { + return this.getContent().toString(); + } + public void writeTo(final IFileSystemAccess2 fileSystemAccess) { if ((fileSystemAccess != null)) { fileSystemAccess.generateFile(this.path, this.getContent());