Structured Build Layout and Pomless Builds
Tycho supports any layout of your build, but you can save you a lot of configuration work if you are using the so called Structured Build Layout.
Structured Build Layout
A structured build layout usually has the following folder layout, even though you might not use all of the depending on your project:
root folder- this usually contains your parent pom where you configure the plugins to usebundles(orplugins) - this contains your bundles that make up your applicationbundle1bundle2...
features- this folder will contain any features that structure your bundles into user installable unitsfeature1...
sites- if you have any update-sites they go into this foldermy-site...
products- the products to assemble are located herecool-product...
target-platform.targetthe target platform that should be used
Pomless Builds
Given the above layout, Tycho now has a good knowledge about what your build artifacts are.
In contrast to a traditional maven build where each module has to contain a pom.xml file Tycho can derive most if not all from your existing data, that is the files you are created and using in our IDE,
there are only a few steps to consider:
- Add a folder called 
.mvnto the root - Inside the 
.mvnfolder place a file calledextensions.xmlwith the following content: 
<?xml version="1.0" encoding="UTF-8"?>
<extensions>
  <extension>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-build</artifactId>
    <version>${tycho-version}</version>
  </extension>
</extensions>
- create a file called 
maven.configin the.mvnfolder with the following content (adjust the version accordingly!): 
-Dtycho-version=3.0.0
- finally create a 
pom.xmlwith the following content in the root folder: 
<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<groupId> ... your desired group id ...</groupId>
	<artifactId>parent</artifactId>
	<version>1.0.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	
	<modules>
		<module>bundles</module>
		<module>features</module>
		<module>sites</module>
		<module>products</module>
	</modules>
	
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-maven-plugin</artifactId>
				<version>${tycho-version}</version>
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<target>
						<file>../../target-platform.target</file>
					</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
- You can now run your build with 
mvn clean verify 
