On Mon, Aug 15, 2011 at 9:25 PM, Vincent Massol <[email protected]> wrote:
>
> On Aug 12, 2011, at 4:45 PM, Sergiu Dumitriu wrote:
>
>> On 08/12/2011 07:50 AM, Vincent Massol wrote:
>>> Hi devs,
>>>
>>> Running mvn dependency:dependency-analyze produces interesting results.
>>>
>>> For example:
>>>
>>> [INFO] 
>>> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>> [INFO] Building XWiki Commons - Properties 3.2-SNAPSHOT
>>> [INFO] 
>>> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>> …
>>> [INFO] --- maven-dependency-plugin:2.3:analyze (default-cli) @ 
>>> xwiki-commons-properties ---
>>> [WARNING] Used undeclared dependencies found:
>>> [WARNING]    org.slf4j:slf4j-api:jar:1.6.1:compile
>>> [WARNING]    javax.inject:javax.inject:jar:1:compile
>>> [WARNING] Unused declared dependencies found:
>>> [WARNING]    
>>> org.xwiki.commons:xwiki-commons-component-api:jar:3.2-SNAPSHOT:compile
>>> [WARNING]    org.xwiki.commons:xwiki-commons-test:jar:3.2-SNAPSHOT:test
>>> [WARNING]    org.hibernate:hibernate-validator:jar:4.2.0.Final:test
>>> [WARNING]    org.hamcrest:hamcrest-core:jar:1.1:test
>>> [WARNING]    org.jmock:jmock:jar:2.5.1:test
>>>
>>> The question is (for this module but more generally for all others):
>>> * Should we add slf4j and javax.inject reps in the pom.xml for this module? 
>>> (for ex today slf4j and javax.inject are found in the component-api dep)
>>>
>>> I think we should, wdyt?
>>
>> +1 as well.
>
> hmm actually we need to decide about the following:
>
> * In order to simplify writing pom.xml for modules having components (i.e. 
> depending on xwiki-commons-component-api) I had added the following to  
> xwiki-commons-component-api/pom.xml:
>
>    <!-- Make it easy for components that wish to log - They don't have to 
> explicitly import SLF4J -->
>    <dependency>
>      <groupId>org.slf4j</groupId>
>      <artifactId>slf4j-api</artifactId>
>    </dependency>
>
> * In the same manner we have a dependency on javax.inject in 
> xwiki-commons-component-api/pom.xml:
>
>    <!-- We add this dependency here so that users of the Component API just 
> need to depend on this artifact and
>         don't have to explicitly add a dependency on 
> javax.inject:java.inject. -->
>    <dependency>
>      <groupId>javax.inject</groupId>
>      <artifactId>javax.inject</artifactId>
>      <version>1</version>
>    </dependency>
>
> So the question is: do we want to force each module depending on 
> xwiki-commons-component-api to have to declare an explicit dep on 
> javax.inject and org.slf4j?
>
> I'm not so sure about that…

I'm -0 and near -1 to list this kind of dependencies, using slf4j or
javax.inject are what you HAVE TO use when you write an XWiki
component so it's redundant from my POV.

>
> WDYT?
>
> Thanks
> -Vincent
>
>>> Note that the "Unused declared dependencies found:" doesn't always generate 
>>> correct results as is the case here. This is mostly because it's a static 
>>> byte code check so any dep used at runtime will be considered unused.
>>> See 
>>> http://www.sonatype.com/books/mvnex-book/reference/optimizing-sect-dependency-plugin.html
>>
>> Some of these dependencies are not used directly by us, but are needed
>> transitively by another library. For example, slf4j needs logback, which
>> we never use directly (although we don't really declare it in every
>> module that does logging). Hibernate needs us to pick a cache, a
>> connection pool, validator, and a bytecode manipulation utility. So yes,
>> we can safely ignore most of these false negatives, but we should still
>> try to remove those that are really wrongfully declared as dependencies.
>>
>>> Thanks
>>> -Vincent
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to