diff --git a/plugins/org.eclipse.xtext.ide/META-INF/MANIFEST.MF b/plugins/org.eclipse.xtext.ide/META-INF/MANIFEST.MF index dede49ee8..e933572ad 100644 --- a/plugins/org.eclipse.xtext.ide/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.xtext.ide/META-INF/MANIFEST.MF @@ -1,12 +1,11 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName +Bundle-Name: Xtext IDE Core Bundle-SymbolicName: org.eclipse.xtext.ide;singleton:=true Bundle-Version: 2.11.0.qualifier -Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ActivationPolicy: lazy -Bundle-Vendor: %providerName +Bundle-Vendor: Eclipse Xtext Require-Bundle: org.eclipse.xtext;visibility:=reexport, org.eclipse.xtend.lib, org.eclipse.core.runtime;bundle-version="3.6.0", diff --git a/plugins/org.eclipse.xtext.ide/build.gradle b/plugins/org.eclipse.xtext.ide/build.gradle new file mode 100644 index 000000000..0f1715647 --- /dev/null +++ b/plugins/org.eclipse.xtext.ide/build.gradle @@ -0,0 +1,4 @@ +dependencies { + compile project(':org.eclipse.xtext') + compile "io.typefox.lsapi:io.typefox.lsapi.services:$versions.lsapi" +} diff --git a/plugins/org.eclipse.xtext.ide/build.properties b/plugins/org.eclipse.xtext.ide/build.properties index 46cab836d..fb22229b7 100644 --- a/plugins/org.eclipse.xtext.ide/build.properties +++ b/plugins/org.eclipse.xtext.ide/build.properties @@ -2,6 +2,5 @@ source.. = src/,\ xtend-gen/ bin.includes = META-INF/,\ .,\ - plugin.properties,\ about.html src.includes = about.html diff --git a/plugins/org.eclipse.xtext.ide/plugin.properties b/plugins/org.eclipse.xtext.ide/plugin.properties deleted file mode 100644 index 94abda867..000000000 --- a/plugins/org.eclipse.xtext.ide/plugin.properties +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################### -# Copyright (c) 2008 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 -# -############################################################################### - -pluginName = Xtext IDE Core -providerName = Eclipse Xtext \ No newline at end of file diff --git a/plugins/org.eclipse.xtext.util/META-INF/MANIFEST.MF b/plugins/org.eclipse.xtext.util/META-INF/MANIFEST.MF index 862acd9b6..1ed2f1b4d 100644 --- a/plugins/org.eclipse.xtext.util/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.xtext.util/META-INF/MANIFEST.MF @@ -1,11 +1,10 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-Localization: plugin +Bundle-Name: Xtext Utility Bundle-SymbolicName: org.eclipse.xtext.util Bundle-Version: 2.11.0.qualifier Maven-Version: 2.11.0-SNAPSHOT -Bundle-Vendor: %providerName +Bundle-Vendor: Eclipse Xtext Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.eclipse.xtext.util; uses:="org.eclipse.emf.ecore.resource, diff --git a/plugins/org.eclipse.xtext.util/build.gradle b/plugins/org.eclipse.xtext.util/build.gradle new file mode 100644 index 000000000..ac796b5ba --- /dev/null +++ b/plugins/org.eclipse.xtext.util/build.gradle @@ -0,0 +1,7 @@ +dependencies { + compile "org.eclipse.xtend:org.eclipse.xtend.lib:$versions.xtext" + compile "log4j:log4j:$versions.log4j" + compile "org.eclipse.emf:org.eclipse.emf.common:$versions.emfCommon" + compile "org.eclipse.emf:org.eclipse.emf.ecore:$versions.emfEcore" + compile "com.google.inject:guice:$versions.guice" +} diff --git a/plugins/org.eclipse.xtext.util/build.properties b/plugins/org.eclipse.xtext.util/build.properties index ab39f02e2..0ca040a19 100644 --- a/plugins/org.eclipse.xtext.util/build.properties +++ b/plugins/org.eclipse.xtext.util/build.properties @@ -3,6 +3,5 @@ source.. = src/,\ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.properties,\ about.html src.includes = about.html diff --git a/plugins/org.eclipse.xtext.util/plugin.properties b/plugins/org.eclipse.xtext.util/plugin.properties deleted file mode 100644 index 564403f84..000000000 --- a/plugins/org.eclipse.xtext.util/plugin.properties +++ /dev/null @@ -1,11 +0,0 @@ -############################################################################### -# Copyright (c) 2008 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 -# -############################################################################### - -pluginName = Xtext Utility -providerName = Eclipse Xtext \ No newline at end of file diff --git a/plugins/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF b/plugins/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF index ded9cad06..120328e19 100644 --- a/plugins/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.xtext.xtext.generator/META-INF/MANIFEST.MF @@ -2,10 +2,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.xtext.xtext.generator;singleton:=true Bundle-Version: 2.11.0.qualifier -Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Bundle-Name: %pluginName -Bundle-Vendor: %providerName +Bundle-Name: Xtext Generator 2 +Bundle-Vendor: Eclipse Xtext Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.xtext;x-installation:=greedy, org.eclipse.xtext.util;x-installation:=greedy, diff --git a/plugins/org.eclipse.xtext.xtext.generator/build.gradle b/plugins/org.eclipse.xtext.xtext.generator/build.gradle new file mode 100644 index 000000000..445098022 --- /dev/null +++ b/plugins/org.eclipse.xtext.xtext.generator/build.gradle @@ -0,0 +1,8 @@ +dependencies { + compile project(':org.eclipse.xtext') + compile "org.eclipse.emf:org.eclipse.emf.codegen:$versions.emfEcore" + compile "org.eclipse.emf:org.eclipse.emf.codegen.ecore:$versions.emfEcore" + compile "org.eclipse.emf:org.eclipse.emf.mwe.utils:$versions.emfMwe" + compile "org.eclipse.emf:org.eclipse.emf.mwe2.lib:$versions.emfMwe2" + compile "com.ibm.icu:icu4j:$versions.icu" +} diff --git a/plugins/org.eclipse.xtext.xtext.generator/build.properties b/plugins/org.eclipse.xtext.xtext.generator/build.properties index 0fcb03bba..d17f6b241 100644 --- a/plugins/org.eclipse.xtext.xtext.generator/build.properties +++ b/plugins/org.eclipse.xtext.xtext.generator/build.properties @@ -4,6 +4,5 @@ source.. = src/,\ output.. = bin/ bin.includes = META-INF/,\ .,\ - about.html,\ - plugin.properties + about.html src.includes = about.html diff --git a/plugins/org.eclipse.xtext.xtext.generator/plugin.properties b/plugins/org.eclipse.xtext.xtext.generator/plugin.properties deleted file mode 100644 index efa72928a..000000000 --- a/plugins/org.eclipse.xtext.xtext.generator/plugin.properties +++ /dev/null @@ -1,2 +0,0 @@ -pluginName = Xtext Generator 2 -providerName = Eclipse Xtext diff --git a/plugins/org.eclipse.xtext.xtext.wizard/build.gradle b/plugins/org.eclipse.xtext.xtext.wizard/build.gradle new file mode 100644 index 000000000..e72780618 --- /dev/null +++ b/plugins/org.eclipse.xtext.xtext.wizard/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compile project(':org.eclipse.xtext') +} diff --git a/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF b/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF index dd89bcb86..775bc3e62 100644 --- a/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.xtext/META-INF/MANIFEST.MF @@ -1,11 +1,10 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName +Bundle-Name: Xtext Bundle-SymbolicName: org.eclipse.xtext;singleton:=true Bundle-Version: 2.11.0.qualifier Bundle-ClassPath: . -Bundle-Vendor: %providerName -Bundle-Localization: plugin +Bundle-Vendor: Eclipse Xtext Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: org.eclipse.xtext, org.eclipse.xtext.build;x-friends:="org.eclipse.xtext.ide,org.eclipse.xtext.junit4,org.eclipse.xtend.core.tests", diff --git a/plugins/org.eclipse.xtext/build.gradle b/plugins/org.eclipse.xtext/build.gradle index cc909856e..380c30ed4 100644 --- a/plugins/org.eclipse.xtext/build.gradle +++ b/plugins/org.eclipse.xtext/build.gradle @@ -1,3 +1,23 @@ +sourceSets.main.java.srcDir 'packrat' + dependencies { - compile project(':plugins:org.eclipse.xtext.smap') -} \ No newline at end of file + compile project(':org.eclipse.xtext.util') + compile project(':org.eclipse.xtext.smap') // TODO eliminate dependency + compile "org.eclipse.xtend:org.eclipse.xtend.lib:$versions.xtext" + compile "log4j:log4j:$versions.log4j" + compile "org.eclipse.equinox:org.eclipse.equinox.common:$versions.equinoxCommon" + compile "org.eclipse.emf:org.eclipse.emf.common:$versions.emfCommon" + compile "org.eclipse.emf:org.eclipse.emf.ecore.xmi:$versions.emfEcore" + compile "com.google.inject:guice:$versions.guice" + compile "org.antlr:antlr-runtime:$versions.antlr" + optional "org.eclipse.core:org.eclipse.core.runtime:$versions.eclipseCore" + optional "org.eclipse.equinox:org.eclipse.equinox.registry:$versions.equinoxRegistry" + optional "org.eclipse.emf:org.eclipse.emf.mwe.utils:$versions.emfMwe" + optional "org.eclipse.xpand:org.eclipse.xtend:$versions.xpand" + optional "org.eclipse.xpand:org.eclipse.xtend.typesystem.emf:$versions.xpand" + optional "org.ow2.asm:asm-commons:$versions.asm" +} + +sourceSets.main.resources { + include 'org/**', 'modeling32.png' +} diff --git a/plugins/org.eclipse.xtext/build.properties b/plugins/org.eclipse.xtext/build.properties index 39070892b..e373956c8 100644 --- a/plugins/org.eclipse.xtext/build.properties +++ b/plugins/org.eclipse.xtext/build.properties @@ -2,7 +2,6 @@ bin.includes = .,\ schema/,\ META-INF/,\ plugin.xml,\ - plugin.properties,\ about.ini,\ about.mappings,\ about.properties,\ diff --git a/plugins/org.eclipse.xtext/plugin.properties b/plugins/org.eclipse.xtext/plugin.properties deleted file mode 100644 index 557cb388b..000000000 --- a/plugins/org.eclipse.xtext/plugin.properties +++ /dev/null @@ -1,20 +0,0 @@ - -# -# -# -# $Id: plugin.properties,v 1.5 2010/03/10 14:04:27 sefftinge Exp $ - -# ==================================================================== -# To code developer: -# Do NOT change the properties between this line and the -# "%%% END OF TRANSLATED PROPERTIES %%%" line. -# Make a new property name, append to the end of the file and change -# the code to use the new property. -# ==================================================================== - -# ==================================================================== -# %%% END OF TRANSLATED PROPERTIES %%% -# ==================================================================== - -pluginName = Xtext -providerName = Eclipse Xtext diff --git a/separate-builds/core/build.gradle b/separate-builds/core/build.gradle new file mode 100644 index 000000000..314ea3f9b --- /dev/null +++ b/separate-builds/core/build.gradle @@ -0,0 +1,15 @@ +subprojects { + repositories { + jcenter() + maven { + url 'https://oss.sonatype.org/content/repositories/snapshots' + } + } + + apply plugin: 'java' + apply from: "${rootDir}/gradle/versions.gradle" + apply from: "${rootDir}/gradle/eclipse-project-layout.gradle" + apply from: "${rootDir}/gradle/java-compiler-settings.gradle" + + group = 'org.eclipse.xtext' +} diff --git a/separate-builds/core/gradle/eclipse-project-layout.gradle b/separate-builds/core/gradle/eclipse-project-layout.gradle new file mode 100644 index 000000000..a0b27537e --- /dev/null +++ b/separate-builds/core/gradle/eclipse-project-layout.gradle @@ -0,0 +1,28 @@ +/* + * Since we use the Eclipse Style layout where sources and resources + * live in the same folders, we need to make some adjustments to Gradle' + * defaults. + */ + +def isTestProject = name.endsWith('tests') + +sourceSets { + configure(isTestProject? test : main) { + java.srcDirs = ['src', 'xtend-gen', 'src-gen', 'emf-gen'] + resources { + srcDirs = ['src', 'src-gen', 'emf-gen', '.'] + exclude '**/*._trace', '**/*.xtendbin', '**/*.xtend' + include 'plugin.xml', 'schema/**', 'about.ini', 'about.mappings', 'about.properties', 'about.html' + } + } + configure(isTestProject? main : test) { + java.srcDirs = [] + resources.srcDirs = [] + } +} + +jar { + metaInf { + from 'META-INF' + } +} diff --git a/separate-builds/core/gradle/java-compiler-settings.gradle b/separate-builds/core/gradle/java-compiler-settings.gradle new file mode 100644 index 000000000..c7bb1e089 --- /dev/null +++ b/separate-builds/core/gradle/java-compiler-settings.gradle @@ -0,0 +1,24 @@ +plugins.withType(JavaBasePlugin) { + sourceCompatibility = '1.8' +} + +tasks.withType(JavaCompile) { + options.encoding = 'ISO-8859-1' +} + +configurations { + optional { + description 'Dependencies required at build time, but not exported into meta data' + extendsFrom compile + } + + /* + * Put any unwanted transitive dependencies here, they will be excluded from all projects + */ + all { + exclude group: 'org.antlr', module: 'stringtemplate' + exclude module: 'cglib' + } +} + +sourceSets.main.compileClasspath += [configurations.optional] diff --git a/separate-builds/core/gradle/versions.gradle b/separate-builds/core/gradle/versions.gradle new file mode 100644 index 000000000..4774b4044 --- /dev/null +++ b/separate-builds/core/gradle/versions.gradle @@ -0,0 +1,19 @@ +version = '2.11.0-SNAPSHOT' + +ext.versions = [ + 'xtext': version, + 'lsapi': '0.2.0-SNAPSHOT', + 'log4j': '1.2.16', + 'equinoxCommon' : '3.6.0', + 'equinoxRegistry' : '3.5.0.v20100503', + 'eclipseCore': '3.6.0.v20100505', + 'emfCommon': '[2.10.1,3.0[', + 'emfEcore': '[2.10.2,3.0[', + 'emfMwe': '1.3.20.201605261059', + 'emfMwe2': '[2.8.3,2.9[', + 'xpand': '2.0.0', + 'guice': '3.0', + 'antlr': '3.2', + 'asm': '5.0.1', + 'icu': '52.1' +] diff --git a/separate-builds/core/settings.gradle b/separate-builds/core/settings.gradle new file mode 100644 index 000000000..ddd1a0c31 --- /dev/null +++ b/separate-builds/core/settings.gradle @@ -0,0 +1,13 @@ +rootProject.name = 'xtext-core' + +[ + 'org.eclipse.xtext', + 'org.eclipse.xtext.ide', + 'org.eclipse.xtext.util', + 'org.eclipse.xtext.smap', + 'org.eclipse.xtext.xtext.generator', + 'org.eclipse.xtext.xtext.wizard' +].each { projectName -> + include projectName + project(":$projectName").projectDir = file("../../plugins/$projectName") +}