Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix maven build configuration, include MWE2 workflow execution for xtext generation #90

Open
wants to merge 40 commits into
base: master
Choose a base branch
from

Conversation

JKatzwinkel
Copy link
Contributor

Multiple modifications turned out to be necessary in order to get maven build to work on a fresh clone. Most importantly, though, execution of mwe2 workflow xtend script for xtext generation of egyptian transliteration notation grammar could be integrated into the build process.

This is a major improvement because so far, generation of the grammar code had to be run in eclipse in order to be able to build the application. Now everybody can build BTS without even having eclipse.

Jakob Höper and others added 30 commits December 7, 2015 17:20
 Conflicts:
	org.bbaw.bts.app.product/pom.xml
	org.bbaw.bts.corpus.text.egy.egydsl/pom.xml
	pom.xml
As described at https://eclipse.org/Xtext/documentation/350_continuous_integration.html

> First you need to use a platform:resource URI instead of a classpath URI to
> point to your Xtext grammar file. This is because we don�t have the source
> folder on the classpath of the exec plug-in. To do so open the mwe file and
> change the declaration of the grammarURI to a platform URI similar to how
> it is done in the example.
@JKatzwinkel JKatzwinkel self-assigned this Jul 5, 2017
@JKatzwinkel
Copy link
Contributor Author

Execution of EMF MWE2 workflow for code generation from xtext grammar successfully could be invoked by maven configuration when attribute classpathScope of plugin exec-maven was set to compile. Contrary to assertions in its documentation, this plugin uses default value runtime. Furthermore, classpath needs to be specified using classpath magic tag <classpath/>. This allows MWE workflow to interprete resource locators correctly. Resulting configuration in org.bbaw.bts.corpus.text.egy.egydsl/pom.xml:

            <configuration>
                <includeProjectDependencies>true</includeProjectDependencies>
                <includePluginDependencies>true</includePluginDependencies>
                <!-- necessary for the java process to find the mwe2 launcher -->
                <classpathScope>compile</classpathScope>
                <executable>java</executable>
                <arguments>
                    <!-- necessary for the java process to find the mwe2 launcher -->
                    <argument>-classpath</argument>
                    <classpath/>
                    <argument>org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher</argument>
                    <argument>file://${project.basedir}/src/org/bbaw/bts/corpus/text/egy/GenerateEgyDsl.mwe2</argument>
                </arguments>
              </configuration>

@JKatzwinkel
Copy link
Contributor Author

Added Travis build status bagde: Build Status

@JKatzwinkel
Copy link
Contributor Author

There is a problem with the editor part because for some reason EgyDslRuntimeModule can't be resolved in clean builds even though it exists in org.bbaw.bts.corpus.text.egy.egydsl.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants