-
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
Jan 29, 2024
1 parent
8c9ab17
commit 6d6764a
Showing
2,638 changed files
with
80,030 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,176 @@ | ||
<!DOCTYPE html> | ||
|
||
|
||
<!-- | ||
| Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/markdown/BndBuild.md at 2024-01-29 | ||
| 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-01-29<span class="divider">|</span> | ||
</li> | ||
<li id="projectVersion">Version: 4.0.5</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">Tycho</li> | ||
<li><a href="index.html" title="Introduction"><span class="none"></span>Introduction</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="none"></span>BND Workspace and Pomless Builds</a></li> | ||
<li><a href="PackagingTypes.html" title="Packaging Types"><span class="none"></span>Packaging Types</a></li> | ||
<li><a href="TargetPlatform.html" title="Target Platform"><span class="none"></span>Target Platform</a></li> | ||
<li><a href="TestingBundles.html" title="Testing Bundles"><span class="none"></span>Testing Bundles</a></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="none"></span>Creating update sites using category.xml</a></li> | ||
<li><a href="target-platform-configuration/plugin-info.html" title="Target Platform Configuration"><span class="none"></span>Target Platform Configuration</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-packaging-plugin/plugin-info.html" title="Packaging Plugin"><span class="none"></span>Packaging Plugin</a></li> | ||
<li><a href="tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin"><span class="none"></span>Surefire 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-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin"><span class="none"></span>p2 Repository 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-source-plugin/plugin-info.html" title="Source Plugin"><span class="none"></span>Source 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-versions-plugin/plugin-info.html" title="Versions Plugin"><span class="none"></span>Versions Plugin</a></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">Tycho Extras</li> | ||
<li><a href="tycho-extras/index.html" title="Introduction"><span class="none"></span>Introduction</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-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-eclipserun-plugin/plugin-info.html" title="Eclipserun Plugin"><span class="none"></span>Eclipserun 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 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.