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

Deploy GEMOC artefacts to maven repository (repo.eclipse.org) #204

Merged
merged 5 commits into from
Feb 21, 2020

Conversation

dvojtise
Copy link
Contributor

This PR add some DistributionManagement information allowing to deploy GEMOC artefact in a standard maven repository (ie. not P2) so we can create dependencies to the jars using the maven style in pure java application.

This PR selects a set of jars to be deployed (by using the <maven.deploy.skip>true</maven.deploy.skip> property)

The CI currently deploys to https://repo.eclipse.org/content/groups/gemoc/
To use the artefacts, simply add the following in your pom.xml (or equivalent in graddle files)

	<repositories>
		<repository>
			<id>nexus-eclipse-gemoc</id>
			<name>Nexus Eclipse GEMOC</name>
			<releases><enabled>true</enabled></releases>
			<snapshots><enabled>true</enabled></snapshots>
			<url>https://repo.eclipse.org/content/groups/gemoc/</url>
		</repository>
	</repositories>

then add as many dependencies to GEMOC jar as you need:

ex:

	<dependencies>
		<dependency>
			<groupId>org.eclipse.gemoc.modeldebugging.framework.commons</groupId>
			<artifactId>org.eclipse.gemoc.xdsmlframework.api</artifactId>
			<version>4.0.0-SNAPSHOT</version>
			<type>eclipse-plugin</type>
		</dependency>
	</dependencies>

The approach is still incomplete for the following reasons:

  • the distributed jar files are the very same as the plugins in eclipse, including the pom.xml. This means that there are no explicit dependencies between the jars (as they are defined in the manifest and not in the pom.xml) Dependencies must be added explicitly in your local pom.xml to get a running application. (they don't even provide a dependency to EMF so you're free to use your own version)
  • snapshot artefacts are maintained only 30 days (cf. https://wiki.eclipse.org/Services/Nexus) if there is no recent build on the master branch the snapshot artefact may be removed for the repo
  • we currently have no "simple" way to create distribution version (ie. without the .qualifier in the manifest.mf / SNAPSHOT in pom.xml during the creation of GEMOC releases (Currently it probably requires to manually edit a lot of pom.xml and manifest.mf files) Any help is welcome to provide a script that would help during this task

Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Signed-off-by: Didier Vojtisek <didier.vojtisek@inria.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant