Merge pull request #796 from eclipse/se/bug368296

[368296] set file header as copyright in genmodel
This commit is contained in:
Sven Efftinge 2015-11-12 10:08:31 +01:00
commit 55e3d815b9
2 changed files with 59 additions and 2 deletions

View file

@ -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<EPackage> getReferencedEPackages(List<EPackage> packs) {
val result = newHashSet
for (pkg : packs) {

View file

@ -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))
}
}