Support direct-from-maven dependencies that need generated OSGi metadata
diff --git a/maven-bnd/Maven BND.launch b/maven-bnd/Maven BND.launch
new file mode 100644
index 0000000..cc5f8c9
--- /dev/null
+++ b/maven-bnd/Maven BND.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
+    <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
+    <stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.jetty.mirror&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
+    <mapAttribute key="org.eclipse.debug.core.environmentVariables">
+        <mapEntry key="JAVA_HOME" value="${maven.build.java.home.17}"/>
+        <mapEntry key="PATH" value="${maven.bash.home}/../usr/bin${system_property:path.separator}${env_var:PATH}"/>
+    </mapAttribute>
+    <stringAttribute key="org.eclipse.debug.ui.ATTR_CAPTURE_IN_FILE" value="${project_loc:/org.eclipse.oomph.incubator}/maven-bnd/build.log"/>
+    <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+        <listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
+    </listAttribute>
+    <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${maven.build.command}"/>
+    <stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-DU&#13;&#10;-DX&#13;&#10;-DDtycho.debug.resolver=true&#13;&#10;-Dmaven.artifact.threads=16&#13;&#10;-Duser.home=${system_property:user.home}&#13;&#10;-Dorg.eclipse.justj.p2.manager.args=&quot;-remote localhost:${project_loc:/org.eclipse.oomph.incubator}/maven-bnd/updates&quot;&#13;&#10;-Dbuild.type=nightly&#13;&#10;-Ddash.projectId=tools.oomph&#13;&#10;clean&#13;&#10;verify"/>
+    <stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${project_loc:/org.eclipse.oomph.incubator}/maven-bnd"/>
+</launchConfiguration>
diff --git a/maven-bnd/SimRelMavenBnd.jenkinsfile b/maven-bnd/SimRelMavenBnd.jenkinsfile
new file mode 100644
index 0000000..0dc35aa
--- /dev/null
+++ b/maven-bnd/SimRelMavenBnd.jenkinsfile
@@ -0,0 +1,174 @@
+pipeline {
+  agent any
+
+   options {
+    buildDiscarder(logRotator(numToKeepStr: '10'))
+    disableConcurrentBuilds()
+    skipDefaultCheckout true
+  }
+
+  tools {
+    maven 'apache-maven-latest'
+    jdk 'openjdk-jdk17-latest'
+  }
+
+  environment {
+    PUBLISH_LOCATION = 'simrel-maven'
+  }
+
+  parameters {
+    choice(
+      name: 'BUILD_TYPE',
+      choices: ['nightly', 'milestone', 'release'],
+      description: '''
+        Choose the type of build.
+        Note that a release build will not promote the build, but rather will promote the most recent milestone build.
+        '''
+    )
+
+    booleanParam(
+      name: 'PROMOTE',
+      defaultValue: false,
+      description: 'Whether to promote the build to the download server.'
+    )
+  }
+
+  stages {
+    stage('Display Parameters') {
+      steps {
+        echo "BUILD_TYPE=${params.BUILD_TYPE}"
+        echo "PROMOTE=${params.PROMOTE}"
+        script {
+          env.PROMOTE = params.PROMOTE
+          env.BUILD_TYPE = params.BUILD_TYPE
+        }
+      }
+    }
+
+    stage('Git Checkout') {
+      steps {
+        script {
+          def gitVariables = checkout(
+            poll: false,
+            scm: [
+              $class: 'GitSCM',
+              branches: [[name: '*/master']],
+              doGenerateSubmoduleConfigurations: false,
+              submoduleCfg: [],
+              extensions: [
+                [$class: 'CloneOption', shallow: true],
+                [$class: 'SparseCheckoutPaths', sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'maven-bnd/']]]
+              ],
+              userRemoteConfigs: [[url: 'https://git.eclipse.org/r/oomph/org.eclipse.oomph.incubator.git' ]]
+            ]
+          )
+
+          echo "$gitVariables"
+          env.GIT_COMMIT = gitVariables.GIT_COMMIT
+        }
+      }
+    }
+
+    stage('Initialize PGP') {
+      steps {
+        withCredentials([file(credentialsId: 'secret-subkeys.asc', variable: 'KEYRING')]) {
+         sh '''
+           gpg --batch --import "${KEYRING}"
+           for fpr in $(gpg --list-keys --with-colons  | awk -F: \'/fpr:/ {print $10}\' | sort -u); do echo -e "5\ny\n" |  gpg --batch --command-fd 0 --expert --edit-key ${fpr} trust; done
+           '''
+        }
+      }
+    }
+
+    stage('Build SimRel Maven BND') {
+      steps {
+        sshagent(['projects-storage.eclipse.org-bot-ssh']) {
+          dir('maven-bnd') {
+            withCredentials([
+                string(credentialsId: 'gpg-passphrase', variable: 'KEYRING_PASSPHRASE'), 
+                string(credentialsId: 'gitlab-api-token', variable: 'GITLAB_API_TOKEN') ]) {
+              sh '''
+                if [[ $PROMOTE == false ]]; then
+                  promotion_argument='-Dorg.eclipse.justj.p2.manager.args='
+                fi
+                mvn \
+                  --no-transfer-progress \
+                  $promotion_argument \
+                  -Pgpg-sign \
+                  -Dgpg.passphrase="${KEYRING_PASSPHRASE}" \
+                  -Dorg.eclipse.justj.p2.manager.build.url=$JOB_URL \
+                  -Dorg.eclipse.justj.p2.manager.relative=$PUBLISH_LOCATION \
+                  -Dgit.commit=$GIT_COMMIT \
+                  -Dbuild.id=$BUILD_NUMBER \
+                  -Dbuild.type=$BUILD_TYPE \
+                  -Ddash.projectId=tools.oomph \
+                  -Ddash.fail=true \
+                  -Ddash.iplab.token=$GITLAB_API_TOKEN \
+                  clean \
+                  verify
+                '''
+            }
+          }
+        }
+      }
+    }
+ 
+     stage('Start Repository Analysis') {
+      when {
+        expression {
+          params.PROMOTE
+        }
+      }
+      steps {
+        sshagent(['projects-storage.eclipse.org-bot-ssh']) {
+          script {
+            def repositories = sh(returnStdout: true, script: '''
+                ssh genie.oomph@projects-storage.eclipse.org '
+                  cd /home/data/httpd/download.eclipse.org/oomph/
+                  for i in $(find '${PUBLISH_LOCATION}' -name content.xml.xz); do [ ! -d $(dirname $i)/archive ] && echo $(dirname $i); done
+                  exit 0
+                '
+            ''')
+
+            for (String repository : repositories.split("\\s")) {
+              echo "repository: '${repository}'"
+              build job: 'repository-analyzer-any',
+              parameters: [
+                  booleanParam(name: 'PROMOTE', value: true),
+                  booleanParam(name: 'TEST', value: false),
+                  string(name: 'RELATIVE_LOCATION', value: "${repository}")
+              ],
+              wait: false
+            }
+          }
+        }
+      }
+    }
+
+    stage('Archive Results') {
+      steps {
+        archiveArtifacts 'maven-bnd/**'
+      }
+    }
+  }
+
+  post {
+    failure {
+      mail to: 'ed.merks@gmail.com',
+      subject: "[Oomph CI] Build Failure ${currentBuild.fullDisplayName}",
+      mimeType: 'text/html',
+      body: "Project: ${env.JOB_NAME}<br/>Build Number: ${env.BUILD_NUMBER}<br/>Build URL: ${env.BUILD_URL}<br/>Console: ${env.BUILD_URL}/console"
+    }
+
+    fixed {
+      mail to: 'ed.merks@gmail.com',
+      subject: "[Oomph CI] Back to normal ${currentBuild.fullDisplayName}",
+      mimeType: 'text/html',
+      body: "Project: ${env.JOB_NAME}<br/>Build Number: ${env.BUILD_NUMBER}<br/>Build URL: ${env.BUILD_URL}<br/>Console: ${env.BUILD_URL}/console"
+    }
+
+    cleanup {
+      deleteDir()
+    }
+  }
+}
\ No newline at end of file
diff --git a/maven-bnd/pom.xml b/maven-bnd/pom.xml
new file mode 100644
index 0000000..d4a2688
--- /dev/null
+++ b/maven-bnd/pom.xml
@@ -0,0 +1,222 @@
+<?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>org.eclipse.oomph.maven-bnd</groupId>
+  <artifactId>org.eclipse.oomph.maven-bnd.parent</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <tycho-version>4.0.0-SNAPSHOT</tycho-version>
+    <gpg-keyname>2E8E9CF8</gpg-keyname>
+    <eclipse.repo>https://download.eclipse.org/releases/2022-12</eclipse.repo>
+    <justj.tools.repo>https://download.eclipse.org/justj/tools/updates/nightly/latest</justj.tools.repo>
+    <org.eclipse.storage.user>genie.oomph</org.eclipse.storage.user>
+    <org.eclipse.justj.p2.manager.args>-remote ${org.eclipse.storage.user}@projects-storage.eclipse.org:/home/data/httpd/download.eclipse.org/oomph</org.eclipse.justj.p2.manager.args>
+    <org.eclipse.justj.p2.manager.extra.args></org.eclipse.justj.p2.manager.extra.args>
+    <org.eclipse.justj.p2.manager.relative>simrel-maven-bnd</org.eclipse.justj.p2.manager.relative>
+    <maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
+    <org.eclipse.justj.p2.manager.build.url>http://www.example.com/</org.eclipse.justj.p2.manager.build.url>
+    <build.type>nightly</build.type>
+  </properties>
+
+  <pluginRepositories>
+    <pluginRepository>
+      <id>tycho-snapshots</id>
+      <url>https://repo.eclipse.org/content/repositories/tycho-snapshots</url>
+    </pluginRepository>
+
+    <pluginRepository>
+      <id>eclipse-maven-releases</id>
+      <url>https://repo.eclipse.org/content/repositories/releases</url>
+    </pluginRepository>
+
+    <pluginRepository>
+      <id>eclipse-cbi-releases</id>
+      <url>https://repo.eclipse.org/content/repositories/cbi-releases</url>
+    </pluginRepository>
+
+	<pluginRepository>
+      <id>dash-licenses-snapshots</id>
+      <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url>
+        <snapshots>
+          <enabled>true</enabled>
+        </snapshots>
+      </pluginRepository>
+  </pluginRepositories>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.dash</groupId>
+        <artifactId>license-tool-plugin</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <id>license-check</id>
+            <goals>
+              <goal>license-check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <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>tycho-p2-publisher-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>target-platform-configuration</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <target>
+            <artifact>
+              <groupId>org.eclipse.oomph.maven-bnd</groupId>
+              <artifactId>org.eclipse.oomph.maven-bnd.tp</artifactId>
+              <version>1.0.0-SNAPSHOT</version>
+              <classifier>Maven</classifier>
+            </artifact>
+          </target>
+          <executionEnvironment>JavaSE-17</executionEnvironment>
+          <environments>
+            <environment>
+              <os>win32</os>
+              <ws>win32</ws>
+              <arch>x86_64</arch>
+            </environment>
+            <environment>
+              <os>macosx</os>
+              <ws>cocoa</ws>
+              <arch>x86_64</arch>
+            </environment>
+            <environment>
+              <os>macosx</os>
+              <ws>cocoa</ws>
+              <arch>aarch64</arch>
+            </environment>
+            <environment>
+              <os>linux</os>
+              <ws>gtk</ws>
+              <arch>x86_64</arch>
+            </environment>
+            <environment>
+              <os>linux</os>
+              <ws>gtk</ws>
+              <arch>aarch64</arch>
+            </environment>
+          </environments>
+        </configuration>
+      </plugin>
+
+      <!--
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-p2-publisher-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.eclipse.tycho.extras</groupId>
+        <artifactId>tycho-eclipserun-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <executionEnvironment>JavaSE-11</executionEnvironment>
+          <dependencies>
+            <dependency>
+              <artifactId>org.eclipse.justj.p2</artifactId>
+              <type>eclipse-plugin</type>
+            </dependency>
+            <dependency>
+              <artifactId>org.apache.felix.scr</artifactId>
+              <type>eclipse-plugin</type>
+            </dependency>
+          </dependencies>
+          <repositories>
+            <repository>
+              <id>eclipse.repo</id>
+              <layout>p2</layout>
+              <url>${eclipse.repo}</url>
+            </repository>
+            <repository>
+              <id>justj.tools.repo</id>
+              <layout>p2</layout>
+              <url>${justj.tools.repo}</url>
+            </repository>
+          </repositories>
+        </configuration>
+        <executions>
+          <execution>
+            <id>promote</id>
+            <goals>
+              <goal>eclipse-run</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <argLine></argLine>
+              <appArgLine>
+                -consoleLog
+                -application org.eclipse.justj.p2.manager
+                -data @None
+                -nosplash
+                ${org.eclipse.justj.p2.manager.args}
+                -retain 5
+                -label "Jetty Updates"
+                -build-url ${org.eclipse.justj.p2.manager.build.url}
+                -root ${project.build.directory}/jetty-sync
+                -relative ${org.eclipse.justj.p2.manager.relative}
+                -version-iu org.eclipse.jetty.
+                -target-url https://download.eclipse.org/oomph
+                -promote ${project.build.directory}/repository
+                -timestamp ${build.timestamp}
+                -type ${build.type}
+                -breadcrumb "Jetty https://www.eclipse.org/Jetty"
+                -favicon https://raw.githubusercontent.com/eclipse-jetty/eclipse-jetty.github.io/master/favicon.ico
+                -title-image https://www.eclipse.org/jetty/common/images/jetty-logo.svg
+                -body-image https://raw.githubusercontent.com/eclipse-jetty/eclipse-jetty.github.io/master/favicon.ico
+                ${org.eclipse.justj.p2.manager.extra.args}
+              </appArgLine>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      -->
+    </plugins>
+  </build>
+
+  <modules>
+    <module>tp</module>
+    <module>site</module>
+    <module>promotion</module>
+  </modules>
+
+  <profiles>
+    <profile>
+      <id>promote</id>
+      <activation>
+        <property>
+          <name>promote</name>
+          <value>!false</value>
+        </property>
+      </activation>
+      <modules>
+        <module>promotion</module>
+      </modules>
+    </profile>
+  </profiles>
+
+</project>
\ No newline at end of file
diff --git a/maven-bnd/promotion/pom.xml b/maven-bnd/promotion/pom.xml
new file mode 100644
index 0000000..50bd77f
--- /dev/null
+++ b/maven-bnd/promotion/pom.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2022 Eclipse contributors and others.
+
+This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+which accompanies this distribution, and is available at
+https://www.eclipse.org/legal/epl-2.0/
+
+SPDX-License-Identifier: EPL-2.0
+-->
+<project
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.eclipse.oomph.maven-bnd</groupId>
+    <artifactId>org.eclipse.oomph.maven-bnd.parent</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <relativePath>..</relativePath>
+  </parent>
+
+  <groupId>org.eclipse.oomph.maven-bnd</groupId>
+  <artifactId>org.eclipse.oomph.maven.promote</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho.extras</groupId>
+        <artifactId>tycho-eclipserun-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <executionEnvironment>JavaSE-11</executionEnvironment>
+          <dependencies>
+            <dependency>
+              <artifactId>org.eclipse.justj.p2</artifactId>
+              <type>eclipse-plugin</type>
+            </dependency>
+            <dependency>
+              <artifactId>org.apache.felix.scr</artifactId>
+              <type>eclipse-plugin</type>
+            </dependency>
+          </dependencies>
+          <repositories>
+            <repository>
+              <id>eclipse.repo</id>
+              <layout>p2</layout>
+              <url>${eclipse.repo}</url>
+            </repository>
+            <repository>
+              <id>justj.tools.repo</id>
+              <layout>p2</layout>
+              <url>${justj.tools.repo}</url>
+            </repository>
+          </repositories>
+        </configuration>
+        <executions>
+          <execution>
+            <id>promote</id>
+            <goals>
+              <goal>eclipse-run</goal>
+            </goals>
+            <phase>generate-sources</phase>
+            <configuration>
+              <argLine></argLine>
+              <appArgLine>
+                -consoleLog
+                -application org.eclipse.justj.p2.manager
+                -data @None
+                -nosplash
+                ${org.eclipse.justj.p2.manager.args}
+                -retain 5
+                -label "Maven Dependencies for SimRel"
+                -build-url ${org.eclipse.justj.p2.manager.build.url}
+                -root ${project.build.directory}/simrel-maven-bnd-sync
+                -relative ${org.eclipse.justj.p2.manager.relative}
+                -version-iu org.eclipse.oomph.maven.bnd.all.
+                -commit https://git.eclipse.org/c/oomph/org.eclipse.oomph.incubator.git/commit/?id=${git.commit}
+                -target-url https://download.eclipse.org/oomph
+                -promote ${project.basedir}/../site/target/repository
+                -timestamp ${build.timestamp}
+                -type ${build.type}
+                -breadcrumb "Oomph https://projects.eclipse.org/projects/tools.oomph"
+                -mapping simrel-maven->SimRel-Maven
+                -simrel-alias
+                ${org.eclipse.justj.p2.manager.extra.args}
+              </appArgLine>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/maven-bnd/site/category.xml b/maven-bnd/site/category.xml
new file mode 100644
index 0000000..1c67c26
--- /dev/null
+++ b/maven-bnd/site/category.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature id="org.eclipse.oomph.maven.bnd.all"/>
+   <feature id="org.eclipse.oomph.maven.bnd.all.source"/>
+</site>
diff --git a/maven-bnd/site/pom.xml b/maven-bnd/site/pom.xml
new file mode 100644
index 0000000..5cc85c6
--- /dev/null
+++ b/maven-bnd/site/pom.xml
@@ -0,0 +1,31 @@
+<?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>
+	<parent>
+		<groupId>org.eclipse.oomph.maven-bnd</groupId>
+		<artifactId>org.eclipse.oomph.maven-bnd.parent</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+		<relativePath>..</relativePath>
+	</parent>
+
+	<groupId>org.eclipse.oomph.maven-bnd</groupId>
+	<artifactId>org.eclipse.oomph.maven-bnd.site</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-repository</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-repository-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<repositoryName>Oomph SimRel Maven BND</repositoryName>
+					<includeAllDependencies>true</includeAllDependencies>
+					<skipArchive>true</skipArchive>
+					<xzCompress>false</xzCompress>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/maven-bnd/tp/Maven.target b/maven-bnd/tp/Maven.target
new file mode 100644
index 0000000..0303eff
--- /dev/null
+++ b/maven-bnd/tp/Maven.target
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+<target name="MavenBNDSupplement" sequenceNumber="1">
+  <locations>
+    <location includeDependencyDepth="none" includeDependencyScopes="compile" includeSource="true" missingManifest="generate" type="Maven">
+      <feature id="org.eclipse.oomph.maven.bnd.all" label="Oomph Maven BND All" version="4.28.0.qualifier" provider-name="Eclipse Oomph Project">
+        <description>
+This feature's dependencies are pulled direction from Maven central.
+        </description>
+        <copyright>
+Copyright (c) 2023 Eclipse contributors and others.
+
+This program and the accompanying materials
+are made available under the terms of the Eclipse Public License 2.0
+which accompanies this distribution, and is available at
+https://www.eclipse.org/legal/epl-2.0/
+
+SPDX-License-Identifier: EPL-2.0
+        </copyright>
+        <license url="https://www.eclipse.org/legal/epl-2.0/">Eclipse Foundation Software User Agreement
+
+November 22, 2017
+
+Usage Of Content
+
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;). USE OF
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU
+MAY NOT USE THE CONTENT.
+
+Applicable Licenses
+
+Unless otherwise indicated, all Content made available by the Eclipse Foundation
+is provided to you under the terms and conditions of the Eclipse Public License
+Version 2.0 (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also
+available at http://www.eclipse.org/legal/epl-2.0. For purposes of the EPL,
+&quot;Program&quot; will mean the Content.
+
+Content includes, but is not limited to, source code, object code, documentation
+and other files maintained in the Eclipse Foundation source code repository
+(&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as
+downloadable archives (&quot;Downloads&quot;).
+
+-   Content may be structured and packaged into modules to facilitate
+    delivering, extending, and upgrading the Content. Typical modules may
+    include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and
+    features (&quot;Features&quot;).
+-   Each Plug-in or Fragment may be packaged as a sub-directory or JAR
+    (Java&#x2122; ARchive) in a directory named &quot;plugins&quot;.
+-   A Feature is a bundle of one or more Plug-ins and/or Fragments and
+    associated material. Each Feature may be packaged as a sub-directory in a
+    directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may
+    contain a list of the names and version numbers of the Plug-ins and/or
+    Fragments associated with that Feature.
+-   Features may also include other Features (&quot;Included Features&quot;). Within a
+    Feature, files named &quot;feature.xml&quot; may contain a list of the names and
+    version numbers of Included Features.
+
+The terms and conditions governing Plug-ins and Fragments should be contained in
+files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features
+and Included Features should be contained in files named &quot;license.html&quot;
+(&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any
+directory of a Download or Module including, but not limited to the following
+locations:
+
+-   The top-level (root) directory
+-   Plug-in and Fragment directories
+-   Inside Plug-ins and Fragments packaged as JARs
+-   Sub-directories of the directory named &quot;src&quot; of certain Plug-ins
+-   Feature directories
+
+Note: if a Feature made available by the Eclipse Foundation is installed using
+the Provisioning Technology (as defined below), you must agree to a license
+(&quot;Feature Update License&quot;) during the installation process. If the Feature
+contains Included Features, the Feature Update License should either provide you
+with the terms and conditions governing the Included Features or inform you
+where you can locate them. Feature Update Licenses may be found in the &quot;license&quot;
+property of files named &quot;feature.properties&quot; found within a Feature. Such
+Abouts, Feature Licenses, and Feature Update Licenses contain the terms and
+conditions (or references to such terms and conditions) that govern your use of
+the associated Content in that directory.
+
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
+
+-   Eclipse Public License Version 1.0 (available at
+    http://www.eclipse.org/legal/epl-v10.html)
+-   Eclipse Distribution License Version 1.0 (available at
+    http://www.eclipse.org/licenses/edl-v1.0.html)
+-   Common Public License Version 1.0 (available at
+    http://www.eclipse.org/legal/cpl-v10.html)
+-   Apache Software License 1.1 (available at
+    http://www.apache.org/licenses/LICENSE)
+-   Apache Software License 2.0 (available at
+    http://www.apache.org/licenses/LICENSE-2.0)
+-   Mozilla Public License Version 1.1 (available at
+    http://www.mozilla.org/MPL/MPL-1.1.html)
+
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO
+USE OF THE CONTENT. If no About, Feature License, or Feature Update License is
+provided, please contact the Eclipse Foundation to determine what terms and
+conditions govern that particular Content.
+
+Use of Provisioning Technology
+
+The Eclipse Foundation makes available provisioning software, examples of which
+include, but are not limited to, p2 and the Eclipse Update Manager
+(&quot;Provisioning Technology&quot;) for the purpose of allowing users to install
+software, documentation, information and/or other materials (collectively
+&quot;Installable Software&quot;). This capability is provided with the intent of allowing
+such users to install, extend and update Eclipse-based products. Information
+about packaging Installable Software is available at
+http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).
+
+You may use Provisioning Technology to allow other parties to install
+Installable Software. You shall be responsible for enabling the applicable
+license agreements relating to the Installable Software to be presented to, and
+accepted by, the users of the Provisioning Technology in accordance with the
+Specification. By using Provisioning Technology in such a manner and making it
+available in accordance with the Specification, you further acknowledge your
+agreement to, and the acquisition of all necessary rights to permit the
+following:
+
+1.  A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may
+    execute the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the
+    intent of installing, extending or updating the functionality of an
+    Eclipse-based product.
+2.  During the Provisioning Process, the Provisioning Technology may cause third
+    party Installable Software or a portion thereof to be accessed and copied to
+    the Target Machine.
+3.  Pursuant to the Specification, you will provide to the user the terms and
+    conditions that govern the use of the Installable Software (&quot;Installable
+    Software Agreement&quot;) and such Installable Software Agreement shall be
+    accessed from the Target Machine in accordance with the Specification. Such
+    Installable Software Agreement must inform the user of the terms and
+    conditions that govern the Installable Software and must solicit acceptance
+    by the end user in the manner prescribed in such Installable
+    Software Agreement. Upon such indication of agreement by the user, the
+    provisioning Technology will complete installation of the
+    Installable Software.
+
+Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country&apos;s laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the
+United States, other countries, or both.</license>
+      </feature>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.lucene</groupId>
+          <artifactId>lucene-analysis-common</artifactId>
+          <version>9.5.0</version>
+          <type>jar</type>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.lucene</groupId>
+          <artifactId>lucene-core</artifactId>
+          <version>9.5.0</version>
+          <type>jar</type>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.lucene</groupId>
+          <artifactId>lucene-queries</artifactId>
+          <version>9.5.0</version>
+          <type>jar</type>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.lucene</groupId>
+          <artifactId>lucene-queryparser</artifactId>
+          <version>9.5.0</version>
+          <type>jar</type>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.lucene</groupId>
+          <artifactId>lucene-sandbox</artifactId>
+          <version>9.5.0</version>
+          <type>jar</type>
+        </dependency>
+        <dependency>
+          <groupId>org.mockito</groupId>
+          <artifactId>mockito-inline</artifactId>
+          <version>4.11.0</version>
+          <type>jar</type>
+        </dependency>
+      </dependencies>
+      <instructions><![CDATA[
+Bundle-Name:           Bundle ${mvnGroupId} : ${mvnArtifactId}
+version:               ${version_cleanup;${mvnVersion}}
+Bundle-SymbolicName:   ${mvnGroupId}.${mvnArtifactId}
+Bundle-Version:        ${version}
+Import-Package:        *
+Export-Package:        *;version="${version}";-noimport:=true
+DynamicImport-Package: *
+-noextraheaders:       true
+]]></instructions>
+    </location>
+  </locations>
+</target>
\ No newline at end of file
diff --git a/maven-bnd/tp/pom.xml b/maven-bnd/tp/pom.xml
new file mode 100644
index 0000000..4d1e56c
--- /dev/null
+++ b/maven-bnd/tp/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright (c) 2017 Eike Stepper (Loehne, Germany) and others.
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License v2.0
+  which accompanies this distribution, and is available at
+  http://www.eclipse.org/legal/epl-v20.html
+
+  Contributors:
+    Eike Stepper - initial API and implementation
+-->
+<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>
+  <parent>
+    <groupId>org.eclipse.oomph.maven-bnd</groupId>
+    <artifactId>org.eclipse.oomph.maven-bnd.parent</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <relativePath>..</relativePath>
+  </parent>
+  <groupId>org.eclipse.oomph.maven-bnd</groupId>
+  <artifactId>org.eclipse.oomph.maven-bnd.tp</artifactId>
+  <packaging>eclipse-target-definition</packaging>
+</project>