forked from bndtools/bndtools.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwhatsnew2-0-0.html
166 lines (149 loc) · 10.1 KB
/
whatsnew2-0-0.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bndtools</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content>
<meta name="author" content>
<!-- Le styles -->
<link href="css/bootstrap.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
.sidebar-nav {
padding: 9px 0;
}
</style>
<!--<link href="css/bootstrap-responsive.css" rel="stylesheet">-->
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="images/favicon.ico">
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="./index.html"><img src="./images/logo-topbar.png"></img></a>
<!--
<div class="btn-group pull-right">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<i class="icon-user"></i> Username
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Profile</a></li>
<li class="divider"></li>
<li><a href="#">Sign Out</a></li>
</ul>
</div>
-->
<div class="nav-collapse">
<ul class="nav">
<li><a href="./index.html">Home</a></li>
<li><a href="./installation.html">Install</a></li>
<li><a href="./tutorial.html">Tutorial</a></li>
<li><a href="./help.html">Get Help</a></li>
<li><a href="./faq.html">FAQ</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span2">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li><a href="./">Home</a></li>
<li><a href="./licence.html">Licence</a></li>
<li><a href="./community.html">Get Involved</a></li>
<li><a href="./training.html">Training</a></li>
<li><a href="./#donate">Donate</a></li>
<li class="divider"></li>
<li class="nav-header">Documentation</li>
<li><a href="./installation.html">Installation</a></li>
<li><a href="./tutorial.html">Tutorial</a></li>
<li><a href="./concepts.html">Concepts Guide</a></li>
<li><a href="./faq.html">FAQ</a></li>
<li><a href="./whatsnew.html">What's New</a></li>
<li class="divider"></li>
<li class="nav-header">Development</h1>
<li><a class="external-left" href="https://github.com/bndtools/bndtools/issues">Bug Reports</a></li>
<li><a class="external-left" href="https://bndtools.ci.cloudbees.com/job/bndtools.master/">Build Status</a></li>
<li><a href="./development.html">Developer Guide</a></li>
<li><a href="./acknowledge.html">Acknowledgements</a></li>
</ul>
</div><!--/.well -->
</div><!--/span-->
<div class="span10">
<div class="hero-unit">
<h1>New in Bndtools 2.0</h1>
<p>Based on bnd 2.0</p>
</div>
<h1 id="TOC">Table of Contents</h1><ul>
<li><a href="#support-for-osgi-r5-resolver"><span class="toc-section-number">1</span> Support for OSGi R5 Resolver</a></li>
<li><a href="#export-as-standalone-executable"><span class="toc-section-number">2</span> Export as Standalone Executable</a></li>
<li><a href="#baselining"><span class="toc-section-number">3</span> Baselining</a></li>
<li><a href="#enhanced-semantic-versioning"><span class="toc-section-number">4</span> Enhanced Semantic Versioning</a></li>
<li><a href="#exported-package-decorations"><span class="toc-section-number">5</span> Exported Package Decorations</a></li>
<li><a href="#improved-incremental-builder"><span class="toc-section-number">6</span> Improved Incremental Builder</a></li>
<li><a href="#support-for-apache-ace"><span class="toc-section-number">7</span> Support for Apache ACE</a></li>
<li><a href="#miscellaneous"><span class="toc-section-number">8</span> Miscellaneous</a></li>
</ul>
<h1 id="support-for-osgi-r5-resolver"><a href="#TOC"><span class="header-section-number">1</span> Support for OSGi R5 Resolver</a></h1>
<p>Bndtools 2.0 integrates the reference implementation of the OSGI Release 5 Resolver specification. We can now create run descriptors based on a very small number of “core” bundles that define our application, and allow all other dependencies to be automatically added through resolution.</p>
<p>This includes not just static dependencies arising from package imports, but also extender bundles (e.g. Declarative Services or Blueprint), service providers, or any arbitrary capability defined with <code>Provide</code>/<code>Require-Capability</code> headers.</p>
<h1 id="export-as-standalone-executable"><a href="#TOC"><span class="header-section-number">2</span> Export as Standalone Executable</a></h1>
<p>A run descriptor (bndrun file) is a description of an application, including all of the bundles and configuration required to run it. Previously these files were only used to launch in testing or debugging mode from Bndtools. However they can now be exported to a standalone executable JAR file, which precisely reproduces the runtime configuration used in testing.</p>
<p>The export feature is available both from the Bndtools GUI and as a bnd command and ANT task.</p>
<h1 id="baselining"><a href="#TOC"><span class="header-section-number">3</span> Baselining</a></h1>
<p>In version 1.0, Bndtools included a Diff and Release tool that compared bundles with their released version in a repository, and suggested the correct versions for the exported packages and the bundle itself. However it was still possible for developers to forget to run the tool, and thereby fail to indicate changes that had been made.</p>
<p>Now, the Diff/Release functionality has been pushed down into bnd and incorporated into the build process. This means that bnd will automatically check versions, and optionally break the build when they do not accurately reflect the changes made in the code. Thus developers can catch errors before checking in code, and/or they can be caught by a continuous integration server.</p>
<h1 id="enhanced-semantic-versioning"><a href="#TOC"><span class="header-section-number">4</span> Enhanced Semantic Versioning</a></h1>
<p>Bnd and Bndtools now support the <code>@ProviderType</code> and <code>@ConsumerType</code> annotations on API interfaces. These define the role of that interface within the service contract, and thus how implementers must be versioned.</p>
<p>For example if a bundle implements an interface annotated with <code>@ProviderType</code>, it is now known to be provider and will import the API using a narrow version range such as <code>[1.0, 1.1)</code>. On the other hand, if our bundle only implements <code>@ConsumerType</code> interfaces then it uses a normal consumer import range e.g. <code>[1.0, 2.0)</code>.</p>
<h1 id="exported-package-decorations"><a href="#TOC"><span class="header-section-number">5</span> Exported Package Decorations</a></h1>
<p>Bndtools 2.0 adds decorators to the Eclipse Package Explorer for exported and excluded packages. These enable you to see at a glance:</p>
<ul>
<li>which packages are exported (i.e. public), along with their version;</li>
<li>which packages are excluded from any bundle in the project.</li>
</ul>
<h1 id="improved-incremental-builder"><a href="#TOC"><span class="header-section-number">6</span> Improved Incremental Builder</a></h1>
<p>In Bndtools 1.0 the incremental project builder was inefficient and intrusive, occasionally even blocking the user from working while it carried out certain tasks. The new builder in 2.0 minimises the work it needs to do by being smarter about dependencies, and as a result is faster and much less intrusive.</p>
<h1 id="support-for-apache-ace"><a href="#TOC"><span class="header-section-number">7</span> Support for Apache ACE</a></h1>
<p>Apache ACE is a software distribution framework that allows you to centrally manage and distribute software components, configuration data and other artifacts to target systems. Bndtools now supports deploying directy to an ACE server from within the IDE.</p>
<h1 id="miscellaneous"><a href="#TOC"><span class="header-section-number">8</span> Miscellaneous</a></h1>
<ul>
<li>Many bug fixes, particularly for bugs affecting Windows users;</li>
<li>Regeneration of bundles on resource changes (i.e. files referenced by <code>Include-Resource</code>);</li>
<li>Support for alternative annotation styles for Declarative Services components, including the standard annotations defined in DS 1.2;</li>
<li>For build and runtime dependencies, the best match from all available repositories is chosen, rather than the first available match;</li>
<li>Support for Java 7 bytecode and Execution Environment;</li>
<li>Validation of <code>Provide-Capability</code> and <code>Require-Capability</code> headers.</li>
</ul>
</div><!--/span-->
</div><!--/row-->
</div><!--/.fluid-container-->
<footer>
<div class="well">
<p>© <a href="mailto:[email protected]">Neil Bartlett</a> 2011. Built with <a href="http://twitter.github.com/bootstrap/">Bootstrap</a> and <a href="http://jaspervdj.be/hakyll/index.html">Hakyll</a>.</p>
</div>
</footer>
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="js/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>