Skip to content

Commit

Permalink
Merge pull request #213 from chrisrueger/oomph-setups
Browse files Browse the repository at this point in the history
Add Oomph setups links and improve Installation and Developer Guide
  • Loading branch information
chrisrueger authored Sep 22, 2024
2 parents 3d81835 + 0fbe054 commit 61423a5
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 45 deletions.
30 changes: 30 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,36 @@ To run Jekyll locally:

$ ./run.sh

## Setup local docs development environment (MacOS)

If just running `./run.sh` doesn't work out of the box, then most likely you have the wrong ruby version.
This installation requires something like ruby 2.7.8

Consider doing the following:

- Install rbenv Ruby Version manager https://github.com/rbenv/rbenv e.g. via brew
- and then use it to install and use e.g. ruby 2.7.8

```
brew install rbenv
rbenv init
rbenv install 2.7.8
rbenv global 2.7.8
# or rbenv local 2.7.8
./run.sh
```

After a successfull start of `./run.sh` you see this:

```
Server address: http://127.0.0.1:4000
Server running... press ctrl-c to stop.
```

Open http://127.0.0.1:4000 in your browser to see the result while developing.
The server does support hot-reload so you should see changes to `.md` files immediately without restart (there are a few exceptions). Checkout the [jekyll-docs](https://jekyllrb.com/docs/pages/) to get more into the details and features.


## Workflow

We use [git triangular workflow](https://www.sociomantic.com/blog/2014/05/git-triangular-workflow/).
Expand Down
39 changes: 20 additions & 19 deletions _data/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,34 @@ nav:
- divider: true
- title: Documentation
links:
- name: Installation
- name: Getting Started
url: "/installation.html"
- name: Tutorial
url: "/tutorial.html"
- name: Video Tour
url: "/workspace.html"
- name: Concepts
url: "/concepts.html"
- name: Video Tour
url: "/workspace.html"
- name: Tutorial
url: "/tutorial.html"
- name: OSGi with bndtools
url: "/workspace/osgi-starter.html"
- name: FAQ
url: "/faq.html"
- name: The UI
- title: User Interface
links:
- name: Introduction
url: "/manual/about.html"
sublinks:
- name: Bndtools Explorer
url: "/manual/packageexplorer.html"
- name: Repositories View
url: "/manual/repositories-view.html"
- name: Resolution View
url: "/manual/resolution-view.html"
- name: The bnd Editor
url: "/manual/bndeditor.html"
- name: The JAR Viewer
url: "/manual/jareditor.html"
- name: Project Templates
url: "/manual/templates.html"
- name: Bndtools Explorer
url: "/manual/packageexplorer.html"
- name: Repositories View
url: "/manual/repositories-view.html"
- name: Resolution View
url: "/manual/resolution-view.html"
- name: The bnd Editor
url: "/manual/bndeditor.html"
- name: The JAR Viewer
url: "/manual/jareditor.html"
- name: Project Templates
url: "/manual/templates.html"
- title: null
links:
- name: bnd manual
Expand Down
27 changes: 22 additions & 5 deletions development.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,32 @@ author: Neil Bartlett

**This page is a tutorial for developers wishing to customise and enhance Bndtools itself.** For general documentation please refer to the [Tutorial][1].


There are two ways you can setup a development environment for contributing to Bnd/Bndtools:

1. [Building Bndtools](#building-bndtools) manually: Clone git, build and setup Eclipse.
2. or install our [Development Setups](#development-setups) with a pre-configured Eclipse instance

## Building Bndtools

Bndtools is built with Bndtools! If you want to work on the bndtools source code, you have two options:
Bndtools is built with Bndtools! If you want to work on the bndtools source code, you have three options:

* Install the current public release of bndtools from the [Eclipse Marketplace][2] and start working straight away.
* Build Bndtools from the command line, then install the build results into your Eclipse IDE.
* or install one of the pre-configured [development setups](#development-setups)


## Checking Out from GitHub
### Checking Out from GitHub

First check out the source code from GitHub as follows:

git clone git://github.com/bndtools/bnd.git

If you have Bndtools installed in your Eclipse IDE already (e.g. using Marketplace) then skip to **Importing Into Eclipse** below. Otherwise read on...

## Building from the command-line
### Building from the command-line

Read the document `BUILDING-GRADLE.md` to learn how the build works.
Read the document [Contribution to Bnd/Bndtools](https://github.com/bndtools/bnd/blob/master/CONTRIBUTING.md#build-environment) to learn how the build works.

Assuming you have Gradle (version 1.11 or better) installed, you can build bndtools from the command line by changing to the root of your checkout and typing:

Expand All @@ -35,7 +43,7 @@ To install from the generated Update Sites, open the Help menu in Eclipse and se

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!

## Importing Into Eclipse
### Importing Into Eclipse

Now you have Bndtools installed in your Eclipse IDE, you can import the bndtools projects into Eclipse to begin working on the source code.

Expand All @@ -49,6 +57,15 @@ Click "Finish"... Eclipse will start to import and build the projects. **If you

You should now have all the bndtools projects in your workspace, ready to begin hacking!

## Development Setups

We also provide pre-configured setups using Eclipse oomph installer, which help you getting started quickly.
This way you get a dedicated Eclipse instance with pre-installed bndtools source code with a simple one-click installer.

Find our different setups and P2 Repositories at:
<https://bndtools.org/bndtools.p2.repo/>


## Launching Bndtools from Eclipse

To launch bndtools from Eclipse (e.g. to try out a change to debug), use one of the `.bndrun` files from the `bndtools.core` project. There are three launchers, one per architecture, i.e.:
Expand Down
64 changes: 43 additions & 21 deletions installation.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,67 @@
---
title: Install Bndtools 7.0.0
title: Installation & Getting Started with Bndtools 7.0.0
---

There are different flavors you can install Bndtools.

You can install Bndtools via the [Marketplace](#marketplace) or directly install from the [Update Site](#update-site)
## Users: If you just want to use Bndtools for your own projects

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Ry6XNGm7C-k" frameborder="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
- via the [Eclipse Marketplace](#marketplace)
- or directly install into Eclipse from the [Update Site](#update-site)
- another option are [pre-configured Eclipse setups via installer](https://bndtools.org/bndtools.p2.repo/)

To get then started with the [bndtools Workspace model](workspace.html), you can follow some videos that can get you started.
## Developers: If you want to contribute to bndtools

## Enhancements
- Setup source code into your existing Eclipse installation. See our [Bndtools Developer Guide](/development.html)

* Bndtools is built to run on Eclipse 2020-06 or later. So Bndtools 7.0.0 may not run on older versions of Eclipse.
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Ry6XNGm7C-k" frameborder="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

For more complete information on the changes in the Bndtools release, see <https://github.com/bndtools/bnd/wiki#release-notes>.
To get then started with the [bndtools Workspace model](workspace.html), you can follow some videos that can get you started.

## Known Issues

* This release is based on Java 17. This tends to be not noticed for developmet but there are a number of runtime bundles in the distribution that now also have become Java 17 code. This could generate the error during a bndrun launch or with bnd/OSGi testing when the Execution Environment is set to < 17. The easy fix is to set this to 17. If this is impossible, the previous launchers than run on 1.8 can then be used (if they are available in the repositories). Add
```
-runpath \
biz.aQute.launcher;version="[6.4.0,7)", \
biz.aQute.tester.junit-platform;version="[6.4.0,7)"
```
## Marketplace

The recommended way to install Bndtools via the [Eclipse Marketplace](https://marketplace.eclipse.org/content/bndtools).

<a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=1220" class="drag" title="Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client"><img typeof="foaf:Image" class="img-responsive" src="https://marketplace.eclipse.org/sites/all/themes/solstice/public/images/marketplace/btn-install.png" alt="Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client" /></a>
<a href="https://marketplace.eclipse.org/marketplace-client-intro?mpc_install=1220" class="drag" title="Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client">
<img style="width:80px;" typeof="foaf:Image" class="img-responsive" src="https://marketplace.eclipse.org/modules/custom/eclipsefdn/eclipsefdn_marketplace/images/btn-install.svg" alt="Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client" />
</a>

## Update Site

* From the Help menu select `Install New Software...`
* When the dialog opens, click the `Add...` button near the top-right.
* In the Name field enter `Bndtools`. In the Location field enter one of the the following URLs
* In the Name field enter `Bndtools`. In the Location field enter one of the the following P2 Repository URLs

| Type |URL |
|----------------------------|-------------------------------------------------------|
| Latest stable release | https://bndtools.jfrog.io/bndtools/update-latest |
| Latest release candidate | https://bndtools.jfrog.io/bndtools/update-rc |
| Latest build snapshot | https://bndtools.jfrog.io/bndtools/update-snapshot |
| Type |URL |alt. URL|
|----------------------------|-------------------------------------------------------|--|
| Latest stable release | `https://bndtools.org/bndtools.p2.repo/7.0.0/` | via [jfrog](https://bndtools.jfrog.io/bndtools/update-latest) |
| Latest release candidate | `https://bndtools.jfrog.io/bndtools/update-rc` ||
| Latest build snapshot | `https://bndtools.jfrog.io/bndtools/update-snapshot` ||

* Press `Next` and then `Finish`, acknowledging the licenses


## Getting Started

To get started with Bnd/Bndtools we recommend:
- the [Concepts](concepts.html) behind bndtools
- our [Video Tour](/workspace.html)
- our [Tutorial](tutorial.html) building a sample application
- and our [Project Templates](/manual/templates.html)

## Release Notes

For more complete information on the changes in the Bndtools release, see <https://github.com/bndtools/bnd/wiki#release-notes>.


## Known Issues

* Bndtools is built to run on Eclipse 2020-06 or later. So Bndtools 7.0.0 may not run on older versions of Eclipse.

* This release is based on Java 17. This tends to be not noticed for developmet but there are a number of runtime bundles in the distribution that now also have become Java 17 code. This could generate the error during a bndrun launch or with bnd/OSGi testing when the Execution Environment is set to < 17. The easy fix is to set this to 17. If this is impossible, the previous launchers than run on 1.8 can then be used (if they are available in the repositories). Add
```
-runpath \
biz.aQute.launcher;version="[6.4.0,7)", \
biz.aQute.tester.junit-platform;version="[6.4.0,7)"
```

0 comments on commit 61423a5

Please sign in to comment.