Skip to content

Commit 0a438bf

Browse files
authored
Merge branch 'master' into add_sourcesFeature
2 parents ec8763e + 5247598 commit 0a438bf

39 files changed

Lines changed: 778 additions & 150 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>org.eclipse.pde.osgitest.dependencies.feature</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.pde.FeatureBuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.pde.FeatureNature</nature>
16+
</natures>
17+
</projectDescription>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
encoding/<project>=UTF-8
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
###############################################################################
2+
# Copyright (c) 2025 Christoph Läubrich and others.
3+
#
4+
# This program and the accompanying materials
5+
# are made available under the terms of the Eclipse Public License 2.0
6+
# which accompanies this distribution, and is available at
7+
# https://www.eclipse.org/legal/epl-2.0/
8+
#
9+
# SPDX-License-Identifier: EPL-2.0
10+
#
11+
# Contributors:
12+
# Christoph Läubrich - initial API and implementation
13+
###############################################################################
14+
bin.includes = feature.properties,\
15+
feature.xml
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
###############################################################################
2+
# Copyright (c) 2025 Christoph Läubrich and others.
3+
#
4+
# This program and the accompanying materials
5+
# are made available under the terms of the Eclipse Public License 2.0
6+
# which accompanies this distribution, and is available at
7+
# https://www.eclipse.org/legal/epl-2.0/
8+
#
9+
# SPDX-License-Identifier: EPL-2.0
10+
#
11+
# Contributors:
12+
# Christoph Läubrich - initial API and implementation
13+
###############################################################################
14+
featureName=OSGi Test Dependencies Feature
15+
providerName=Eclipse.org
16+
description=Feature to consume OSGi Test (https://github.com/osgi/osgi-test/) dependencies in target platforms using an Eclipse Release.
17+
copyright=\
18+
Copyright (c) 2025 Christoph Läubrich and others.\n\
19+
\n\
20+
This program and the accompanying materials\n\
21+
are made available under the terms of the Eclipse Public License 2.0\n\
22+
which accompanies this distribution, and is available at\n\
23+
https://www.eclipse.org/legal/epl-2.0/\n\
24+
\n\
25+
SPDX-License-Identifier: EPL-2.0\n\
26+
\n\
27+
Contributors:\n\
28+
Christoph Läubrich - initial API and implementation\n
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<feature
3+
id="org.eclipse.pde.osgitest.dependencies.feature"
4+
label="%featureName"
5+
version="1.0.0.qualifier"
6+
license-feature="org.eclipse.license"
7+
license-feature-version="0.0.0">
8+
9+
<description url="https://github.com/eclipse-osgi-technology/osgi-test">
10+
%description
11+
</description>
12+
13+
<copyright>
14+
%copyright
15+
</copyright>
16+
17+
<license url="%licenseURL">
18+
%license
19+
</license>
20+
21+
<requires>
22+
<import plugin="org.osgi.test.common"/>
23+
<import plugin="org.osgi.test.junit5"/>
24+
<import plugin="org.osgi.test.junit5.cm"/>
25+
<import plugin="org.osgi.test.junit4"/>
26+
<import plugin="org.osgi.test.assertj.framework"/>
27+
<import plugin="org.osgi.test.assertj.log"/>
28+
<import plugin="org.osgi.test.assertj.promise"/>
29+
</requires>
30+
31+
</feature>

features/org.eclipse.pde.osgitest.dependencies.feature/forceQualifierUpdate.txt

Whitespace-only changes.

features/org.eclipse.pde.spies-feature/feature.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<feature
33
id="org.eclipse.pde.spies"
44
label="%featureName"
5-
version="1.0.700.qualifier"
5+
version="1.0.800.qualifier"
66
provider-name="%providerName"
77
license-feature="org.eclipse.license"
88
license-feature-version="0.0.0">
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added new method to IBuildEntry

ui/org.eclipse.pde.bnd.ui/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
33
Bundle-Name: Generic UI components related to BND
44
Bundle-SymbolicName: org.eclipse.pde.bnd.ui;singleton:=true
55
Bundle-Vendor: Eclipse.org
6-
Bundle-Version: 1.2.200.qualifier
6+
Bundle-Version: 1.2.300.qualifier
77
Bundle-Localization: plugin
88
Export-Package: org.eclipse.pde.bnd.ui.autocomplete;version="1.0.0";x-friends:="org.eclipse.pde.ui",
99
org.eclipse.pde.bnd.ui.plugins;x-internal:=true,

ui/org.eclipse.pde.bnd.ui/README.MD

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ One problem for such a reusable component is that it usually needs to get holds
1818
To mitigate we use the [Eclipse Adapter Pattern](https://www.eclipse.org/articles/Article-Adapters/) as it is widely used in Eclipse, flexible and allows
1919
the use of [OSGi services / Dependency Injection](https://eclipse.dev/eclipse/news/4.18/platform_isv.php#dialog-adapterfactory-as-service) already.
2020

21-
### The IProject adapter
21+
### The `IProject` adapter
2222

2323
Components need to learn the project and workspace of a bndlib backed project, for this the very first step for an integration is to provide an adapter that can
2424
transform an (Eclipse) `IProject` into a (bndlib) `Project` (from were the Workspace then can be derived), an example might look like this:
@@ -46,6 +46,18 @@ public class MyBndPluginAdapter implements IAdapterFactory {
4646
}
4747
```
4848

49+
## The `Resource` Adapter
50+
51+
Some components might want to learn about an (OSGi) `Resource` (e.g. a Bundle) for a particular object.
52+
To support such use-case one should provide an Adapter from tooling specific objects to (OSGi) `Resource`.
53+
54+
For example the previous Adapter might be enhanced to support an adaption from an (Eclipse) `IProject` to an
55+
(OSGi) `Resource` if it represents a bundle and the tolling knows how to transform the specific project metadata into an universal
56+
`Resource` representation. That way it is possible to select the project and show its requirements and
57+
capabilities in the OSGi Resolution View without specific knowledge on how this process works.
58+
59+
### Further Information
60+
4961
Some relevant 'glue' classes for Bnd <-> PDE interaction, to have a look at:
5062

5163
- `org.eclipse.pde.bnd.ui.Central`
@@ -63,6 +75,7 @@ it currently offers these components:
6375

6476
- [bnd templates](https://eclipse.dev/eclipse/news/4.31/pde.php#bndtemplates)
6577
- [osgi repositories view](https://eclipse.dev/eclipse/news/4.32/pde.php#osgirepositories)
78+
- [OSGi Resolution View](https://eclipse.dev/eclipse/markdown/?f=news/4.36/pde.md#new-osgi-resolution-view)
6679
- Formating of bnd files, quick fixes, completion proposals
6780
- ... more to come ...
6881

0 commit comments

Comments
 (0)