From 5a56c896dff5cf4f4d77e1339a5c4d0c32dfe461 Mon Sep 17 00:00:00 2001 From: Sven Efftinge Date: Thu, 12 Nov 2015 05:21:30 +0100 Subject: [PATCH] [368296] set file header as copyright in genmodel --- .../ecore/EMFGeneratorFragment2.xtend | 9 +++- .../generator/EMFGeneratorFragment2Test.xtend | 52 +++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/generator/EMFGeneratorFragment2Test.xtend diff --git a/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ecore/EMFGeneratorFragment2.xtend b/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ecore/EMFGeneratorFragment2.xtend index 35e63d197..a41b0af88 100644 --- a/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ecore/EMFGeneratorFragment2.xtend +++ b/plugins/org.eclipse.xtext.xtext.generator/src/org/eclipse/xtext/xtext/generator/ecore/EMFGeneratorFragment2.xtend @@ -64,13 +64,13 @@ import org.eclipse.xtext.resource.XtextResourceSet import org.eclipse.xtext.util.StringInputStream import org.eclipse.xtext.util.Strings import org.eclipse.xtext.util.internal.Log +import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment import org.eclipse.xtext.xtext.generator.CodeConfig import org.eclipse.xtext.xtext.generator.model.TypeReference import static org.eclipse.xtext.GrammarUtil.* import static extension org.eclipse.xtext.xtext.generator.util.GenModelUtil2.* -import org.eclipse.xtext.xtext.generator.AbstractXtextGeneratorFragment @Log class EMFGeneratorFragment2 extends AbstractXtextGeneratorFragment { @@ -575,11 +575,16 @@ class EMFGeneratorFragment2 extends AbstractXtextGeneratorFragment { genModel.runtimeVersion = emfRuntimeVersion genModel.rootExtendsClass = 'org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container' genModel.lineDelimiter = codeConfig.lineDelimiter + genModel.copyrightText = codeConfig.fileHeader.trimMultiLineComment } genModelFile.contents.add(genModel) return genModel } - + + def static String trimMultiLineComment(String string) { + return string.replace('*/','').replace('/*','').replace(' * ','').trim + } + protected def Set getReferencedEPackages(List packs) { val result = newHashSet for (pkg : packs) { diff --git a/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/generator/EMFGeneratorFragment2Test.xtend b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/generator/EMFGeneratorFragment2Test.xtend new file mode 100644 index 000000000..65addc1f1 --- /dev/null +++ b/tests/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/generator/EMFGeneratorFragment2Test.xtend @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.xtext.generator + +import org.junit.Test +import org.junit.Assert + +import org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2 + +/** + */ +class EMFGeneratorFragment2Test { + + @Test def void testTrimMultiLineString() { + assertTrim('foo',''' + /*foo*/ + ''') + assertTrim('foo',''' + /* + * foo*/ + ''') + assertTrim('foo',''' + /* + * + * foo + */ + ''') + assertTrim(''' + multi + foo''', + ''' + /* + * multi + * foo + * + */ + ''') + assertTrim('foo',''' + /* foo */ + ''') + assertTrim('foo','foo') + } + + def void assertTrim(String expected, String original) { + Assert.assertEquals(expected, EMFGeneratorFragment2.trimMultiLineComment(original)) + } +} \ No newline at end of file