Skip to content

Commit

Permalink
Add documentation for 4.0.6 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Christoph Läubrich committed Feb 17, 2024
1 parent c3541f7 commit a9adfb0
Show file tree
Hide file tree
Showing 2,678 changed files with 84,405 additions and 1 deletion.
188 changes: 188 additions & 0 deletions doc/4.0.6/BndBuild.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
<!DOCTYPE html>


<!--
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/BndBuild.md at 2024-02-17
| Rendered using Apache Maven Fluido Skin 1.11.1
-->
<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" />
<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>
</head>
<body class="topBarDisabled">
<div class="container-fluid">
<header>
<div id="banner">
<div class="pull-left"><div id="bannerLeft"><h1>Tycho</h1>
</div>
</div>
<div class="pull-right"></div>
<div class="clear"><hr/></div>
</div>

<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2024-02-17<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 4.0.6</li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<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 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>
</ul></li>
<li><a href="PackagingTypes.html" title="Packaging Types"><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>
</ul></li>
<li><a href="TargetPlatform.html" title="Target Platform"><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>
</ul></li>
<li><a href="TestingBundles.html" title="Testing Bundles"><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>
</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>
<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>
</ul></li>
<li><a href="" title="Properties"><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>
</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 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>
</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>
</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>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p>&#169; 2008&#x2013;2024
<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 a9adfb0

Please sign in to comment.