blob: e2caaf035f087aa8fa9c840930f95dbff2db7bdd [file] [log] [blame]
Pierre De Rop3a00a212015-03-01 09:27:46 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18Welcome to Apache Felix Dependency Manager
19==========================================
20
21Apache Felix Dependency Manager is a versatile java API, allowing to declaratively
22register, acquire, and manage dynamic OSGi services.
23
Pierre De Rop342c2002016-02-01 10:16:56 +000024In addition to the original DM API, a new DM-lambda library also allows to define
25OSGI components using a fluent, concise, and more type-safe API, based on java8 lambdas.
26
Pierre De Rop3a00a212015-03-01 09:27:46 +000027Building and testing Apache Felix Dependency Manager
28====================================================
29
30** Compilation Using gradle:
31
32- If necessary, configure your https proxy settings:
33
34 export GRADLE_OPTS="-Dhttps.proxyHost=www.somehost.org -Dhttps.proxyPort=8080"
35
36- If you are building a released org.apache.felix.dependencymanager-r<n>-src.zip artifact, then
37 you also have to unfold the org.apache.felix.dependencymanager-r<n>-deps.zip on the same directory where you have unfolded the source archive.
38 (no need to do this if you have checked out from the felix-trunk).
39
Pierre De Rop342c2002016-02-01 10:16:56 +000040- Install java8.
Pierre De Rop3a00a212015-03-01 09:27:46 +000041
42- Compile Dependendency Manager annotations bndtools plugin:
43
44$ ./gradlew org.apache.felix.dependencymanager.annotation:jar
45
46- Compile all other bundles:
47
48$ ./gradlew jar
49
50- run junit tests:
51
52$ ./gradlew test
53
54- run integration tests:
55
56$ ./gradlew check
57
58** Compilation Using Eclipse:
59
Pierre De Rop342c2002016-02-01 10:16:56 +000060- Install latest Eclipse Mars, and configure a JRE for java8:
Pierre De Rop3a00a212015-03-01 09:27:46 +000061
62* go to Windows -> Preferences -> Java -> Installed JREs
Pierre De Rop342c2002016-02-01 10:16:56 +000063* Then add a java8 JRE of your choice.
Pierre De Rop3a00a212015-03-01 09:27:46 +000064
Pierre De Ropa2912162015-11-22 18:43:28 +000065- Install BndTools 3.0.0
66
Pierre De Rop3a00a212015-03-01 09:27:46 +000067- Open BndTools perspective
Pierre De Ropa2912162015-11-22 18:43:28 +000068
Pierre De Rop3a00a212015-03-01 09:27:46 +000069- Import Dependency Manager into Eclipse, and compile everything
Pierre De Ropa2912162015-11-22 18:43:28 +000070
Pierre De Rop3a00a212015-03-01 09:27:46 +000071- if it's the first time you import the project into eclipse, it may happen that some modules that requires the
72Dependency Manager Annotations bnd plugin don't compile: It's a know issue. To work around, restart eclipse and
73rebuild every modules.
Pierre De Ropa2912162015-11-22 18:43:28 +000074
Pierre De Rop3a00a212015-03-01 09:27:46 +000075- Click on org.apache.felix.dependencymanager project and run it as "JUnit test".
Pierre De Ropa2912162015-11-22 18:43:28 +000076
Pierre De Rop3a00a212015-03-01 09:27:46 +000077- Click on org.apache.felix.dependencymanager.shell and run it as "JUnit test"
Pierre De Ropa2912162015-11-22 18:43:28 +000078
Pierre De Rop3a00a212015-03-01 09:27:46 +000079- Click on org.apache.felix.dependencymanager.itest and run it as "Bnd OSGi Test Launcer (Junit)".
Pierre De Ropa2912162015-11-22 18:43:28 +000080
Pierre De Rop3a00a212015-03-01 09:27:46 +000081- Click on org.apache.felix.dependencymanager.runtime.itest and run it as ""Bnd OSGi Test Launcer (Junit)".
82
83Getting Started
84===============
85
86To start using Apache Felix Dependency Manager, please go to our website and read the
87getting started guide for users:
88
89 http://felix.apache.org/documentation/subprojects/apache-felix-dependency-manager.html
90
91Many examples are also available from the dependency manager samples module.
92See ./org.apache.felix.dependencymanager.samples/README.samples
93
94Many thanks for using Apache Felix Dependency Manager.
95
96The Felix Team