This PR adds a completely separated build for some of the GEMOC components using pure maven dependencies instead of tycho based dependencies.
This will allow to use these components in pure maven build (ie. not tycho based)
Dependency version are managed via a BOM (Bill of Material).
In order to ensure correct dependencies, each pomfirst version of the component is built as follow:
copy the src from the source bundle (plugin version)
compile using the dependencies defined in the pomfirst pom.xml
The 2 different build are in separate folder trees:
plugins for eclipse bundle
pomfirst for pure maven version of these
Some third party plugins were not available in maven central: this PR provides a simple repackaging of the jar (from eclipse install) and roughly recreate the dependencies of those thirdparty plugins.
About maven groupId and project naming for a given component:
tycho/bundle jar use:
org.eclipse.gemoc.<name-of-the-git-repo>.bundle as groupId
<name-of-the-component> as artefactId
<name-of-the-component> as eclipse project name (ie. project name in .project)
pomfirst jars use:
org.eclipse.gemoc.<name-of-the-git-repo> as groupId
<name-of-the-component> as artefactId
<name-of-the-component>_pomfirst as eclipse project name (ie. project name in .project) this avoid conflict in eclipse workbench when opening both tycho and pomfirst versions of the same component.
pomfirst jars for thirdparty plugins use:
org.eclipse.gemoc.gemoc-studio.thirdparty.bundle as groupId
<name-of-the-component> as artefactId
<version-of-the-copied-plugin> as version
Root pom for build ing all the artefacts:
pomfirst build is achieved thanks to the gemoc-studio/dev_support/pomfirst_full_compilation/pom.xml.
tycho build is now in /gemoc-studio/dev_support/tycho_full_compilation/pom.xml
org.eclipse.gemoc.trace.commons : :warning: due to problem compiling xtend code when importing emf.compare dependency (strange error in xtend-maven-plugin), this jar doesn' include EMFCompareUtil.xtend class. :warning:
org.eclipse.gemoc.trace.gemoc.api
Changes
This PR requires adding a new phase in the jenkinsfile as the pomfirst build must be done in a separate maven reactor.
Description
This PR adds a completely separated build for some of the GEMOC components using pure maven dependencies instead of tycho based dependencies.
This will allow to use these components in pure maven build (ie. not tycho based)
Dependency version are managed via a BOM (Bill of Material).
In order to ensure correct dependencies, each pomfirst version of the component is built as follow:
The 2 different build are in separate folder trees:
Some third party plugins were not available in maven central: this PR provides a simple repackaging of the jar (from eclipse install) and roughly recreate the dependencies of those thirdparty plugins.
About maven groupId and project naming for a given component:
org.eclipse.gemoc.<name-of-the-git-repo>.bundle
as groupId<name-of-the-component>
as artefactId<name-of-the-component>
as eclipse project name (ie. project name in.project
)org.eclipse.gemoc.<name-of-the-git-repo>
as groupId<name-of-the-component>
as artefactId<name-of-the-component>_pomfirst
as eclipse project name (ie. project name in.project
) this avoid conflict in eclipse workbench when opening both tycho and pomfirst versions of the same component.org.eclipse.gemoc.gemoc-studio.thirdparty.bundle
as groupId<name-of-the-component>
as artefactId<version-of-the-copied-plugin>
as versionRoot pom for build ing all the artefacts:
gemoc-studio/dev_support/pomfirst_full_compilation/pom.xml
./gemoc-studio/dev_support/tycho_full_compilation/pom.xml
List of current jars:
xtend-maven-plugin
), this jar doesn' include EMFCompareUtil.xtend class. :warning:Changes
This PR requires adding a new phase in the jenkinsfile as the pomfirst build must be done in a separate maven reactor.
Contribution to issues
Contribute to #
Closes #
Companion Pull Requests