Skip to content

Commit

Permalink
Dependency cleanup.
Browse files Browse the repository at this point in the history
Adds DependencyConvergence enforcer rule.
  • Loading branch information
Edwin Shin committed Jun 20, 2013
1 parent 0f2317e commit 2a0bc5f
Show file tree
Hide file tree
Showing 9 changed files with 229 additions and 69 deletions.
37 changes: 14 additions & 23 deletions fcrepo-http-api/pom.xml
Expand Up @@ -71,14 +71,14 @@
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-server</artifactId>
<scope>test</scope>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-servlet</artifactId>
<scope>test</scope>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
Expand Down Expand Up @@ -118,35 +118,26 @@
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>

<!-- This dependency is for compile-time: it keeps this module independent of
any given choice of JAX-RS implementation. It must be _after_ the test gear. Otherwise
it will get loaded during test phase, but because this is just an API, the tests
will not be able to execute. -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.0.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
<!-- This dependency is for compile-time: it keeps this module independent of
any given choice of JAX-RS implementation. It must be _after_ the test gear. Otherwise
it will get loaded during test phase, but because this is just an API, the tests
will not be able to execute. -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
</dependency>
</dependencies>

Expand Down
82 changes: 64 additions & 18 deletions fcrepo-http-commons/pom.xml
Expand Up @@ -66,22 +66,22 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-server</artifactId>
<scope>test</scope>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-servlet</artifactId>
<scope>test</scope>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
Expand All @@ -93,11 +93,11 @@
<artifactId>jersey-grizzly2-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey.jersey-test-framework</groupId>
<artifactId>jersey-test-framework-grizzly2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey.jersey-test-framework</groupId>
<artifactId>jersey-test-framework-grizzly2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
Expand Down Expand Up @@ -130,29 +130,75 @@
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.2-b04</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-tools</artifactId>
<version>2.0</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
<!-- velocity is already bringing in commons-collections-3.2.1, whereas velocity-tools
is bringing in 3.2 -->
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
<exclusion>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
</exclusion>
<!-- modeshape-web-cmis brings in antlr:2.7.7, whereas
velocity-tools is bringing in 2.7.2 -->
<exclusion>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- commons-digester-1.8 is explicitly added here because of a dependency
convergence issue in velocity-tools. If/when velocity-tools gets its
version of commons-digester in sync across its dependencies, the exclusion
on commons-digester may be removed along with the explicit dependency
declaration below -->
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>1.8</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- antlr-2.7.7 is explicitly added here because of a dependency convergence
issue between modeshape-web-cmis and velocity-tools. If/when the two get in
line, the exclusion on velocity-tools and this explicit dependency may be removed -->
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>2.7.7</version>
</dependency>
</dependencies>

<build>
Expand Down
36 changes: 36 additions & 0 deletions fcrepo-jcr/pom.xml
Expand Up @@ -15,6 +15,42 @@
<dependency>
<groupId>org.modeshape</groupId>
<artifactId>modeshape-jcr</artifactId>
<exclusions>
<exclusion>
<groupId>org.gagravarr</groupId>
<artifactId>vorbis-java-tika</artifactId>
</exclusion>
<!-- tika-parsers transitively depends on commons-codec-1.5 but
httpclient is pulling in 1.6, so we explicitly exclude commons-codec
here and add commons-codec-1.6 as a dependency below -->
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- vorbis-java-tika is only added here because it declares a dependency on
tika-core:1.0 which we want to exclude in favor of version 1.3 which is a
dependency of tika-parsers:1.3 -->
<dependency>
<groupId>org.gagravarr</groupId>
<artifactId>vorbis-java-tika</artifactId>
<version>0.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Only explicitly adding commons-codec-1.6 because we're excluding the
older 1.5 dependency from modeshape-jcr above -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.6</version>
</dependency>


Expand Down
17 changes: 14 additions & 3 deletions fcrepo-jms/pom.xml
Expand Up @@ -49,7 +49,14 @@
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-parser</artifactId>
<version>1.1.3</version>
</dependency>
<!-- axiom-api is a dependency of abdera-parser. It is only explicitly declared
here because abdera-parser depends on an older version of jaxen (1.1.1) than axiom-api.
If/when abdera-parser catches up, we can remove this explicit dependency on axiom-api -->
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<version>1.2.14</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
Expand All @@ -65,6 +72,10 @@
<groupId>org.jgroups</groupId>
<artifactId>jgroups</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
Expand All @@ -85,8 +96,8 @@
<artifactId>maven-bundle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
</plugins>
</build>
Expand Down
16 changes: 8 additions & 8 deletions fcrepo-kernel/pom.xml
Expand Up @@ -55,13 +55,13 @@
<type>pom</type>
</dependency>

<!-- Logging: we'll use LogBack (which implements the SLF4J API); ModeShape
knows what to do. -->
<!-- Logging: we'll use LogBack (which implements the SLF4J API); ModeShape knows
what to do. -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>

<!-- test gear -->
<dependency>
<groupId>junit</groupId>
Expand All @@ -77,9 +77,9 @@
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>


Expand All @@ -103,8 +103,8 @@
<artifactId>maven-bundle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
</plugins>
</build>
Expand Down
2 changes: 2 additions & 0 deletions fcrepo-rss/pom.xml
Expand Up @@ -16,11 +16,13 @@
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-kernel</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-http-commons</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
Expand Down
9 changes: 4 additions & 5 deletions fcrepo-webapp/pom.xml
Expand Up @@ -21,38 +21,36 @@
<jmeter.exit.check.pause>2000</jmeter.exit.check.pause>
<jmeter.fixtures.dir>${project.build.directory}${file.separator}jmeter${file.separator}fixtures</jmeter.fixtures.dir>
<jmeter.log.dir>${project.build.directory}${file.separator}jmeter${file.separator}log</jmeter.log.dir>

<!-- sonar -->
<sonar.artifact.path>${project.build.directory}${file.separator}${artifactId}.war</sonar.artifact.path>
</properties>

<dependencies>
<dependency>
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-kernel</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-audit</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-jms</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-generator-dc</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.fcrepo</groupId>
<artifactId>fcrepo-http-api</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
Expand All @@ -79,6 +77,7 @@
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<attachClasses>true</attachClasses>
<systemPropertyVariables>
<test.port>${test.port}</test.port>
<test.context.path>${test.context.path}</test.context.path>
Expand Down

0 comments on commit 2a0bc5f

Please sign in to comment.