Page tree
Skip to end of metadata
Go to start of metadata

WIP

There are some steps to build odysseus bundles with tycho. 

Pomless build

Create a new folder .mvn on the root level of the project

add file extensions.xml with the following content:

<?xml version="1.0" encoding="UTF-8"?>
<extensions>
  <extension>
    <groupId>org.eclipse.tycho.extras</groupId>
    <artifactId>tycho-pomless</artifactId>
    <version>1.2.0</version>
  </extension>
</extensions>

TODO: CREATE ECLIPSE PROJECT ...

If you want to create an update site, create a new folder "releng/de.uniol.inf.is.odysseus.update"

Add a pom to this folder

<project>
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>de.uniol.inf.is.odysseus</groupId>
		<artifactId>de.uniol.inf.is.odysseus</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>

	<artifactId>de.uniol.inf.is.odysseus_core.update</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>eclipse-repository</packaging>

</project>


add a file category.xml



Create a root pom.xml similar to:

<project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>de.uniol.inf.is.odysseus</groupId>
	<artifactId>de.uniol.inf.is.odysseus</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<parent>
		<groupId>de.uniol.inf.is.odysseus.tycho</groupId>
		<artifactId>de.uniol.inf.is.odysseus.tycho.configuration</artifactId>
		<version>1.0.0-SNAPSHOT</version>
		<relativePath>./odysseus_dev/de.uniol.inf.is.odysseus.tycho.configuration/</relativePath>
	</parent>

	<modules>
		<module>odysseus_dev</module>
		<module>releng/de.uniol.inf.is.odysseus.update</module>
		<module>server/de.uniol.inf.is.odysseus.wsenrich</module>
		<module>server/de.uniol.inf.is.odysseus.wsenrich.feature</module>
	</modules>	
</project>

The modules section can also reference to a folder with another pom that defines the modules inside this folder. E.g.:

	<modules>
		<module>odysseus_dev</module>
		<module>integration.testing</module>
		<module>releng/de.uniol.inf.is.odysseus.update</module>
	</modules>	

and the folder (here integration.testing) must contain a pom.xml similar to this:

project>
	<modelVersion>4.0.0</modelVersion>
	<groupId>de.uniol.inf.is.odysseus</groupId>
	<artifactId>de.uniol.inf.is.odysseus.integration.testing</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>

	<parent>
		<groupId>de.uniol.inf.is.odysseus</groupId>
		<artifactId>de.uniol.inf.is.odysseus</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>

	<modules>
		<module>compile.feature</module>
		<module>de.uniol.inf.is.odysseus.test.component.compile</module>
		<module>de.uniol.inf.is.odysseus.test.component.jira</module>
		<module>de.uniol.inf.is.odysseus.test.component.keyvalue</module>
		<module>de.uniol.inf.is.odysseus.test.component.keyvalue.feature</module>
		<module>de.uniol.inf.is.odysseus.test.component.nexmark</module>
		<module>de.uniol.inf.is.odysseus.test.component.operator</module>
		<module>de.uniol.inf.is.odysseus.test.component.parallelization</module>
		<module>de.uniol.inf.is.odysseus.test.component.parser.cql</module>
		<module>de.uniol.inf.is.odysseus.test.component.probabilistic</module>
		<module>de.uniol.inf.is.odysseus.test.feature</module>
		<module>jira.feature</module>
		<module>nexmark.feature</module>
		<module>operator.feature</module>
		<module>test</module>
		<module>xml</module>
		<module>xml.feature</module>
	</modules>
</project>

todo ...



  • No labels