split up technologystack and softwarefactory p2
diff --git a/org.eclipse.osbp.releng.maven.parent.tycho/pom.xml b/org.eclipse.osbp.releng.maven.parent.tycho/pom.xml
index f433322..b5cca03 100644
--- a/org.eclipse.osbp.releng.maven.parent.tycho/pom.xml
+++ b/org.eclipse.osbp.releng.maven.parent.tycho/pom.xml
@@ -33,9 +33,9 @@
     
         <!-- these will be set by profiles that deals with the local federated 
 			stage repository -->
-        <osbp.build.local.federated.p2.dir>${osbp.stage.p2.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}</osbp.build.local.federated.p2.dir>
+        <osbp.build.local.federated.p2.dir>${osbp.stage.p2.technologystack.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}</osbp.build.local.federated.p2.dir>
         <osbp.build.local.federated.p2.url>file://${osbp.build.local.federated.p2.dir}</osbp.build.local.federated.p2.url>
-        <osbp.build.remote.federated.p2.url>${osbp.p2}</osbp.build.remote.federated.p2.url>
+        <osbp.build.remote.federated.p2.url>${osbp.p2.base}${file.separator}${osbp.build.branch}${file.separator}${osbp.build.branch}${file.separator}</osbp.build.remote.federated.p2.url>
     
         <!-- this property is calculated based on the aggregator pom's version -->
         <!-- osbp.stage.artifact.version>none</osbp.stage.artifact.version> -->
@@ -200,6 +200,146 @@
             </repositories>
         </profile>
         <profile>
+            <id>prepare-for-next-release</id>
+            <activation>
+                <activeByDefault>false</activeByDefault>
+            </activation>
+            <build>
+                <defaultGoal>org.eclipse.tycho:tycho-versions-plugin:set-version</defaultGoal>
+                <plugins>
+                    <plugin>
+                        <groupId>org.eclipse.tycho</groupId>
+                        <artifactId>tycho-versions-plugin</artifactId>
+                        <version>${tycho-version}</version>
+                        <executions>
+                            <execution>
+                                <id>change-next-release</id>
+                                <goals>
+                                    <goal>set-version</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            <newVersion>${next-release}</newVersion>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <!-- this profile must be activated when there isn't osbp.build.branch 
+				defined. -->
+            <id>latest</id>
+            <activation>
+                <property>
+                    <name>!osbp.build.branch</name>
+                </property>
+            </activation>
+            <properties>
+                <osbp.build.branch>latest</osbp.build.branch>
+                <osbp.stage.artifact.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi-version-qualifier}</osbp.stage.artifact.version>
+                <osbp.stage.p2.keep.old>false</osbp.stage.p2.keep.old>
+            </properties>
+            <build>
+                <plugins>
+                    <!-- used to debug... -->
+                    <!-- <plugin> -->
+                    <!-- <artifactId>maven-antrun-plugin</artifactId> -->
+                    <!-- <executions> -->
+                    <!-- <execution> -->
+                    <!-- <phase>initialize</phase> -->
+                    <!-- <configuration> -->
+                    <!-- <quiet>true</quiet> -->
+                    <!-- <target> -->
+                    <!-- <echo message="Started a Latest Build..." /> -->
+                    <!-- </target> -->
+                    <!-- </configuration> -->
+                    <!-- <goals> -->
+                    <!-- <goal>run</goal> -->
+                    <!-- </goals> -->
+                    <!-- </execution> -->
+                    <!-- </executions> -->
+                    <!-- </plugin> -->
+                </plugins>
+            </build>
+        </profile>
+    
+        <profile>
+            <id>milestone</id>
+            <activation>
+                <property>
+                    <name>osbp.build.branch</name>
+                    <value>milestone</value>
+                </property>
+            </activation>
+            <properties>
+                <osbp.stage.artifact.version>M${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi-version-qualifier}</osbp.stage.artifact.version>
+                <osbp.stage.p2.keep.old>false</osbp.stage.p2.keep.old>
+            </properties>
+            <build>
+                <plugins>
+                    <!-- used to debug... -->
+                    <!-- <plugin> -->
+                    <!-- <artifactId>maven-antrun-plugin</artifactId> -->
+                    <!-- <executions> -->
+                    <!-- <execution> -->
+                    <!-- <phase>initialize</phase> -->
+                    <!-- <configuration> -->
+                    <!-- <quiet>true</quiet> -->
+                    <!-- <target> -->
+                    <!-- <echo message="Started a Milestone Build..." /> -->
+                    <!-- </target> -->
+                    <!-- </configuration> -->
+                    <!-- <goals> -->
+                    <!-- <goal>run</goal> -->
+                    <!-- </goals> -->
+                    <!-- </execution> -->
+                    <!-- </executions> -->
+                    <!-- </plugin> -->
+                </plugins>
+            </build>
+        </profile>
+    
+        <profile>
+            <id>release</id>
+            <activation>
+                <property>
+                    <name>osbp.build.branch</name>
+                    <value>release</value>
+                </property>
+            </activation>
+            <properties>
+                <osbp.stage.artifact.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</osbp.stage.artifact.version>
+                <osbp.stage.p2.keep.old>true</osbp.stage.p2.keep.old>
+            </properties>
+            <build>
+                <plugins>
+                    <!-- <plugin> -->
+                    <!-- <artifactId>maven-antrun-plugin</artifactId> -->
+                    <!-- <executions> -->
+                    <!-- <execution> -->
+                    <!-- <phase>validate</phase> -->
+                    <!-- <configuration> -->
+                    <!-- <quiet>true</quiet> -->
+                    <!-- <target> -->
+                    <!-- <echo message="Started a Release Build..." /> -->
+                    <!-- <fail message="Release should not use SNAPSHOT version !"> -->
+                    <!-- <condition> -->
+                    <!-- <contains string="${project.version}" substring="SNAPSHOT" /> -->
+                    <!-- </condition> -->
+                    <!-- </fail> -->
+                    <!-- </target> -->
+                    <!-- </configuration> -->
+                    <!-- <goals> -->
+                    <!-- <goal>run</goal> -->
+                    <!-- </goals> -->
+                    <!-- </execution> -->
+                    <!-- </executions> -->
+                    <!-- </plugin> -->
+                </plugins>
+            </build>
+        </profile>
+        <profile>
             <id>whenIsDependenciesRepositoryP2Project</id>
             <activation>
                 <file>
@@ -207,11 +347,6 @@
                 </file>
             </activation>
             <properties>
-                <!-- encoded files needed by ant task -->
-                <encoded.p2index>dmVyc2lvbiA9IDEKIG1ldGFkYXRhLnJlcG9zaXRvcnkuZmFjdG9yeS5vcmRlciA9IGNvbXBvc2l0ZUNvbnRlbnQueG1sLFwhCiBhcnRpZmFjdC5yZXBvc2l0b3J5LmZhY3Rvcnkub3JkZXIgPSBjb21wb3NpdGVBcnRpZmFjdHMueG1sLFwh</encoded.p2index>
-                <encoded.compositeArtifacts>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjw/Y29tcG9zaXRlQXJ0aWZhY3RSZXBvc2l0b3J5IHZlcnNpb249JzEuMC4wJz8+DQo8cmVwb3NpdG9yeSBuYW1lPSdPUy5iZWUgUHVibGljIFAyIFJlcG9zaXRvcnknIHR5cGU9J29yZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDIuYXJ0aWZhY3QucmVwb3NpdG9yeS5Db21wb3NpdGVBcnRpZmFjdFJlcG9zaXRvcnknIHZlcnNpb249JzEuMC4wJz4NCiAgPHByb3BlcnRpZXMgc2l6ZT0nMSc+DQoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0NDAnLz4NCiAgPC9wcm9wZXJ0aWVzPg0KICA8Y2hpbGRyZW4gc2l6ZT0nMCc+CQ0KICA8L2NoaWxkcmVuPg0KPC9yZXBvc2l0b3J5Pg==</encoded.compositeArtifacts>
-                <encoded.compositeContent>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjw/Y29tcG9zaXRlTWV0YWRhdGFSZXBvc2l0b3J5IHZlcnNpb249JzEuMC4wJz8+DQo8cmVwb3NpdG9yeSBuYW1lPSdPUy5iZWUgUHVibGljIFAyIFJlcG9zaXRvcnknIHR5cGU9J29yZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDIubWV0YWRhdGEucmVwb3NpdG9yeS5Db21wb3NpdGVNZXRhZGF0YVJlcG9zaXRvcnknIHZlcnNpb249JzEuMC4wJz4NCiAgPHByb3BlcnRpZXMgc2l6ZT0nMSc+DQoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0OTknLz4NCiAgPC9wcm9wZXJ0aWVzPg0KICA8Y2hpbGRyZW4gc2l6ZT0nMCc+DQogIDwvY2hpbGRyZW4+DQo8L3JlcG9zaXRvcnk+</encoded.compositeContent>
-            
                 <!-- this properties should be overridden for each repository POM -->
                 <osbp.stage.p2.label>${project.artifactId}</osbp.stage.p2.label>
             </properties>
@@ -264,11 +399,6 @@
                 </file>
             </activation>
             <properties>
-                <!-- encoded files needed by ant task -->
-                <encoded.p2index>dmVyc2lvbiA9IDEKIG1ldGFkYXRhLnJlcG9zaXRvcnkuZmFjdG9yeS5vcmRlciA9IGNvbXBvc2l0ZUNvbnRlbnQueG1sLFwhCiBhcnRpZmFjdC5yZXBvc2l0b3J5LmZhY3Rvcnkub3JkZXIgPSBjb21wb3NpdGVBcnRpZmFjdHMueG1sLFwh</encoded.p2index>
-                <encoded.compositeArtifacts>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjw/Y29tcG9zaXRlQXJ0aWZhY3RSZXBvc2l0b3J5IHZlcnNpb249JzEuMC4wJz8+DQo8cmVwb3NpdG9yeSBuYW1lPSdPUy5iZWUgUHVibGljIFAyIFJlcG9zaXRvcnknIHR5cGU9J29yZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDIuYXJ0aWZhY3QucmVwb3NpdG9yeS5Db21wb3NpdGVBcnRpZmFjdFJlcG9zaXRvcnknIHZlcnNpb249JzEuMC4wJz4NCiAgPHByb3BlcnRpZXMgc2l6ZT0nMSc+DQoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0NDAnLz4NCiAgPC9wcm9wZXJ0aWVzPg0KICA8Y2hpbGRyZW4gc2l6ZT0nMCc+CQ0KICA8L2NoaWxkcmVuPg0KPC9yZXBvc2l0b3J5Pg==</encoded.compositeArtifacts>
-                <encoded.compositeContent>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjw/Y29tcG9zaXRlTWV0YWRhdGFSZXBvc2l0b3J5IHZlcnNpb249JzEuMC4wJz8+DQo8cmVwb3NpdG9yeSBuYW1lPSdPUy5iZWUgUHVibGljIFAyIFJlcG9zaXRvcnknIHR5cGU9J29yZy5lY2xpcHNlLmVxdWlub3guaW50ZXJuYWwucDIubWV0YWRhdGEucmVwb3NpdG9yeS5Db21wb3NpdGVNZXRhZGF0YVJlcG9zaXRvcnknIHZlcnNpb249JzEuMC4wJz4NCiAgPHByb3BlcnRpZXMgc2l6ZT0nMSc+DQoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0OTknLz4NCiAgPC9wcm9wZXJ0aWVzPg0KICA8Y2hpbGRyZW4gc2l6ZT0nMCc+DQogIDwvY2hpbGRyZW4+DQo8L3JlcG9zaXRvcnk+</encoded.compositeContent>
-            
                 <!-- this properties should be overridden for each repository POM -->
                 <osbp.stage.p2.label>${project.artifactId}</osbp.stage.p2.label>
             </properties>
@@ -321,9 +451,12 @@
                 </file>
             </activation>
             <properties>
+                <!-- encoded files needed by ant task -->
+                <encoded.p2index>dmVyc2lvbiA9IDEKIG1ldGFkYXRhLnJlcG9zaXRvcnkuZmFjdG9yeS5vcmRlciA9IGNvbXBvc2l0ZUNvbnRlbnQueG1sLFwhCiBhcnRpZmFjdC5yZXBvc2l0b3J5LmZhY3Rvcnkub3JkZXIgPSBjb21wb3NpdGVBcnRpZmFjdHMueG1sLFwh</encoded.p2index>
+                <encoded.compositeArtifacts>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPD9jb21wb3NpdGVBcnRpZmFjdFJlcG9zaXRvcnkgdmVyc2lvbj0nMS4wLjAnPz4KPHJlcG9zaXRvcnkgbmFtZT0nT1NCUCBQdWJsaWMgUDIgUmVwb3NpdG9yeScgdHlwZT0nb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5hcnRpZmFjdC5yZXBvc2l0b3J5LkNvbXBvc2l0ZUFydGlmYWN0UmVwb3NpdG9yeScgdmVyc2lvbj0nMS4wLjAnPgogIDxwcm9wZXJ0aWVzIHNpemU9JzEnPgoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0NDAnLz4KICA8L3Byb3BlcnRpZXM+CiAgPGNoaWxkcmVuIHNpemU9JzAnPgkKICA8L2NoaWxkcmVuPgo8L3JlcG9zaXRvcnk+Cg==</encoded.compositeArtifacts>
+                <encoded.compositeContent>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPD9jb21wb3NpdGVNZXRhZGF0YVJlcG9zaXRvcnkgdmVyc2lvbj0nMS4wLjAnPz4KPHJlcG9zaXRvcnkgbmFtZT0nT1NCUCBQdWJsaWMgUDIgUmVwb3NpdG9yeScgdHlwZT0nb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5tZXRhZGF0YS5yZXBvc2l0b3J5LkNvbXBvc2l0ZU1ldGFkYXRhUmVwb3NpdG9yeScgdmVyc2lvbj0nMS4wLjAnPgogIDxwcm9wZXJ0aWVzIHNpemU9JzEnPgoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0OTknLz4KICA8L3Byb3BlcnRpZXM+CiAgPGNoaWxkcmVuIHNpemU9JzAnPgogIDwvY2hpbGRyZW4+CjwvcmVwb3NpdG9yeT4K</encoded.compositeContent>
+
 				<osbp.build.local.federated.p2.dir>${osbp.stage.p2.dependencies.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}</osbp.build.local.federated.p2.dir>
-				<osbp.build.local.federated.p2.url>file://${osbp.build.local.federated.p2.dir}</osbp.build.local.federated.p2.url>
-				<osbp.build.remote.federated.p2.url>${osbp.p2}</osbp.build.remote.federated.p2.url>
 				
                 <osbp.stage.p2.log.file.path>${project.basedir}${file.separator}build.${osbp.stage.p2.label}.${osbp.build.eclipse.platform.name}.${osbp.build.branch}.log.properties</osbp.stage.p2.log.file.path>
                 <osbp.stage.p2.origin.dir>${project.build.directory}${file.separator}repository</osbp.stage.p2.origin.dir>
@@ -693,6 +826,400 @@
             </build>
         </profile>
         <profile>
+			<!-- used for technologystack -->
+            <id>whenIsTechnologystackP2Project.stage.p2</id>
+            <activation>
+                <file>
+                    <exists>.osbp.releng.eclipse.technologystack.p2</exists>
+                </file>
+            </activation>
+            <properties>
+                <!-- encoded files needed by ant task -->
+                <encoded.p2index>dmVyc2lvbiA9IDEKIG1ldGFkYXRhLnJlcG9zaXRvcnkuZmFjdG9yeS5vcmRlciA9IGNvbXBvc2l0ZUNvbnRlbnQueG1sLFwhCiBhcnRpZmFjdC5yZXBvc2l0b3J5LmZhY3Rvcnkub3JkZXIgPSBjb21wb3NpdGVBcnRpZmFjdHMueG1sLFwh</encoded.p2index>
+                <encoded.compositeArtifacts>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPD9jb21wb3NpdGVBcnRpZmFjdFJlcG9zaXRvcnkgdmVyc2lvbj0nMS4wLjAnPz4KPHJlcG9zaXRvcnkgbmFtZT0nT1NCUCBQdWJsaWMgUDIgUmVwb3NpdG9yeScgdHlwZT0nb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5hcnRpZmFjdC5yZXBvc2l0b3J5LkNvbXBvc2l0ZUFydGlmYWN0UmVwb3NpdG9yeScgdmVyc2lvbj0nMS4wLjAnPgogIDxwcm9wZXJ0aWVzIHNpemU9JzEnPgoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0NDAnLz4KICA8L3Byb3BlcnRpZXM+CiAgPGNoaWxkcmVuIHNpemU9JzAnPgkKICA8L2NoaWxkcmVuPgo8L3JlcG9zaXRvcnk+Cg==</encoded.compositeArtifacts>
+                <encoded.compositeContent>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPD9jb21wb3NpdGVNZXRhZGF0YVJlcG9zaXRvcnkgdmVyc2lvbj0nMS4wLjAnPz4KPHJlcG9zaXRvcnkgbmFtZT0nT1NCUCBQdWJsaWMgUDIgUmVwb3NpdG9yeScgdHlwZT0nb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5tZXRhZGF0YS5yZXBvc2l0b3J5LkNvbXBvc2l0ZU1ldGFkYXRhUmVwb3NpdG9yeScgdmVyc2lvbj0nMS4wLjAnPgogIDxwcm9wZXJ0aWVzIHNpemU9JzEnPgoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0OTknLz4KICA8L3Byb3BlcnRpZXM+CiAgPGNoaWxkcmVuIHNpemU9JzAnPgogIDwvY2hpbGRyZW4+CjwvcmVwb3NpdG9yeT4K</encoded.compositeContent>
+
+                <!-- this properties should be overridden for each repository POM -->
+                <osbp.stage.p2.label>${project.artifactId}</osbp.stage.p2.label>
+                
+				<osbp.build.local.federated.p2.dir>${osbp.stage.p2.technologystack.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}</osbp.build.local.federated.p2.dir>
+				
+				<osbp.stage.p2.log.file.path>${project.basedir}${file.separator}build.${osbp.stage.p2.label}.${osbp.build.eclipse.platform.name}.${osbp.build.branch}.log.properties</osbp.stage.p2.log.file.path>
+                <osbp.stage.p2.origin.dir>${project.build.directory}${file.separator}repository</osbp.stage.p2.origin.dir>
+                <osbp.stage.p2.target.dir>${osbp.stage.p2.technologystack.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}${osbp.stage.p2.label}${file.separator}${osbp.stage.artifact.version}</osbp.stage.p2.target.dir>
+            </properties>
+			<pluginRepositories>
+				<pluginRepository>
+					<id>atlassian 3rd party</id>
+					<url>https://maven.atlassian.com/3rdparty/</url>
+					<snapshots>
+						<enabled>true</enabled>
+						<updatePolicy>never</updatePolicy>
+						<checksumPolicy>warn</checksumPolicy>
+					</snapshots>
+					<releases>
+						<enabled>true</enabled>
+						<checksumPolicy>warn</checksumPolicy>
+					</releases>
+				</pluginRepository>
+			</pluginRepositories>
+			<repositories>
+	            <repository>
+	                <id>OSBP dependencies Internal P2</id>
+	                <url>file://${osbp.stage.p2.dependencies.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}</url>
+	                <layout>p2</layout>
+	            </repository>
+			</repositories>	
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>generate-files</id>
+                                <phase>verify</phase>
+                                <configuration>
+                                    <quiet>true</quiet>
+                                    <target>
+                                        <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy">
+                                            <classpath refid="maven.compile.classpath"/>
+                                        </taskdef>
+                                        <taskdef resource="net/sf/antcontrib/antlib.xml"/>
+                                        <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
+                                        <taskdef name="xmltask" classname="com.oopsconsultancy.xmltask.ant.XmlTask"/>
+                                    
+                                        <echo message="Federated Repository Local Dir (osbp.build.local.federated.p2.dir): ${osbp.build.local.federated.p2.dir}"/>
+                                        <echo message="Platform: ${osbp.build.eclipse.platform.name}"/>
+                                        <echo message="Build Type: ${osbp.build.branch}"/>
+                                        <echo message="Repo Name: ${osbp.stage.p2.label}"/>
+                                        <echo message="Repo Keep Old: ${osbp.stage.p2.keep.old}"/>
+                                        <echo message="Repo Version: ${osbp.stage.artifact.version}"/>
+                                        <echo message="Log File (osbp.stage.p2.log.file.path): ${osbp.stage.p2.log.file.path}"/>
+                                        <echo message="P2 Source Dir (osbp.stage.p2.origin.dir): ${osbp.stage.p2.origin.dir}"/>
+                                        <echo message="P2 Target Dir (osbp.stage.p2.target.dir): ${osbp.stage.p2.target.dir}"/>
+                                    
+                                        <!-- "init" -->
+                                        <fail message="There property 'osbp.developer.home' was not defined in settings.xml or in commandline.">
+                                            <condition>
+                                                <or>
+                                                    <not>
+                                                        <isset property="osbp.developer.home"/>
+                                                    </not>
+                                                    <equals arg1="${osbp.developer.home}" arg2="none"/>
+                                                </or>
+                                            </condition>
+                                        </fail>
+                                        <if>
+                                            <not>
+                                                <available file="${osbp.developer.home}" type="dir"/>
+                                            </not>
+                                            <then>
+                                                <mkdir dir="${osbp.developer.home}"/>
+                                            </then>
+                                        </if>
+                                        <if>
+                                            <not>
+                                                <available file="${osbp.developer.home.repositories}" type="dir"/>
+                                            </not>
+                                            <then>
+                                                <mkdir dir="${osbp.developer.home.repositories}"/>
+                                            </then>
+                                        </if>
+                                        <if>
+                                            <not>
+                                                <available file="${osbp.build.local.federated.p2.dir}" type="dir"/>
+                                            </not>
+                                            <then>
+                                                <mkdir dir="${osbp.build.local.federated.p2.dir}"/>
+                                            </then>
+                                        </if>
+                                        <groovy>
+                                            ant.echo "Extracted building templates..."
+                                        
+                                            def
+                                            separator =
+                                            "${properties['file.separator']}"
+                                            def directory =
+                                            "${properties['project.build.directory']}" + separator +
+                                            "templates" + separator
+                                        
+                                            new
+                                            File(directory).mkdir()
+                                        
+                                            def
+                                            encodedP2index =
+                                            "${properties['encoded.p2index']}"
+                                            def
+                                            encodedCompositeArtifacts =
+                                            "${properties['encoded.compositeArtifacts']}"
+                                            def
+                                            encodedCompositeContent =
+                                            "${properties['encoded.compositeContent']}"
+                                        
+                                            properties.p2indexFile = directory + "p2.index"
+                                            properties.compositeArtifactsFile = directory +
+                                            "compositeArtifacts.xml"
+                                            properties.compositeContentFile =
+                                            directory + "compositeContent.xml"
+                                        
+                                            new
+                                            FileOutputStream(properties.p2indexFile).write(encodedP2index.decodeBase64())
+                                            new
+                                            FileOutputStream(properties.compositeArtifactsFile).write(encodedCompositeArtifacts.decodeBase64())
+                                            new
+                                            FileOutputStream(properties.compositeContentFile).write(encodedCompositeContent.decodeBase64())
+                                        
+                                        </groovy>
+                                        <echo message="** OSBP User Developer Home: ${osbp.developer.home}"/>
+                                        <echo message=" - index source: ${p2indexFile}"/>
+                                        <echo message=" - contentFile source: ${compositeContentFile}"/>
+                                        <echo message=" - artifactsFile source: ${compositeArtifactsFile}"/>
+                                    
+                                        <!-- generate.composite.p2.init -->
+                                    
+                                        <fail message="Could not find p2.index template at ${p2indexFile} !">
+                                            <condition>
+                                                <not>
+                                                    <available file="${p2indexFile}" type="file"/>
+                                                </not>
+                                            </condition>
+                                        </fail>
+                                    
+                                        <fail message="Could not find compositeContent.xml template at ${compositeContentFile} !">
+                                            <condition>
+                                                <not>
+                                                    <available file="${compositeContentFile}" type="file"/>
+                                                </not>
+                                            </condition>
+                                        </fail>
+                                    
+                                        <fail message="Could not find compositeArtifacts.xml template at ${compositeArtifactsFile} !">
+                                            <condition>
+                                                <not>
+                                                    <available file="${compositeArtifactsFile}" type="file"/>
+                                                </not>
+                                            </condition>
+                                        </fail>
+                                    
+                                        <!-- "deploy.generated.p2.to.composite.dir.init" -->
+                                        <echo message="Copying repo to Federated Repository !!!"/>
+                                        <echo message="Checking existence of log file at:'${osbp.stage.p2.log.file.path}'"/>
+                                        <if>
+                                            <available file="${osbp.stage.p2.log.file.path}" type="file"/>
+                                            <then>
+                                                <echo message="OPEN BUILD LOG"/>
+                                                <property file="${osbp.stage.p2.log.file.path}" prefix="old"/>
+                                                <echoproperties prefix="old."/>
+                                            </then>
+                                            <else>
+                                                <echo message="Log file was not found at: '${osbp.stage.p2.log.file.path}'"/>
+                                            </else>
+                                        </if>
+                                    
+                                        <!-- deploy.generated.p2.to.composite.dir.clean -->
+                                        <!-- remove the latest built repository directory -->
+                                        <if>
+                                            <equals arg1="${osbp.stage.p2.keep.old}" arg2="false"/>
+                                            <then>
+                                                <echo message="Checking property 'old.osbp.stage.p2.target.dir'"/>
+                                                <if>
+                                                    <isset property="old.osbp.stage.p2.target.dir"/>
+                                                    <then>
+                                                        <if>
+                                                            <available file="${old.osbp.stage.p2.target.dir}" type="dir"/>
+                                                            <then>
+                                                                <echo message="REMOVING OLD BUILDS at:'${old.osbp.stage.p2.target.dir}/..'"/>
+                                                                <delete includeemptydirs="true" failonerror="false">
+                                                                    <fileset includes="**/*" dir="${old.osbp.stage.p2.target.dir}/.."/>
+                                                                </delete>
+                                                                <delete dir="${old.osbp.stage.p2.target.dir}/.."/>
+                                                            </then>
+                                                            <else>
+                                                                <echo message="Old build was not found at:'${old.osbp.stage.p2.target.dir}'"/>
+                                                            </else>
+                                                        </if>
+                                                    </then>
+                                                    <else>
+                                                        <echo message="Property 'old.osbp.stage.p2.target.dir' was not set due a missing log file."/>
+                                                    </else>
+                                                </if>
+                                            </then>
+                                        </if>
+                                        <!-- remove an existent repository directory -->
+                                        <if>
+                                            <available file="${osbp.stage.p2.target.dir}" type="dir"/>
+                                            <then>
+                                                <delete includeemptydirs="true" failonerror="false">
+                                                    <fileset includes="**/*" dir="${osbp.stage.p2.target.dir}"/>
+                                                </delete>
+                                                <delete dir="${osbp.stage.p2.target.dir}"/>
+                                            </then>
+                                        </if>
+                                    
+                                        <!-- deploy.generated.p2.to.composite.p2 -->
+                                        <!-- create the repository directory and copy files from the generated 
+											P2 -->
+                                        <echo message="COPYING P2"/>
+                                        <if>
+                                            <available file="${osbp.stage.p2.origin.dir}" type="dir"/>
+                                            <then>
+                                                <mkdir dir="${osbp.stage.p2.target.dir}"/>
+                                                <copy todir="${osbp.stage.p2.target.dir}">
+                                                    <fileset dir="${osbp.stage.p2.origin.dir}" includes="**/*"/>
+                                                </copy>
+                                                <if>
+                                                    <equals arg1="${osbp.stage.p2.keep.old}" arg2="false"/>
+                                                    <then>
+                                                        <propertyfile file="${osbp.stage.p2.log.file.path}" comment="Building log for ${osbp.build.eclipse.platform.name} - ${osbp.build.branch}">
+                                                            <entry key="build.counter" type="int" default="0" operation="+"/>
+                                                            <entry key="build.date" type="date" value="now"/>
+                                                            <entry key="osbp.stage.artifact.version" value="${osbp.stage.artifact.version}"/>
+                                                            <entry key="osbp.stage.p2.target.dir" value="${osbp.stage.p2.target.dir}"/>
+                                                        </propertyfile>
+                                                    </then>
+                                                    <else>
+                                                        <propertyfile file="${osbp.stage.p2.log.file.path}" comment="Building log for ${osbp.build.eclipse.platform.name} - ${osbp.build.branch}">
+                                                            <entry key="build.counter" type="int" default="0" operation="+"/>
+                                                            <entry key="build.date" type="date" value="now"/>
+                                                            <entry key="osbp.build.local.federated.p2.dir" value="${osbp.build.local.federated.p2.dir}"/>
+                                                            <entry key="osbp.stage.artifact.versions" default="" operation="+" value=",${osbp.stage.artifact.version}"/>
+                                                        </propertyfile>
+                                                    </else>
+                                                </if>
+                                            </then>
+                                            <else>
+                                                <fail message="The P2 repository was not generated in '${osbp.stage.p2.origin.dir}' !"/>
+                                            </else>
+                                        </if>
+                                    
+                                        <!-- start rebuilding... -->
+                                        <echo message="Rebuilding Federated Repository !!!"/>
+                                        <echo message=" (osbp.build.local.federated.p2.dir): ${osbp.build.local.federated.p2.dir}"/>
+                                    
+                                        <dirset id="dirs" dir="${osbp.build.local.federated.p2.dir}" includes="*/*"/>
+                                    
+                                        <fail message="There is no repositories to process !">
+                                            <condition>
+                                                <resourcecount when="equal" count="0" refid="dirs"/>
+                                            </condition>
+                                        </fail>
+                                    
+                                        <if>
+                                            <available file="${osbp.build.local.federated.p2.dir}compositeContent.xml" type="file"/>
+                                            <then>
+                                                <echo message="DELETED OLD CONTENT FILE"/>
+                                                <delete file="${osbp.build.local.federated.p2.dir}compositeContent.xml"/>
+                                            </then>
+                                        </if>
+                                        <if>
+                                            <available file="${osbp.build.local.federated.p2.dir}compositeArtifacts.xml" type="file"/>
+                                            <then>
+                                                <echo message="DELETED OLD ARTIFACTS FILE"/>
+                                                <delete file="${osbp.build.local.federated.p2.dir}compositeArtifacts.xml"/>
+                                            </then>
+                                        </if>
+                                    
+                                        <!-- generate.composite.p2.add.compositeContentFile -->
+                                        <xmltask source="${compositeContentFile}" destbuffer="bufferCompositeContent" report="true"/>
+                                        <var name="counterContent" value="0"/>
+                                        <for param="child" list="${toString:dirs}" delimiter=";">
+                                            <sequential>
+                                                <math result="counterContent" operand1="${counterContent}" operand2="1" operation="+" datatype="int"/>
+                                                <echo message="Adding Content Child @{child} - ${counterContent}"/>
+                                                <xmltask sourcebuffer="bufferCompositeContent" destbuffer="bufferCompositeContent">
+                                                    <insert path="/repository/children">
+                                                        &lt;child location='@{child}' /&gt; 
+                                                    </insert>
+                                                </xmltask>
+                                            </sequential>
+                                        </for>
+                                        <xmltask sourcebuffer="bufferCompositeContent" destbuffer="bufferCompositeContent">
+                                            <replace path="/repository/children/@size" withText="${counterContent}"/>
+                                        </xmltask>
+                                    
+                                        <!-- generate.composite.p2.add.compositeArtifactsFile -->
+                                        <xmltask source="${compositeArtifactsFile}" destbuffer="bufferCompositeArtifacts" report="true"/>
+                                        <var name="counterArtifacts" value="0"/>
+                                        <for param="child" list="${toString:dirs}" delimiter=";">
+                                            <sequential>
+                                                <math result="counterArtifacts" operand1="${counterArtifacts}" operand2="1" operation="+" datatype="int"/>
+                                                <echo message="Adding Artifact Child @{child} - ${counterArtifacts}"/>
+                                                <xmltask sourcebuffer="bufferCompositeArtifacts" destbuffer="bufferCompositeArtifacts">
+                                                    <insert path="/repository/children">
+                                                        &lt;child location='@{child}' /&gt; 
+                                                    </insert>
+                                                </xmltask>
+                                            </sequential>
+                                        </for>
+                                        <xmltask sourcebuffer="bufferCompositeArtifacts" destbuffer="bufferCompositeArtifacts">
+                                            <replace path="/repository/children/@size" withText="${counterArtifacts}"/>
+                                        </xmltask>
+                                    
+                                        <!-- generate.composite.p2.add.p2.index.file -->
+                                        <if>
+                                            <not>
+                                                <available file="${osbp.build.local.federated.p2.dir}p2.index" type="file"/>
+                                            </not>
+                                            <then>
+                                                <copy file="${p2indexFile}" todir="${osbp.build.local.federated.p2.dir}"/>
+                                            </then>
+                                        </if>
+                                    
+                                        <!-- generate.composite.p2 -->
+                                        <echo message="CREATE COMPOSITE ARTIFACTS"/>
+                                        <xmltask sourcebuffer="bufferCompositeArtifacts" dest="${osbp.build.local.federated.p2.dir}compositeArtifacts.xml"/>
+                                    
+                                        <echo message="CREATE COMPOSITE CONTENT"/>
+                                        <xmltask sourcebuffer="bufferCompositeContent" dest="${osbp.build.local.federated.p2.dir}compositeContent.xml"/>
+                                    
+                                        <!-- end generation -->
+                                    
+                                    </target>
+                                </configuration>
+                                <goals>
+                                    <goal>run</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <dependencies>
+                            <dependency>
+                                <groupId>org.codehaus.groovy</groupId>
+                                <artifactId>groovy-all</artifactId>
+                                <version>${groovy-all.version}</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>org.apache.ant</groupId>
+                                <artifactId>ant</artifactId>
+                                <version>${ant-version}</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>ant-contrib</groupId>
+                                <artifactId>ant-contrib</artifactId>
+                                <version>1.0b3</version>
+                                <exclusions>
+                                    <exclusion>
+                                        <groupId>ant</groupId>
+                                        <artifactId>ant</artifactId>
+                                    </exclusion>
+                                </exclusions>
+                            </dependency>
+                            <dependency>
+                                <groupId>net.sf.saxon</groupId>
+                                <artifactId>Saxon-HE</artifactId>
+                                <version>9.4</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>com.oopsconsultancy</groupId>
+                                <artifactId>xmltask</artifactId>
+                                <version>1.16</version>
+                            </dependency>
+                        </dependencies>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+			<!-- used for softwarefactory -->
             <id>whenIsRepositoryP2Project.stage.p2</id>
             <activation>
                 <file>
@@ -700,7 +1227,14 @@
                 </file>
             </activation>
             <properties>
-                <osbp.stage.p2.log.file.path>${project.basedir}${file.separator}build.${osbp.stage.p2.label}.${osbp.build.eclipse.platform.name}.${osbp.build.branch}.log.properties</osbp.stage.p2.log.file.path>
+                <!-- encoded files needed by ant task -->
+                <encoded.p2index>dmVyc2lvbiA9IDEKIG1ldGFkYXRhLnJlcG9zaXRvcnkuZmFjdG9yeS5vcmRlciA9IGNvbXBvc2l0ZUNvbnRlbnQueG1sLFwhCiBhcnRpZmFjdC5yZXBvc2l0b3J5LmZhY3Rvcnkub3JkZXIgPSBjb21wb3NpdGVBcnRpZmFjdHMueG1sLFwh</encoded.p2index>
+                <encoded.compositeArtifacts>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPD9jb21wb3NpdGVBcnRpZmFjdFJlcG9zaXRvcnkgdmVyc2lvbj0nMS4wLjAnPz4KPHJlcG9zaXRvcnkgbmFtZT0nT1NCUCBQdWJsaWMgUDIgUmVwb3NpdG9yeScgdHlwZT0nb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5hcnRpZmFjdC5yZXBvc2l0b3J5LkNvbXBvc2l0ZUFydGlmYWN0UmVwb3NpdG9yeScgdmVyc2lvbj0nMS4wLjAnPgogIDxwcm9wZXJ0aWVzIHNpemU9JzEnPgoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0NDAnLz4KICA8L3Byb3BlcnRpZXM+CiAgPGNoaWxkcmVuIHNpemU9JzAnPgkKICA8L2NoaWxkcmVuPgo8L3JlcG9zaXRvcnk+Cg==</encoded.compositeArtifacts>
+                <encoded.compositeContent>PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPD9jb21wb3NpdGVNZXRhZGF0YVJlcG9zaXRvcnkgdmVyc2lvbj0nMS4wLjAnPz4KPHJlcG9zaXRvcnkgbmFtZT0nT1NCUCBQdWJsaWMgUDIgUmVwb3NpdG9yeScgdHlwZT0nb3JnLmVjbGlwc2UuZXF1aW5veC5pbnRlcm5hbC5wMi5tZXRhZGF0YS5yZXBvc2l0b3J5LkNvbXBvc2l0ZU1ldGFkYXRhUmVwb3NpdG9yeScgdmVyc2lvbj0nMS4wLjAnPgogIDxwcm9wZXJ0aWVzIHNpemU9JzEnPgoJPHByb3BlcnR5IG5hbWU9J3AyLnRpbWVzdGFtcCcgdmFsdWU9JzEyNDM4MjI1MDI0OTknLz4KICA8L3Byb3BlcnRpZXM+CiAgPGNoaWxkcmVuIHNpemU9JzAnPgogIDwvY2hpbGRyZW4+CjwvcmVwb3NpdG9yeT4K</encoded.compositeContent>
+
+				<osbp.build.local.federated.p2.dir>${osbp.stage.p2.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}</osbp.build.local.federated.p2.dir>
+				
+				<osbp.stage.p2.log.file.path>${project.basedir}${file.separator}build.${osbp.stage.p2.label}.${osbp.build.eclipse.platform.name}.${osbp.build.branch}.log.properties</osbp.stage.p2.log.file.path>
                 <osbp.stage.p2.origin.dir>${project.build.directory}${file.separator}repository</osbp.stage.p2.origin.dir>
                 <osbp.stage.p2.target.dir>${osbp.stage.p2.target.dir.base}${file.separator}${osbp.build.branch}${file.separator}${osbp.stage.p2.label}${file.separator}${osbp.stage.artifact.version}</osbp.stage.p2.target.dir>
             </properties>
@@ -1121,146 +1655,6 @@
             </build>
         </profile>
     
-        <profile>
-            <id>prepare-for-next-release</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
-            <build>
-                <defaultGoal>org.eclipse.tycho:tycho-versions-plugin:set-version</defaultGoal>
-                <plugins>
-                    <plugin>
-                        <groupId>org.eclipse.tycho</groupId>
-                        <artifactId>tycho-versions-plugin</artifactId>
-                        <version>${tycho-version}</version>
-                        <executions>
-                            <execution>
-                                <id>change-next-release</id>
-                                <goals>
-                                    <goal>set-version</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <newVersion>${next-release}</newVersion>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <!-- this profile must be activated when there isn't osbp.build.branch 
-				defined. -->
-            <id>latest</id>
-            <activation>
-                <property>
-                    <name>!osbp.build.branch</name>
-                </property>
-            </activation>
-            <properties>
-                <osbp.build.branch>latest</osbp.build.branch>
-                <osbp.stage.artifact.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi-version-qualifier}</osbp.stage.artifact.version>
-                <osbp.stage.p2.keep.old>false</osbp.stage.p2.keep.old>
-            </properties>
-            <build>
-                <plugins>
-                    <!-- used to debug... -->
-                    <!-- <plugin> -->
-                    <!-- <artifactId>maven-antrun-plugin</artifactId> -->
-                    <!-- <executions> -->
-                    <!-- <execution> -->
-                    <!-- <phase>initialize</phase> -->
-                    <!-- <configuration> -->
-                    <!-- <quiet>true</quiet> -->
-                    <!-- <target> -->
-                    <!-- <echo message="Started a Latest Build..." /> -->
-                    <!-- </target> -->
-                    <!-- </configuration> -->
-                    <!-- <goals> -->
-                    <!-- <goal>run</goal> -->
-                    <!-- </goals> -->
-                    <!-- </execution> -->
-                    <!-- </executions> -->
-                    <!-- </plugin> -->
-                </plugins>
-            </build>
-        </profile>
-    
-        <profile>
-            <id>milestone</id>
-            <activation>
-                <property>
-                    <name>osbp.build.branch</name>
-                    <value>milestone</value>
-                </property>
-            </activation>
-            <properties>
-                <osbp.stage.artifact.version>M${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi-version-qualifier}</osbp.stage.artifact.version>
-                <osbp.stage.p2.keep.old>false</osbp.stage.p2.keep.old>
-            </properties>
-            <build>
-                <plugins>
-                    <!-- used to debug... -->
-                    <!-- <plugin> -->
-                    <!-- <artifactId>maven-antrun-plugin</artifactId> -->
-                    <!-- <executions> -->
-                    <!-- <execution> -->
-                    <!-- <phase>initialize</phase> -->
-                    <!-- <configuration> -->
-                    <!-- <quiet>true</quiet> -->
-                    <!-- <target> -->
-                    <!-- <echo message="Started a Milestone Build..." /> -->
-                    <!-- </target> -->
-                    <!-- </configuration> -->
-                    <!-- <goals> -->
-                    <!-- <goal>run</goal> -->
-                    <!-- </goals> -->
-                    <!-- </execution> -->
-                    <!-- </executions> -->
-                    <!-- </plugin> -->
-                </plugins>
-            </build>
-        </profile>
-    
-        <profile>
-            <id>release</id>
-            <activation>
-                <property>
-                    <name>osbp.build.branch</name>
-                    <value>release</value>
-                </property>
-            </activation>
-            <properties>
-                <osbp.stage.artifact.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</osbp.stage.artifact.version>
-                <osbp.stage.p2.keep.old>true</osbp.stage.p2.keep.old>
-            </properties>
-            <build>
-                <plugins>
-                    <!-- <plugin> -->
-                    <!-- <artifactId>maven-antrun-plugin</artifactId> -->
-                    <!-- <executions> -->
-                    <!-- <execution> -->
-                    <!-- <phase>validate</phase> -->
-                    <!-- <configuration> -->
-                    <!-- <quiet>true</quiet> -->
-                    <!-- <target> -->
-                    <!-- <echo message="Started a Release Build..." /> -->
-                    <!-- <fail message="Release should not use SNAPSHOT version !"> -->
-                    <!-- <condition> -->
-                    <!-- <contains string="${project.version}" substring="SNAPSHOT" /> -->
-                    <!-- </condition> -->
-                    <!-- </fail> -->
-                    <!-- </target> -->
-                    <!-- </configuration> -->
-                    <!-- <goals> -->
-                    <!-- <goal>run</goal> -->
-                    <!-- </goals> -->
-                    <!-- </execution> -->
-                    <!-- </executions> -->
-                    <!-- </plugin> -->
-                </plugins>
-            </build>
-        </profile>
     
         <profile>
         	<!-- do static weaving to enable performant transactions across entity levels -->
diff --git a/pom.xml b/pom.xml
index 23c265c..cf3bfe1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,6 +112,7 @@
 		<!-- this properties must be unique for the entire system -->
 		<osbp.federated.repository.label>osbp</osbp.federated.repository.label>
 		<osbp.dependencies.repository.label>${osbp.federated.repository.label}${file.separator}dependencies</osbp.dependencies.repository.label>
+		<osbp.technologystack.repository.label>${osbp.federated.repository.label}${file.separator}technologystack</osbp.technologystack.repository.label>
 
 		<!-- indicates where to stage javadoc for built results on local machine -->
 		<osbp.javadoc.home.directory>${osbp.developer.home}javadoc${file.separator}${osbp.federated.repository.label}${file.separator}${osbp.build.branch}</osbp.javadoc.home.directory>
@@ -305,6 +306,112 @@
 
 	<profiles>
 		<profile>
+			<!-- Just in case the developer have forgotten to set it in settings.xml -->
+			<id>set.workspace.location</id>
+			<activation>
+				<property>
+					<name>!osbp.developer.home</name>
+				</property>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+			<properties>
+				<osbp.developer.home>${env.HOME}${file.separator}osbp-dev${file.separator}</osbp.developer.home>
+				<osbp.stage.site.dir>${osbp.developer.home}site${file.separator}</osbp.stage.site.dir>
+			</properties>
+		</profile>
+		
+        <profile>
+            <id>platform.default</id>
+            <activation>
+                <property>
+                    <name>!osbp.build.eclipse.platform.name</name>
+                </property>
+            </activation>
+            <properties>
+	            <osbee.build.eclipse.platform.p2.url>http://download.eclipse.org/releases/neon</osbee.build.eclipse.platform.p2.url>
+                <osbp.build.eclipse.platform.name>neon</osbp.build.eclipse.platform.name>
+	            <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository/</orbit-site>
+            </properties>
+            <repositories>
+	            <repository>
+		            <id>Neon eclipse.p2</id>
+        		    <url>http://download.eclipse.org/releases/neon</url>
+            		<layout>p2</layout>
+        		</repository>
+	            <repository>
+	                <id>Neon3 Orbit</id>
+	                <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository/
+	                </url>
+	                <layout>p2</layout>
+	            </repository>
+	            <repository>
+	                <id>EclipseNeonComposite</id>
+	                <url>http://download.eclipse.org/eclipse/updates/4.6/
+	                </url>
+	                <layout>p2</layout>
+	            </repository>
+            </repositories>
+        </profile>
+        <profile>
+            <id>platform.neon</id>
+            <activation>
+                <property>
+                    <name>osbp.build.eclipse.platform.name</name>
+                    <value>neon</value>
+                </property>
+            </activation>
+            <properties>
+	            <osbee.build.eclipse.platform.p2.url>http://download.eclipse.org/releases/neon</osbee.build.eclipse.platform.p2.url>
+	            <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository/</orbit-site>
+                <osbp.build.eclipse.platform.name>neon</osbp.build.eclipse.platform.name>
+            </properties>
+            <repositories>
+	            <repository>
+		            <id>Neon eclipse.p2</id>
+        		    <url>http://download.eclipse.org/releases/neon</url>
+            		<layout>p2</layout>
+        		</repository>
+	            <repository>
+	                <id>Neon3 Orbit</id>
+	                <url>http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository/
+	                </url>
+	                <layout>p2</layout>
+	            </repository>
+	            <repository>
+	                <id>EclipseNeonComposite</id>
+	                <url>http://download.eclipse.org/eclipse/updates/4.6/
+	                </url>
+	                <layout>p2</layout>
+	            </repository>
+            </repositories>
+        </profile>
+        <profile>
+            <id>platform.luna</id>
+            <activation>
+                <property>
+                    <name>osbp.build.eclipse.platform.name</name>
+                    <value>luna</value>
+                </property>
+            </activation>
+            <properties>
+                <osbp.build.eclipse.platform.name>luna</osbp.build.eclipse.platform.name>
+	            <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/</orbit-site>
+            </properties>
+            <repositories>
+	            <repository>
+		            <id>Luna eclipse.p2</id>
+        		    <url>http://download.eclipse.org/releases/luna</url>
+            		<layout>p2</layout>
+        		</repository>
+        		<repository>
+            		<id>orbit</id>
+            		<url>http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/</url>
+            		<layout>p2</layout>
+        		</repository>
+            </repositories>
+            
+        </profile>
+		<profile>
 			<id>isEclipseBuild</id>
 			<activation>
 				<property>
@@ -314,7 +421,11 @@
 			<properties>
 				<osbp.build.branch>master</osbp.build.branch>
 				<osbp.stage.p2.dependencies.target.dir.base>${osbp.developer.home.repositories}${osbp.dependencies.repository.label}${file.separator}${osbp.build.eclipse.platform.name}</osbp.stage.p2.dependencies.target.dir.base>
+				<osbp.stage.p2.technologystack.target.dir.base>${osbp.developer.home.repositories}${osbp.technologystack.repository.label}${file.separator}${osbp.build.eclipse.platform.name}</osbp.stage.p2.technologystack.target.dir.base>
 				<osbp.stage.p2.target.dir.base>/home/data/httpd/download.eclipse.org/osbp${file.separator}${osbp.build.eclipse.platform.name}</osbp.stage.p2.target.dir.base>
+				<osbp.p2.base>http://download.eclipse.org/osbp/</osbp.p2.base>
+				<osbp.p2>${osbp.p2.base}${osbp.build.eclipse.platform.name}${file.separator}${osbp.build.branch}</osbp.p2>
+				<osbp.technologystack.p2>${osbp.p2.base}technologystack${file.separator}${osbp.build.eclipse.platform.name}${file.separator}${osbp.build.branch}</osbp.technologystack.p2>
 			</properties>
 
 			<distributionManagement>
@@ -393,7 +504,11 @@
 				<!-- osbp.build.branch is set from the local settings.xml -->
 				<!-- osbp.build.branch>latest</osbp.build.branch -->
 				<osbp.stage.p2.dependencies.target.dir.base>${osbp.developer.home.repositories}${osbp.dependencies.repository.label}${file.separator}${osbp.build.eclipse.platform.name}</osbp.stage.p2.dependencies.target.dir.base>
+				<osbp.stage.p2.technologystack.target.dir.base>${osbp.developer.home.repositories}${osbp.technologystack.repository.label}${file.separator}${osbp.build.eclipse.platform.name}</osbp.stage.p2.technologystack.target.dir.base>
 				<osbp.stage.p2.target.dir.base>${osbp.developer.home.repositories}${osbp.federated.repository.label}${file.separator}${osbp.build.eclipse.platform.name}</osbp.stage.p2.target.dir.base>
+				<osbp.p2.base>file://${osbp.developer.home.repositories}${osbp.repository.label}${file.separator}</osbp.p2.base>
+				<osbp.p2>${osbp.p2.base}technologystack${file.separator}${osbp.build.eclipse.platform.name}${file.separator}${osbp.build.branch}</osbp.p2>
+				<osbp.technologystack.p2>${osbp.p2.base}technologystack${file.separator}${osbp.build.eclipse.platform.name}${file.separator}${osbp.build.branch}</osbp.technologystack.p2>
 			</properties>
 
 			<distributionManagement>
@@ -866,21 +981,6 @@
 		</profile>
 
 		<profile>
-			<!-- Just in case the developer have forgotten to set it in settings.xml -->
-			<id>set.workspace.location</id>
-			<activation>
-				<property>
-					<name>!osbp.developer.home</name>
-				</property>
-				<activeByDefault>false</activeByDefault>
-			</activation>
-			<properties>
-				<osbp.developer.home>${env.HOME}${file.separator}osbp-dev${file.separator}</osbp.developer.home>
-				<osbp.stage.site.dir>${osbp.developer.home}site${file.separator}</osbp.stage.site.dir>
-			</properties>
-		</profile>
-
-		<profile>
 			<id>remove.old.build</id>
 			<activation>
 				<property>