forked from bndtools/bndtools.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdevelopment.html
174 lines (157 loc) · 9.38 KB
/
development.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
167
168
169
170
171
172
173
174
<!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>Bndtools Developer Guide</h1>
<p>Guide to checking out and building Bndtools from source.</p>
</div>
<h1 id="TOC">Table of Contents</h1><ul>
<li><a href="#building-bndtools"><span class="toc-section-number">1</span> Building Bndtools</a></li>
<li><a href="#checking-out-from-github"><span class="toc-section-number">2</span> Checking Out from GitHub</a></li>
<li><a href="#building-with-bndant"><span class="toc-section-number">3</span> Building With bnd/ANT</a></li>
<li><a href="#importing-into-eclipse"><span class="toc-section-number">4</span> Importing Into Eclipse</a></li>
<li><a href="#launching-bndtools-from-eclipse"><span class="toc-section-number">5</span> Launching Bndtools from Eclipse</a></li>
</ul>
<p><strong>This page is a tutorial for developers wishing to customise and enhance Bndtools itself.</strong> For general documentation please refer to the <a href="./tutorial.html" title="Bndtools Tutorial">Tutorial</a>.</p>
<h1 id="building-bndtools"><a href="#TOC"><span class="header-section-number">1</span> Building Bndtools</a></h1>
<p>Bndtools is built with Bndtools! If you want to work on the bndtools source code, you have two options:</p>
<ul>
<li>Install the current public release of bndtools from the <a href="http://marketplace.eclipse.org/" title="Eclipse Marketplace">Eclipse Marketplace</a> and start working straight away.</li>
<li>Build Bndtools from the command line using bnd (with ANT), then install the build results into your Eclipse IDE.</li>
</ul>
<h1 id="checking-out-from-github"><a href="#TOC"><span class="header-section-number">2</span> Checking Out from GitHub</a></h1>
<p>First check out the source code from GitHub as follows:</p>
<pre><code>git clone git://github.com/bndtools/bndtools.git</code></pre>
<p>If you have Bndtools installed in your Eclipse IDE already (e.g. using Marketplace) then skip to <strong>Importing Into Eclipse</strong> below. Otherwise read on…</p>
<h1 id="building-with-bndant"><a href="#TOC"><span class="header-section-number">3</span> Building With bnd/ANT</a></h1>
<p>Assuming you have Apache ANT (version 1.7 or better) installed, you can build bndtools from the command line by changing to the <code>bndtools.build</code> directory and typing:</p>
<pre><code>ant build p2</code></pre>
<p>After a minute or two, a directory named <code>generated/p2</code> will appear. This contains an Eclipse Update Site that you can use to install bndtools from the code you have just built.</p>
<p>To install from the generated Update Site, open the Help menu in Eclipse and select “Install New Software”. In the update dialog, click the “Add” button (near the top left) and then click the “Local” button. Browse to the location of the <code>bndtools.build/generated/p2</code> directory that you just built. Then set the name of this update site to “Bndtools Local Snapshot” (or whatever you like, it’s not really important so long as you enter <em>something</em>). Click “OK”.</p>
<p>Back in the update dialog, Bndtools will appear in the category list. Place a check next to it and click Next. Drive the rest of the wizard to completion… congratulations, you have just built and installed bndtools!</p>
<h1 id="importing-into-eclipse"><a href="#TOC"><span class="header-section-number">4</span> Importing Into Eclipse</a></h1>
<p>Now you have Bndtools installed in your Eclipse IDE, you can import the bndtools projects into Eclipse to begin working on the source code.</p>
<p>Open the File menu and select “Import” and then “Existing Projects into Workspace” (under the General category). Click “Next”. Click the “Browse” button (top right) and select the root directory of the bndtools projects.</p>
<p>Ensure that all the following projects are checked:</p>
<ul>
<li><code>cnf</code></li>
<li><code>bndtools.bndplugins</code></li>
<li><code>bndtools.core</code></li>
<li><code>bndtools.jareditor</code></li>
<li><code>bndtools.build</code></li>
<li><code>bndtools.manual</code></li>
<li><code>bndtools.release</code></li>
<li><code>bndtools.repository.base</code></li>
</ul>
<p>NB: These projects must all be in the same directory!</p>
<p>Click “Finish”… Eclipse will start to import and build the projects. <strong>If you see a dialog during the import prompting you to “Create a Bnd Configuration Project” click CANCEL.</strong></p>
<p>You should now have all the bndtools projects in your workspace, ready to begin hacking!</p>
<h1 id="launching-bndtools-from-eclipse"><a href="#TOC"><span class="header-section-number">5</span> Launching Bndtools from Eclipse</a></h1>
<p>To launch bndtools from Eclipse (e.g. to try out a change to debug), use one of the <code>.bndrun</code> files from the <code>bndtools.core</code> project. There are three launchers, one per architecture, i.e.:</p>
<ul>
<li><code>bndtools.cocoa.macosx.x86_64.bndrun</code> for running on Mac OS X (64-bit Intel x86)</li>
<li><code>bndtools.gtk.linux.x86.bndrun</code> for running on Linux (32-bit Intel x86).</li>
<li><code>bndtools.win32.x86.bndrun</code> for running on Win32 (XP, Vista etc).</li>
</ul>
<p>Right click on the file that matches your computer’s architecture and select “Run As” > “OSGi Run”. If none of these files matches the architecture you want to run on, then please create a new one and submit it back as a patch.</p>
</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>