You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (JIRA)" <ji...@apache.org> on 2018/10/30 16:39:00 UTC

[jira] [Created] (SLING-8060) Sling Testing OSGi: Transitive dependencies necessary at test execution time should be defined with scope "compile"

Konrad Windszus created SLING-8060:
--------------------------------------

             Summary: Sling Testing OSGi: Transitive dependencies necessary at test execution time should be defined with scope "compile"
                 Key: SLING-8060
                 URL: https://issues.apache.org/jira/browse/SLING-8060
             Project: Sling
          Issue Type: Improvement
          Components: Testing
    Affects Versions: Testing OSGi Mock 2.4.2
            Reporter: Konrad Windszus


Currently Testing OSGi Mock has a runtime dependency to e.g. OSGi Configuration (in https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/b04e06522379d32552353304746fbcdb09258460/core/src/main/java/org/apache/sling/testing/mock/osgi/MockOsgi.java#L312). Still the dependency to it is only defined with scope "provided" in https://github.com/apache/sling-org-apache-sling-testing-osgi-mock/blob/b04e06522379d32552353304746fbcdb09258460/parent/pom.xml#L49.

That is a problem as transitive dependencies with scope "provided" are not included in the classpath. That may lead to the fact that the ConfigurationAdmin is not part of the testing classpath (in case it isn't explicitly defined for some other reason) . Please make sure that all dependencies which are actually always necessary at test execution time are included with scope "compile" (https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope).

This issue does not happen that often, as in most of the cases the to be tested modules already define an explicit dependency to {{org.osgi:osgi.cmpn}}, but since nowadays the OSGi foundation provides not only the aggregate dependencies but also individual ones, this is no longer necessarily the case (compare with https://issues.apache.org/jira/browse/SLING-7384?focusedCommentId=16327433&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16327433).

At the same time of converting the dependency scope to "compile" we should switch from the aggregate to the individual osgi artifacts (to be able to more granularly define which OSGi level is used).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)