Merge pull request #988 from LorenzoBettini/lb/bug_484043

484043: Add .feature and .repository projects to the wizard
This commit is contained in:
Dennis Huebner 2016-04-20 09:11:34 +02:00
commit 6ec65c43f4
54 changed files with 1500 additions and 3 deletions

View file

@ -0,0 +1,73 @@
/*******************************************************************************
* Copyright (c) 2016 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.wizard
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
/**
* @author Lorenzo Bettini - Initial contribution and API
*/
@FinalFieldsConstructor
class P2RepositoryProject extends ProjectDescriptor {
override getNameQualifier() {
".repository"
}
override isEclipsePluginProject() {
false
}
override isPartOfGradleBuild() {
false
}
override isPartOfMavenBuild() {
true
}
override isEnabled() {
super.enabled && config.runtimeProject.isEclipsePluginProject
}
override getFiles() {
val files = newArrayList
files += super.files
files += file(Outlet.ROOT, "category.xml", categoryXml)
files
}
override getSourceFolders() {
#{}
}
def categoryXml() '''
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature id="«config.sdkProject.name»" version="0.0.0">
<category name="main"/>
</feature>
<feature id="«config.sdkProject.name».source" version="0.0.0">
<category name="main.source"/>
</feature>
<category-def name="main" label="«config.language.simpleName»"/>
<category-def name="main.source" label="«config.language.simpleName» (Sources)"/>
</site>
'''
override buildGradle() {
throw new UnsupportedOperationException("Eclipse repositories are not yet supported in Gradle")
}
override pom() {
super.pom => [
packaging = "eclipse-repository"
]
}
}

View file

@ -230,6 +230,49 @@ class ParentProjectDescriptor extends ProjectDescriptor {
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
«IF config.p2Project.enabled»
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>plugin-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>source-feature</id>
<phase>package</phase>
<goals>
<goal>source-feature</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>attach-p2-metadata</id>
<phase>package</phase>
<goals>
<goal>p2-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
«ENDIF»
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>

View file

@ -48,6 +48,9 @@ abstract class ProjectDescriptor {
files += file(Outlet.META_INF, "MANIFEST.MF", manifest)
files += file(Outlet.ROOT, "build.properties", buildProperties)
}
if (eclipseFeatureProject) {
files += file(Outlet.ROOT, "build.properties", buildProperties)
}
if (config.needsGradleBuild && isPartOfGradleBuild) {
files += buildGradle
}
@ -62,6 +65,10 @@ abstract class ProjectDescriptor {
def boolean isPartOfMavenBuild()
def boolean isEclipsePluginProject()
def boolean isEclipseFeatureProject() {
false
}
def CharSequence buildProperties() '''
«buildPropertiesEntry("source..", sourceFolders.map[it + "/"])»

View file

@ -0,0 +1,93 @@
/*******************************************************************************
* Copyright (c) 2016 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.wizard
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
/**
* @author Lorenzo Bettini - Initial contribution and API
*/
@FinalFieldsConstructor
class SdkFeatureProject extends ProjectDescriptor {
override getNameQualifier() {
".feature"
}
override isEclipsePluginProject() {
false
}
override isEclipseFeatureProject() {
true
}
override isPartOfGradleBuild() {
false
}
override isPartOfMavenBuild() {
true
}
override isEnabled() {
(super.enabled && config.runtimeProject.isEclipsePluginProject)
||
config.p2Project.enabled
}
override getFiles() {
val files = newArrayList
files += super.files
files += file(Outlet.ROOT, "feature.xml", featureXml)
files
}
override getSourceFolders() {
#{}
}
override getBinIncludes() {
#{"feature.xml"}
}
def featureXml() '''
<?xml version="1.0" encoding="UTF-8"?>
<feature id="«name»"
label="«config.language.simpleName» Feature "
version="1.0.0.qualifier">
«includedPlugin("")»
«IF config.ideProject.enabled»
«includedPlugin(config.ideProject.nameQualifier)»
«ENDIF»
«IF config.uiProject.enabled»
«includedPlugin(config.uiProject.nameQualifier)»
«ENDIF»
</feature>
'''
def includedPlugin(String qualifier) '''
<plugin
id="«config.baseName + qualifier»"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
'''
override buildGradle() {
throw new UnsupportedOperationException("Eclipse features are not yet supported in Gradle")
}
override pom() {
super.pom => [
packaging = "eclipse-feature"
]
}
}

View file

@ -39,7 +39,8 @@ class WizardConfiguration {
val webProject = new WebProjectDescriptor(this)
val parentProject = new ParentProjectDescriptor(this)
val targetPlatformProject = new TargetPlatformProject(this)
val sdkProject = new SdkFeatureProject(this)
val p2Project = new P2RepositoryProject(this)
def Set<ProjectDescriptor> getEnabledProjects() {
val productionProjects = #[
@ -49,7 +50,9 @@ class WizardConfiguration {
uiProject,
intellijProject,
webProject,
targetPlatformProject
targetPlatformProject,
sdkProject,
p2Project
].filter[enabled]
val testProjects = productionProjects

View file

@ -57,19 +57,50 @@ class WizardConfigurationTest {
]
assertTrue(config.parentProject.pom.content.contains("tycho"))
}
@Test
def void p2AndSdkProjectsAreBuiltWithTychoWhenMavenBuiltIsEnabled() {
config.uiProject.enabled = true
config.p2Project.enabled = true
config.preferredBuildSystem = BuildSystem.MAVEN
assertTrue(config.needsTychoBuild)
assertTrue(config.sdkProject.pom.content.contains("eclipse-feature"))
assertTrue(config.p2Project.pom.content.contains("eclipse-repository"))
assertTrue(config.parentProject.pom.content.contains("tycho"))
}
@Test
def void p2ProjectsEnablesSourceGenerationWithTychoWhenMavenBuiltIsEnabled() {
config.uiProject.enabled = true
config.p2Project.enabled = true
config.preferredBuildSystem = BuildSystem.MAVEN
assertTrue(config.needsTychoBuild)
config.parentProject.pom.content => [
assertTrue(contains("tycho-source-plugin"))
assertTrue(contains("tycho-source-feature-plugin"))
]
}
@Test
def void aTychoBuildIncludesATargetPlatform() {
config.uiProject.enabled = true
config.preferredBuildSystem = BuildSystem.MAVEN
assertTrue(config.targetPlatformProject.enabled)
}
@Test
def void testProjectIsPluginProjectWhenRuntimeProjectIsPluginProject() {
config.runtimeProject.testProject.enabled = true
assertTrue(config.runtimeProject.testProject.isEclipsePluginProject)
}
@Test
def void p2ProjectEnablesSdkProject() {
config.p2Project.enabled = true
config.sdkProject.enabled = false
assertTrue(config.sdkProject.enabled)
}
@Test
def void eclipseUiCanBeBuiltWithPDE() {
config.uiProject.enabled = true
@ -160,6 +191,11 @@ class WizardConfigurationTest {
assertTrue(files.exists[relativePath == "build.properties"])
]
}
@Test
def void featureProjectsHaveEclipseBuildProperties() {
assertTrue(config.sdkProject.files.exists[relativePath == "build.properties"])
}
@Test
def void projectsCanBeBuiltAgainstXtextNightlies() {

View file

@ -87,6 +87,29 @@ class CliWizardIntegrationTest {
uiProject.enabled = true
uiProject.testProject.enabled = true
],
newProjectConfig => [
baseName = "org.xtext.example.eclipsePluginP2"
preferredBuildSystem = BuildSystem.NONE
sourceLayout = SourceLayout.PLAIN
projectLayout = ProjectLayout.FLAT
runtimeProject.testProject.enabled = true
ideProject.enabled = true
uiProject.enabled = true
uiProject.testProject.enabled = true
p2Project.enabled = true
],
newProjectConfig => [
baseName = "org.xtext.example.mavenTychoP2"
preferredBuildSystem = BuildSystem.MAVEN
sourceLayout = SourceLayout.PLAIN
projectLayout = ProjectLayout.HIERARCHICAL
runtimeProject.testProject.enabled = true
uiProject.enabled = true
uiProject.testProject.enabled = true
ideProject.enabled = true
webProject.enabled = true
p2Project.enabled = true
],
newProjectConfig => [
baseName = "org.xtext.example.full"
preferredBuildSystem = BuildSystem.GRADLE
@ -98,6 +121,7 @@ class CliWizardIntegrationTest {
ideProject.enabled = true
webProject.enabled = true
intellijProject.enabled = true
p2Project.enabled = true
]
]

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.xtext.example.eclipsePluginP2.feature"
label="MyDsl Feature "
version="1.0.0.qualifier">
<plugin
id="org.xtext.example.eclipsePluginP2"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.xtext.example.eclipsePluginP2.ide"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.xtext.example.eclipsePluginP2.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View file

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.eclipsePluginP2.ide
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.eclipsePluginP2.ide; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.eclipsePluginP2,
org.eclipse.xtext.ide,
org.eclipse.xtext.xbase.ide
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,5 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature id="org.xtext.example.eclipsePluginP2.feature" version="0.0.0">
<category name="main"/>
</feature>
<feature id="org.xtext.example.eclipsePluginP2.feature.source" version="0.0.0">
<category name="main.source"/>
</feature>
<category-def name="main" label="MyDsl"/>
<category-def name="main.source" label="MyDsl (Sources)"/>
</site>

View file

@ -0,0 +1,12 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.eclipsePluginP2.tests
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.eclipsePluginP2.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.eclipsePluginP2,
org.junit;bundle-version="4.7.0",
org.eclipse.xtext.junit4,
org.eclipse.xtext.xbase.junit
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,5 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/

View file

@ -0,0 +1,12 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.eclipsePluginP2.ui.tests
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.eclipsePluginP2.ui.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.eclipsePluginP2.ui,
org.junit;bundle-version="4.7.0",
org.eclipse.xtext.junit4,
org.eclipse.xtext.xbase.junit
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,5 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/

View file

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.eclipsePluginP2.ui
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.eclipsePluginP2.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.eclipsePluginP2,
org.xtext.example.eclipsePluginP2.ide,
org.eclipse.xtext.ui,
org.eclipse.xtext.ui.shared,
org.eclipse.xtext.ui.codetemplates.ui,
org.eclipse.ui.editors;bundle-version="3.5.0",
org.eclipse.ui.ide;bundle-version="3.5.0"
Import-Package: org.apache.log4j
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,6 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/,\
plugin.xml

View file

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.eclipsePluginP2
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.eclipsePluginP2; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext,
org.eclipse.xtext.xbase,
org.eclipse.equinox.common;bundle-version="3.5.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,17 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/,\
plugin.xml
additional.bundles = org.eclipse.xtext.xbase,\
org.eclipse.xtext.common.types,\
org.eclipse.xtext.xtext.generator,\
org.eclipse.emf.codegen.ecore,\
org.eclipse.emf.mwe.utils,\
org.eclipse.emf.mwe2.launch,\
org.eclipse.emf.mwe2.lib,\
org.objectweb.asm,\
org.apache.commons.logging,\
org.apache.log4j,\
com.ibm.icu

View file

@ -0,0 +1,43 @@
module org.xtext.example.mydsl.GenerateMyDsl
import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*
var rootPath = ".."
Workflow {
component = XtextGenerator {
configuration = {
project = StandardProjectConfig {
baseName = "org.xtext.example.eclipsePluginP2"
rootPath = rootPath
runtimeTest = {
enabled = true
}
eclipsePlugin = {
enabled = true
}
eclipsePluginTest = {
enabled = true
}
createEclipseMetaData = true
}
code = {
encoding = "UTF-8"
fileHeader = "/*\n * generated by Xtext \${version}\n */"
}
}
language = StandardLanguage {
name = "org.xtext.example.mydsl.MyDsl"
fileExtensions = "mydsl"
serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}
}
}
}

View file

@ -0,0 +1,9 @@
grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
Model:
greetings+=Greeting*;
Greeting:
'Hello' name=ID '!';

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.xtext.example.full.feature"
label="MyDsl Feature "
version="1.0.0.qualifier">
<plugin
id="org.xtext.example.full"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.xtext.example.full.ide"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.xtext.example.full.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View file

@ -0,0 +1,15 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.full</groupId>
<artifactId>org.xtext.example.full.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.full.feature</artifactId>
<packaging>eclipse-feature</packaging>
<dependencies>
</dependencies>
</project>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature id="org.xtext.example.full.feature" version="0.0.0">
<category name="main"/>
</feature>
<feature id="org.xtext.example.full.feature.source" version="0.0.0">
<category name="main.source"/>
</feature>
<category-def name="main" label="MyDsl"/>
<category-def name="main.source" label="MyDsl (Sources)"/>
</site>

View file

@ -0,0 +1,15 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.full</groupId>
<artifactId>org.xtext.example.full.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.full.repository</artifactId>
<packaging>eclipse-repository</packaging>
<dependencies>
</dependencies>
</project>

View file

@ -18,6 +18,8 @@
<module>org.xtext.example.full.ide</module>
<module>org.xtext.example.full.ui</module>
<module>org.xtext.example.full.target</module>
<module>org.xtext.example.full.feature</module>
<module>org.xtext.example.full.repository</module>
<module>org.xtext.example.full.ui.tests</module>
</modules>
<build>
@ -28,6 +30,47 @@
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>plugin-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>source-feature</id>
<phase>package</phase>
<goals>
<goal>source-feature</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>attach-p2-metadata</id>
<phase>package</phase>
<goals>
<goal>p2-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.xtext.example.mavenTychoP2.feature"
label="MyDsl Feature "
version="1.0.0.qualifier">
<plugin
id="org.xtext.example.mavenTychoP2"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.xtext.example.mavenTychoP2.ide"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.xtext.example.mavenTychoP2.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View file

@ -0,0 +1,15 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.feature</artifactId>
<packaging>eclipse-feature</packaging>
<dependencies>
</dependencies>
</project>

View file

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.mavenTychoP2.ide
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.mavenTychoP2.ide; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.mavenTychoP2,
org.eclipse.xtext.ide,
org.eclipse.xtext.xbase.ide
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,5 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/

View file

@ -0,0 +1,21 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.ide</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature id="org.xtext.example.mavenTychoP2.feature" version="0.0.0">
<category name="main"/>
</feature>
<feature id="org.xtext.example.mavenTychoP2.feature.source" version="0.0.0">
<category name="main.source"/>
</feature>
<category-def name="main" label="MyDsl"/>
<category-def name="main.source" label="MyDsl (Sources)"/>
</site>

View file

@ -0,0 +1,15 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.repository</artifactId>
<packaging>eclipse-repository</packaging>
<dependencies>
</dependencies>
</project>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="org.xtext.example.mavenTychoP2.target" sequenceNumber="1">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
<unit id="org.eclipse.draw2d.feature.group" version="0.0.0"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
<unit id="org.eclipse.xpand" version="0.0.0"/>
<unit id="org.eclipse.xtend" version="0.0.0"/>
<unit id="org.eclipse.xtend.typesystem.emf" version="0.0.0"/>
<repository location="http://download.eclipse.org/releases/mars/201506241002/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.emf.mwe2.launcher.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/emft/mwe/updates/releases/2.8.1/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/nightly/"/>
</location>
</locations>
</target>

View file

@ -0,0 +1,15 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.target</artifactId>
<packaging>eclipse-target-definition</packaging>
<dependencies>
</dependencies>
</project>

View file

@ -0,0 +1,12 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.mavenTychoP2.tests
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.mavenTychoP2.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.mavenTychoP2,
org.junit;bundle-version="4.7.0",
org.eclipse.xtext.junit4,
org.eclipse.xtext.xbase.junit
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,29 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.tests</artifactId>
<packaging>eclipse-test-plugin</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<failIfNoTests>false</failIfNoTests>
</configuration>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,12 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.mavenTychoP2.ui.tests
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.mavenTychoP2.ui.tests; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.mavenTychoP2.ui,
org.junit;bundle-version="4.7.0",
org.eclipse.xtext.junit4,
org.eclipse.xtext.xbase.junit
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,43 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.ui.tests</artifactId>
<packaging>eclipse-test-plugin</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<failIfNoTests>false</failIfNoTests>
<useUIHarness>true</useUIHarness>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>testing-on-mac</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<properties>
<tycho.testArgLine>-XstartOnFirstThread</tycho.testArgLine>
</properties>
</profile>
</profiles>
</project>

View file

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.mavenTychoP2.ui
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.mavenTychoP2.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.mavenTychoP2,
org.xtext.example.mavenTychoP2.ide,
org.eclipse.xtext.ui,
org.eclipse.xtext.ui.shared,
org.eclipse.xtext.ui.codetemplates.ui,
org.eclipse.ui.editors;bundle-version="3.5.0",
org.eclipse.ui.ide;bundle-version="3.5.0"
Import-Package: org.apache.log4j
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,6 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/,\
plugin.xml

View file

@ -0,0 +1,21 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.ui</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,129 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2.web</artifactId>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
<exclude>**/*.xtend</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>WebRoot</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.13.v20150730</version>
<configuration>
<webAppSourceDirectory>WebRoot</webAppSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>add-source</id>
<phase>initialize</phase>
<goals>
<goal>add-source</goal>
<goal>add-resource</goal>
</goals>
<configuration>
<sources>
<source>src-gen</source>
</sources>
<resources>
<resource>
<directory>src-gen</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>org.xtext.example.mavenTychoP2</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>org.xtext.example.mavenTychoP2.ide</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase.web</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.web.servlet</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtend</groupId>
<artifactId>org.eclipse.xtend.lib</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>requirejs</artifactId>
<version>2.1.20</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>ace</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-annotations</artifactId>
<version>9.2.11.v20150529</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.12</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View file

@ -0,0 +1,11 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.mavenTychoP2
Bundle-Vendor: My Company
Bundle-Version: 1.0.0.qualifier
Bundle-SymbolicName: org.xtext.example.mavenTychoP2; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext,
org.eclipse.xtext.xbase,
org.eclipse.equinox.common;bundle-version="3.5.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,17 @@
source.. = src/,\
src-gen/,\
xtend-gen/
bin.includes = .,\
META-INF/,\
plugin.xml
additional.bundles = org.eclipse.xtext.xbase,\
org.eclipse.xtext.common.types,\
org.eclipse.xtext.xtext.generator,\
org.eclipse.emf.codegen.ecore,\
org.eclipse.emf.mwe.utils,\
org.eclipse.emf.mwe2.launch,\
org.eclipse.emf.mwe2.lib,\
org.objectweb.asm,\
org.apache.commons.logging,\
org.apache.log4j,\
com.ibm.icu

View file

@ -0,0 +1,145 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<artifactId>org.xtext.example.mavenTychoP2</artifactId>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<id>mwe2Launcher</id>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher</mainClass>
<arguments>
<argument>/${project.basedir}/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2</argument>
<argument>-p</argument>
<argument>rootPath=/${project.basedir}/..</argument>
</arguments>
<classpathScope>compile</classpathScope>
<includePluginDependencies>true</includePluginDependencies>
<cleanupDaemonThreads>false</cleanupDaemonThreads><!-- see https://bugs.eclipse.org/bugs/show_bug.cgi?id=475098#c3 -->
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.mwe2.launch</artifactId>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xtext.generator</artifactId>
<version>${xtextVersion}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase</artifactId>
<version>${xtextVersion}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets combine.children="append">
<fileset>
<directory>${basedir}/../org.xtext.example.mavenTychoP2/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../org.xtext.example.mavenTychoP2.tests/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../org.xtext.example.mavenTychoP2.ide/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../org.xtext.example.mavenTychoP2.ui/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../org.xtext.example.mavenTychoP2.ui.tests/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/../org.xtext.example.mavenTychoP2.web/src-gen/</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/model/generated/</directory>
</fileset>
</filesets>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.codehaus.mojo
</groupId>
<artifactId>
exec-maven-plugin
</artifactId>
<versionRange>
[1.2.1,)
</versionRange>
<goals>
<goal>java</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

View file

@ -0,0 +1,46 @@
module org.xtext.example.mydsl.GenerateMyDsl
import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*
var rootPath = ".."
Workflow {
component = XtextGenerator {
configuration = {
project = StandardProjectConfig {
baseName = "org.xtext.example.mavenTychoP2"
rootPath = rootPath
runtimeTest = {
enabled = true
}
eclipsePlugin = {
enabled = true
}
eclipsePluginTest = {
enabled = true
}
web = {
enabled = true
}
createEclipseMetaData = true
}
code = {
encoding = "UTF-8"
fileHeader = "/*\n * generated by Xtext \${version}\n */"
}
}
language = StandardLanguage {
name = "org.xtext.example.mydsl.MyDsl"
fileExtensions = "mydsl"
serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}
}
}
}

View file

@ -0,0 +1,9 @@
grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
Model:
greetings+=Greeting*;
Greeting:
'Hello' name=ID '!';

View file

@ -0,0 +1,275 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<version>1.0.0-SNAPSHOT</version>
<artifactId>org.xtext.example.mavenTychoP2.parent</artifactId>
<packaging>pom</packaging>
<properties>
<tycho-version>0.23.1</tycho-version>
<xtextVersion>2.10.0-SNAPSHOT</xtextVersion>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<modules>
<module>org.xtext.example.mavenTychoP2</module>
<module>org.xtext.example.mavenTychoP2.ide</module>
<module>org.xtext.example.mavenTychoP2.ui</module>
<module>org.xtext.example.mavenTychoP2.web</module>
<module>org.xtext.example.mavenTychoP2.target</module>
<module>org.xtext.example.mavenTychoP2.feature</module>
<module>org.xtext.example.mavenTychoP2.repository</module>
<module>org.xtext.example.mavenTychoP2.tests</module>
<module>org.xtext.example.mavenTychoP2.ui.tests</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-source-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>plugin-source</id>
<goals>
<goal>plugin-source</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-source-feature-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>source-feature</id>
<phase>package</phase>
<goals>
<goal>source-feature</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-plugin</artifactId>
<version>${tycho-version}</version>
<executions>
<execution>
<id>attach-p2-metadata</id>
<phase>package</phase>
<goals>
<goal>p2-metadata</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<target>
<artifact>
<groupId>org.xtext.example.mavenTychoP2</groupId>
<artifactId>org.xtext.example.mavenTychoP2.target</artifactId>
<version>${project.version}</version>
</artifact>
</target>
<environments>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.xtend</groupId>
<artifactId>xtend-maven-plugin</artifactId>
<version>${xtextVersion}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${basedir}/xtend-gen</outputDirectory>
<testOutputDirectory>${basedir}/xtend-gen</testOutputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}/xtend-gen</directory>
<includes>
<include>**/*</include>
</includes>
<directory>${basedir}/xtend-gen</directory>
<includes>
<include>**/*</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.codehaus.mojo
</groupId>
<artifactId>
build-helper-maven-plugin
</artifactId>
<versionRange>
[1.9.1,)
</versionRange>
<goals>
<goal>add-resource</goal>
<goal>add-source</goal>
<goal>add-test-resource</goal>
<goal>add-test-source</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.eclipse.tycho
</groupId>
<artifactId>
tycho-compiler-plugin
</artifactId>
<versionRange>
[0.23.1,)
</versionRange>
<goals>
<goal>compile</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.eclipse.tycho
</groupId>
<artifactId>
tycho-packaging-plugin
</artifactId>
<versionRange>
[0.23.1,)
</versionRange>
<goals>
<goal>build-qualifier</goal>
<goal>validate-id</goal>
<goal>validate-version</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<!--
Can be removed after first generator execution
https://bugs.eclipse.org/bugs/show_bug.cgi?id=480097
-->
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<compilerArgument>-err:-forbidden</compilerArgument>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>codehaus-snapshots</id>
<name>disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478</name>
<url>http://nexus.codehaus.org/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>codehaus-snapshots</id>
<name>disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478</name>
<url>http://nexus.codehaus.org/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases><enabled>false</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
<dependencies>
</dependencies>
</project>