1
0

Fix use of optional dependencies; optional is a separate flag, not a scope.

Thanks to Wendy Smoak for pointing this out.


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk@476637 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Simon Kitching
2006-11-18 22:32:29 +00:00
parent e248866959
commit 531990ff9a

82
pom.xml
View File

@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -310,32 +309,6 @@
</plugins>
</build>
<!--
- Special dependency handling follows. What we really want for JCL is to declare
- dependencies that are required when compiling but optional at runtime.
- Unfortunately Maven2 doesn't support this directly; if we use normal dependency
- declarations then *users* of JCL will get all the supported logging libs
- pulled into their project by default, but if we declare them optional then
- when JCL is *compiled* we get none of them in the classpath.
- A workaround is used here where two profiles are declared; one is active only
- when compiling and has "normal" dependencies while the other is active when
- other apps declare a dependency on this pom and as "optional" dependencies.
-->
<profiles>
<profile>
<id>build</id>
<activation>
<!--
- If this file is present in the current directory, then assume that
- someone has checked out the JCL source code and is building it. In
- this case declare "normal" dependencies so the logging adapters
- can be compiled.
-->
<file>
<exists>commons-logging-README.txt</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>junit</groupId>
@@ -347,74 +320,27 @@
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>logkit</groupId>
<artifactId>logkit</artifactId>
<version>1.0.1</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework</artifactId>
<version>4.1.3</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<optional>true</optional>
</dependency>
</dependencies>
</profile>
<profile>
<id>use</id>
<activation>
<!--
- If this file is not in the current directory, then assume that
- this pom is being processed because it is referenced as a
- dependency of some other project. In this case, don't pull in
- any particular logging library; the using project needs to declare
- a dependency on whatever lib they really want present.
-->
<file>
<missing>commons-logging-README.txt</missing>
</file>
</activation>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.12</version>
<scope>optional</scope>
</dependency>
<dependency>
<groupId>logkit</groupId>
<artifactId>logkit</artifactId>
<version>1.0.1</version>
<scope>optional</scope>
</dependency>
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework</artifactId>
<version>4.1.3</version>
<scope>optional</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>optional</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<distributionManagement>