-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Christoph Läubrich
committed
Feb 17, 2024
1 parent
c3541f7
commit a9adfb0
Showing
2,678 changed files
with
84,405 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 – 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><?xml version="1.0" encoding="UTF-8"?> | ||
<extensions> | ||
<extension> | ||
<groupId>org.eclipse.tycho</groupId> | ||
<artifactId>tycho-build</artifactId> | ||
<version>${tycho-version}</version> | ||
</extension> | ||
</extensions> | ||
</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>© 2008–2024 | ||
<a href="https://www.eclipse.org/">Eclipse Foundation</a> | ||
</p> | ||
</div> | ||
</div> | ||
</footer> | ||
<script> | ||
if(anchors) { | ||
anchors.add(); | ||
} | ||
</script> | ||
</body> | ||
</html> |
Oops, something went wrong.