Skip to content

Commit

Permalink
Update sitedocs for branch main
Browse files Browse the repository at this point in the history
  • Loading branch information
eclipse-tycho-bot committed Aug 21, 2024
1 parent 1de49af commit 78b5a7e
Show file tree
Hide file tree
Showing 517 changed files with 52,073 additions and 34,881 deletions.
168 changes: 46 additions & 122 deletions doc/main/BndBuild.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,32 @@


<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/BndBuild.md at 2024-08-16
| Rendered using Apache Maven Fluido Skin 1.11.1
| Generated by Apache Maven Doxia Site Renderer 2.0.0-M19 from src/site/markdown/BndBuild.md at 2024-08-21
| Rendered using Apache Maven Fluido Skin 2.0.0-M10
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
<title>Tycho &#x2013; BND Workspace Layout and Pomless Builds</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.11.1.min.css" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M19" />
<title>BND Workspace Layout and Pomless Builds – Tycho</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M10.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script src="./js/apache-maven-fluido-1.11.1.min.js"></script>
<script src="./js/apache-maven-fluido-2.0.0-M10.min.js"></script>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<body>
<div class="container-fluid container-fluid-top">
<header>
<div id="banner">
<div class="pull-left"><div id="bannerLeft"><h1>Tycho</h1>
</div>
</div>
<div class="pull-left"></div>
<div class="pull-right"></div>
<div class="clear"><hr/></div>
</div>

<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2024-08-16<span class="divider">|</span>
<li id="publishDate">Last Published: 2024-08-21<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 5.0.0-SNAPSHOT</li>
</ul>
Expand All @@ -40,150 +38,76 @@
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">Using Tycho</li>
<li><a href="index.html" title="Overview"><span class="none"></span>Overview</a></li>
<li><a href="StructuredBuild.html" title="Structured Build Layout and Pomless Builds"><span class="none"></span>Structured Build Layout and Pomless Builds</a></li>
<li><a href="index.html">Overview</a></li>
<li><a href="StructuredBuild.html">Structured Build Layout and Pomless Builds</a></li>
<li class="active"><a><span class="icon-chevron-down"></span>BND Workspace and Pomless Builds</a>
<ul class="nav nav-list">
<li><a href="tycho-bnd-plugin/plugin-info.html" title="Tycho BND Plugin"><span class="none"></span>Tycho BND Plugin</a></li>
<li><a href="tycho-bnd-plugin/plugin-info.html">Tycho BND Plugin</a></li>
</ul></li>
<li><a href="PackagingTypes.html" title="Packaging Types"><span class="icon-chevron-down"></span>Packaging Types</a>
<li><a href="PackagingTypes.html"><span class="icon-chevron-down"></span>Packaging Types</a>
<ul class="nav nav-list">
<li><a href="tycho-packaging-plugin/plugin-info.html" title="Tycho Packaging Plugin"><span class="none"></span>Tycho Packaging Plugin</a></li>
<li><a href="tycho-packaging-plugin/plugin-info.html">Tycho Packaging Plugin</a></li>
</ul></li>
<li><a href="TargetPlatform.html" title="Target Platform"><span class="icon-chevron-down"></span>Target Platform</a>
<li><a href="TargetPlatform.html"><span class="icon-chevron-down"></span>Target Platform</a>
<ul class="nav nav-list">
<li><a href="target-platform-configuration/plugin-info.html" title="Target Platform Configuration Plugin"><span class="none"></span>Target Platform Configuration Plugin</a></li>
<li><a href="tycho-extras/target-platform-validation-plugin/plugin-info.html" title="Target Platform Validation Plugin"><span class="none"></span>Target Platform Validation Plugin</a></li>
<li><a href="tycho-extras/tycho-version-bump-plugin/update-target-mojo.html" title="Update Target Platform Mojo"><span class="none"></span>Update Target Platform Mojo</a></li>
<li><a href="target-platform-configuration/plugin-info.html">Target Platform Configuration Plugin</a></li>
<li><a href="tycho-extras/target-platform-validation-plugin/plugin-info.html">Target Platform Validation Plugin</a></li>
<li><a href="tycho-extras/tycho-version-bump-plugin/update-target-mojo.html">Update Target Platform Mojo</a></li>
</ul></li>
<li><a href="TestingBundles.html" title="Testing Bundles"><span class="icon-chevron-down"></span>Testing Bundles</a>
<li><a href="TestingBundles.html"><span class="icon-chevron-down"></span>Testing Bundles</a>
<ul class="nav nav-list">
<li><a href="tycho-surefire-plugin/plugin-info.html" title="Tycho Surefire Plugin"><span class="none"></span>Tycho Surefire Plugin</a></li>
<li><a href="tycho-surefire-plugin/plugin-info.html">Tycho Surefire Plugin</a></li>
</ul></li>
<li><a href="TychoCiFriendly.html" title="Tycho CI Friendly Versions"><span class="none"></span>Tycho CI Friendly Versions</a></li>
<li><a href="Category.html" title="Creating update sites using category.xml"><span class="icon-chevron-down"></span>Creating update sites using category.xml</a>
<li><a href="TychoCiFriendly.html">Tycho CI Friendly Versions</a></li>
<li><a href="Category.html"><span class="icon-chevron-down"></span>Creating update sites using category.xml</a>
<ul class="nav nav-list">
<li><a href="tycho-p2-repository-plugin/plugin-info.html" title="Tycho P2 Repository Plugin"><span class="none"></span>Tycho P2 Repository Plugin</a></li>
<li><a href="tycho-p2-repository-plugin/plugin-info.html">Tycho P2 Repository Plugin</a></li>
</ul></li>
<li><a href="" title="Properties"><span class="icon-chevron-down"></span>Properties</a>
<li><a><span class="icon-chevron-down"></span>Properties</a>
<ul class="nav nav-list">
<li><a href="BuildProperties.html" title="Build Properties"><span class="none"></span>Build Properties</a></li>
<li><a href="SystemProperties.html" title="System Properties"><span class="none"></span>System Properties</a></li>
<li><a href="TychoProperties.html" title="Tycho Properties"><span class="none"></span>Tycho Properties</a></li>
<li><a href="BuildProperties.html">Build Properties</a></li>
<li><a href="SystemProperties.html">System Properties</a></li>
<li><a href="TychoProperties.html">Tycho Properties</a></li>
</ul></li>
<li class="nav-header">Other Tycho Plugins</li>
<li><a href="tycho-baseline-plugin/plugin-info.html" title="Baseline Plugin"><span class="none"></span>Baseline Plugin</a></li>
<li><a href="tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin"><span class="none"></span>Compiler Plugin</a></li>
<li><a href="tycho-ds-plugin/plugin-info.html" title="Declarative Services Plugin"><span class="none"></span>Declarative Services Plugin</a></li>
<li><a href="tycho-extras/tycho-document-bundle-plugin/plugin-info.html" title="Document Bundle Plugin"><span class="none"></span>Document Bundle Plugin</a></li>
<li><a href="tycho-eclipse-plugin/plugin-info.html" title="Eclipse Plugin"><span class="none"></span>Eclipse Plugin</a></li>
<li><a href="tycho-gpg-plugin/plugin-info.html" title="GPG Signature Plugin"><span class="none"></span>GPG Signature Plugin</a></li>
<li><a href="tycho-p2-director-plugin/plugin-info.html" title="P2 Director Plugin"><span class="none"></span>P2 Director Plugin</a></li>
<li><a href="tycho-p2-plugin/plugin-info.html" title="P2 Metadata Plugin"><span class="none"></span>P2 Metadata Plugin</a></li>
<li><a href="tycho-p2-publisher-plugin/plugin-info.html" title="P2 Publisher Plugin"><span class="none"></span>P2 Publisher Plugin</a></li>
<li><a href="tycho-extras/tycho-p2-extras-plugin/plugin-info.html" title="P2 Extras Plugin"><span class="none"></span>P2 Extras Plugin</a></li>
<li><a href="tycho-apitools-plugin/plugin-info.html" title="PDE API Tools Plugin"><span class="none"></span>PDE API Tools Plugin</a></li>
<li><a href="tycho-source-plugin/plugin-info.html" title="Source Plugin"><span class="none"></span>Source Plugin</a></li>
<li><a href="tycho-versions-plugin/plugin-info.html" title="Versions Plugin"><span class="none"></span>Versions Plugin</a></li>
<li><a href="tycho-baseline-plugin/plugin-info.html">Baseline Plugin</a></li>
<li><a href="tycho-compiler-plugin/plugin-info.html">Compiler Plugin</a></li>
<li><a href="tycho-ds-plugin/plugin-info.html">Declarative Services Plugin</a></li>
<li><a href="tycho-extras/tycho-document-bundle-plugin/plugin-info.html">Document Bundle Plugin</a></li>
<li><a href="tycho-eclipse-plugin/plugin-info.html">Eclipse Plugin</a></li>
<li><a href="tycho-gpg-plugin/plugin-info.html">GPG Signature Plugin</a></li>
<li><a href="tycho-p2-director-plugin/plugin-info.html">P2 Director Plugin</a></li>
<li><a href="tycho-p2-plugin/plugin-info.html">P2 Metadata Plugin</a></li>
<li><a href="tycho-p2-publisher-plugin/plugin-info.html">P2 Publisher Plugin</a></li>
<li><a href="tycho-extras/tycho-p2-extras-plugin/plugin-info.html">P2 Extras Plugin</a></li>
<li><a href="tycho-apitools-plugin/plugin-info.html">PDE API Tools Plugin</a></li>
<li><a href="tycho-source-plugin/plugin-info.html">Source Plugin</a></li>
<li><a href="tycho-versions-plugin/plugin-info.html">Versions Plugin</a></li>
<li class="nav-header">Project Documentation</li>
<li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li>
<li><a href="project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li>
</ul>
</nav>
<div class="well sidebar-nav">
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</div>
</div>
</header>
<main id="bodyColumn" class="span10" >
<section>
<h2><a name="BND_Workspace_Layout_and_Pomless_Builds"></a>BND Workspace Layout and Pomless Builds</h2>
<p>Tycho supports building projects that use the <b>BND Workspace Layout</b> as <a class="externalLink" href="https://bndtools.org/concepts.html">described here</a>.</p><section>
<h3><a name="BND_Workspace_Layout"></a>BND Workspace Layout</h3>
<p>A BND Workspace layout build layout usually has the following structure:</p>
<ul>

<li><code>root folder</code> - this usually is the root of your project repository (e.g. git)
<ul>

<li><code>cnf</code> - configuration folder for general setup
<ul>

<li><code>build.bnd</code> - main configuration file</li>
<li><code>ext</code> - additional configuration (optional)</li>
</ul>
</li>
<li><code>bundle1</code> - A bundle project
<ul>

<li><code>bnd.bnd</code> - project configuration file</li>
</ul>
</li>
<li><code>bundle2</code> - Another bundle project
<ul>

<li><code>bnd.bnd</code> - project configuration file</li>
</ul>
</li>
<li><code>...</code></li>
</ul>
</li>
</ul>
<p>any folder that do not match the layout is ignored.</p></section><section>
<h3><a name="Pomless_Builds"></a>Pomless Builds</h3>
<p>Given the above layout, Tycho now has a good knowledge about what your build artifacts are.
In contrast to a traditional maven build where each module has to contain a <code>pom.xml</code> file Tycho can derive most all from your supplied bnd configuration files, so everything is configured there and usually no additional maven configuration is required, therefore this build is completely pomless (no pom.xml), there are only a few steps to consider:</p>
<ol style="list-style-type: decimal">

<li>Add a folder called <code>.mvn</code> to the root</li>
<li>Inside the <code>.mvn</code> folder place a file called <code>extensions.xml</code> with the following content:</li>
</ol>

<div class="source"><pre class="prettyprint"><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;extensions&gt;
&lt;extension&gt;
&lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
&lt;artifactId&gt;tycho-build&lt;/artifactId&gt;
&lt;version&gt;${tycho-version}&lt;/version&gt;
&lt;/extension&gt;
&lt;/extensions&gt;
</code></pre></div>
<ol style="list-style-type: decimal">

<li>create a file called <code>maven.config</code> in the <code>.mvn</code> folder with the following content (adjust the version accordingly!):</li>
</ol>

<div class="source"><pre class="prettyprint"><code>-Dtycho-version=3.0.0
</code></pre></div>
<ol style="list-style-type: decimal">

<li>You can now run your build with <code>mvn clean verify</code></li>
</ol>
<p>A runnable demo can be found here:
<a class="externalLink" href="https://github.com/eclipse-tycho/tycho/tree/master/demo/bnd-workspace">https://github.com/eclipse-tycho/tycho/tree/master/demo/bnd-workspace</a></p></section><section>
<h3><a name="Mixed_Builds"></a>Mixed Builds</h3>
<p>You can even combine a BND Workspace and PDE bundles in a build, a runnable demo can be found here:
<a class="externalLink" href="https://github.com/eclipse-tycho/tycho/tree/master/demo/bnd-pde-workspace">https://github.com/eclipse-tycho/tycho/tree/master/demo/bnd-pde-workspace</a></p></section></section>
</main>
<main id="bodyColumn" class="span10">
<section> </main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p>&#169; 2008&#x2013;2024
<p>© 20082024
<a href="https://www.eclipse.org/">Eclipse Foundation</a>
</p>
</div>
</div>
</footer>
<script>
if(anchors) {
anchors.add();
}
</script>
</body>
</html>
Loading

0 comments on commit 78b5a7e

Please sign in to comment.