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