This is an automated email from the ASF dual-hosted git repository.

djencks pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/felix-antora-site.git

commit 7aabe3f48d0dd4572973bfe14af3372ee8d43975
Author: David Jencks <[email protected]>
AuthorDate: Wed Jul 21 16:24:02 2021 -0700

    fix broken links, compliance claim
---
 .../apache-felix-framework/apache-felix-framework-faq.adoc     |  6 +++---
 .../apache-felix-osgi-faq.adoc                                 | 10 ++++++----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git 
a/modules/ROOT/pages/subprojects/apache-felix-framework/apache-felix-framework-faq.adoc
 
b/modules/ROOT/pages/subprojects/apache-felix-framework/apache-felix-framework-faq.adoc
index e67e8e7..c818607 100644
--- 
a/modules/ROOT/pages/subprojects/apache-felix-framework/apache-felix-framework-faq.adoc
+++ 
b/modules/ROOT/pages/subprojects/apache-felix-framework/apache-felix-framework-faq.adoc
@@ -4,15 +4,15 @@
 
 == Is the Felix framework compliant with the OSGi specification?
 
-Refer to the BROKEN_LINK 
xref:subprojects/apache-felix-framework/apache-felix-framework-osgi-r4-2-ct-results[Apache
 Felix Framework OSGi R4.2 CT Results] document.
+Yes.
 
 == If I use bundles from Felix, will my application be tied to the Felix 
framework?
 
-See the answer in the BROKEN_LINK 
xref:subprojects/apache-felix-framework/apache-felix-osgi-faq-felix-dependencies.adoc[OSGi
 FAQ].
+See the answer in the 
xref:tutorials-examples-and-presentations/apache-felix-osgi-faq.adoc#subproject-independence[OSGi
 FAQ].
 
 == When I update my bundle, why are my bundle's old classes still being used?
 
-See the answer in the BROKEN_LINK 
xref:subprojects/apache-felix-framework/apache-felix-osgi-faq-bundle-not-updated.adoc[OSGi
 FAQ].
+See the answer in the 
xref:tutorials-examples-and-presentations/apache-felix-osgi-faq.adoc#bundle-update-visibility[OSGi
 FAQ].
 
 == Why do I get an "Unknown protocol: http" exception when I run Felix on a 
non-Sun JRE?
 
diff --git 
a/modules/ROOT/pages/tutorials-examples-and-presentations/apache-felix-osgi-faq.adoc
 
b/modules/ROOT/pages/tutorials-examples-and-presentations/apache-felix-osgi-faq.adoc
index a5ef4d5..ab55993 100644
--- 
a/modules/ROOT/pages/tutorials-examples-and-presentations/apache-felix-osgi-faq.adoc
+++ 
b/modules/ROOT/pages/tutorials-examples-and-presentations/apache-felix-osgi-faq.adoc
@@ -1,7 +1,7 @@
 = OSGi Frequently Asked Questions
 
 
-
+[#subproject-independence]
 == If I use bundles from Felix, will my application be tied to the Felix 
framework?
 
 No.
@@ -17,6 +17,7 @@ Additionally, due to specification ambiguity, it is possible 
the Felix framework
 if in doubt, file a bug.
 In the future, it is also possible some subprojects may require Felix, but 
they will explicitly state this fact.
 
+[#bundle-update-visibility]
 == When I update my bundle, why are my bundle's old classes still being used?
 
 Updating a bundle does not necessarily cause the new classes to be used 
immediately, it depends on two factors:
@@ -31,7 +32,7 @@ If no other bundles are using the exported packages, then the 
new classes will b
 On the other hand, if any other bundles are using the exported packages, then 
the new classes will *not* become available immediately since the old version 
is still required by any dependent bundles.
 In this case, the new classes will not be made available until 
`PackageAdmin.refreshPackages()` is called (this can be invoked in the Felix 
shell using the `refresh` command).
 
-There is one partial exception to this latter case, it occurs when the 
exporting bundle does *not* also import its own exported packages (see 
"<<should-a-bundle-import-its-own-exported-packages,Should a bundle import its 
own exported packages?>>" below for more information on this topic).
+There is one partial exception to this latter case, it occurs when the 
exporting bundle does *not* also import its own exported packages (see 
"<<import-own-exports,Should a bundle import its own exported packages?>>" 
below for more information on this topic).
 In this case, the new classes become immediately accessible to the updated 
exporting bundle, but not to the dependent bundles;
 the dependent bundles continue to see the old version of the classes.
 This situation generally requires `PackageAdmin.refreshPackages()` to be 
invoked to bring the bundles back to a useful state.
@@ -44,13 +45,13 @@ This is done to reduce disruption when performing several 
updates.
 
 There is no easy answer to this question and it largely depends on the 
specific usage scenario.
 The OSGi specification had originally suggested that it was good practice to 
embed service API packages in the service provider bundle.
-In this case in OSGi R4, the service provider should both 
<<should-a-bundle-import-its-own-exported-packages,export and import>> the 
service API packages, which was the default for previous versions of the OSGi 
specification.
+In this case in OSGi R4, the service provider should both 
<<import-own-exports,export and import>> the service API packages, which was 
the default for previous versions of the OSGi specification.
 
 The OSGi specification never had an explicit stance on whether or not a 
consumer bundle should embed its dependent service API packages;
 although, it would not appear to be a best practice.
 Logically, there is some sense to this approach, since it potentially allows 
the consumer bundle to gracefully handle broken service dependencies.
 Of course, this depends on whether there is anything the bundle can do in the 
face of broken dependencies.
-If service API packages are embedded in the consumer bundle, then it should 
<<should-a-bundle-import-its-own-exported-packages,export and import>> the 
packages.
+If service API packages are embedded in the consumer bundle, then it should 
<<import-own-exports,export and import>> the packages.
 An alternative approach in this case is to dynamically import the service API 
(or even use optional imports if the dependency should only be considered once).
 
 The main advantages of embedding service API packages in bundles are that the 
dependencies can always be resolved and it does not require installing a lot of 
other bundles to resolve the dependencies.
@@ -66,6 +67,7 @@ This situation would be different if the service API were 
package in a separate
 In this situation, all consumer bundles would be wired to the API bundle, not 
to the provider bundle.
 Thus, if the provider were updated or uninstalled and then refreshed, the 
consumer bundles would only be minimally impacted (i.e., they would either 
switch to the new version of the provider or to a different provider).
 
+[#import-own-exports]
 == Should a bundle import its own exported packages?
 
 In OSGi R3 this was always the case, since Export-Package implied 
Import-Package.

Reply via email to