sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konrad Windszus (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SLING-8060) Sling Testing Mocks: Transitive dependencies necessary at test execution time should be defined with scope "compile"
Date Tue, 30 Oct 2018 16:54:00 GMT

     [ https://issues.apache.org/jira/browse/SLING-8060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Konrad Windszus updated SLING-8060:
-----------------------------------
    Summary: Sling Testing Mocks: Transitive dependencies necessary at test execution time
should be defined with scope "compile"  (was: Sling Testing OSGi: Transitive dependencies
necessary at test execution time should be defined with scope "compile")

> Sling Testing Mocks: 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: Bug
>          Components: Testing
>    Affects Versions: Testing OSGi Mock 2.4.2, Testing Sling Mock 2.3.4
>            Reporter: Konrad Windszus
>            Priority: Major
>
> Currently Testing OSGi Mock and Testing Sling Mock has a runtime dependency to e.g. OSGi
Configuration Admin and Event Admin (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
and in https://github.com/apache/sling-org-apache-sling-testing-sling-mock/blob/ef994bfbc9ae2288c66ef8be7fd3997913cc9144/core/src/main/java/org/apache/sling/testing/mock/sling/ResourceResolverFactoryInitializer.java#L42).
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
and https://github.com/apache/sling-org-apache-sling-testing-sling-mock/blob/986bdfbbf6c3f5f416d6acc24329eb431f67494a/core/pom.xml#L37.
> 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/EventAdmin 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}} and {{org.osgi:osgi.core}},
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)

Mime
View raw message