<?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Copyright (C) 2014 the original author or authors. ~ ~ Licensed under 
	the Apache License, Version 2.0 (the "License"); ~ you may not use this file 
	except in compliance with the License. ~ You may obtain a copy of the License 
	at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by 
	applicable law or agreed to in writing, software ~ distributed under the 
	License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS 
	OF ANY KIND, either express or implied. ~ See the License for the specific 
	language governing permissions and ~ limitations under the License. -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.apache.river</groupId>
		<artifactId>tools</artifactId>
		<version>3.0-SNAPSHOT</version>
	</parent>

	<groupId>org.apache.river.tools</groupId>
	<artifactId>classdep</artifactId>

	<name>Tool :: ClassDep</name>
	<description>Tool used to analyze a set of classes and determine on what other classes
      they directly or indirectly depend. Typically this tool is used to
      compute the necessary and sufficient set of classes to include in a JAR
      file, for use in the class path of a client or service, or for use in the
      codebase of a client or service. The tool starts with a set of "root"
      classes and recursively computes a dependency graph, finding all of the
      classes referenced directly by the root classes, finding all of the
      classes referenced in turn by those classes, and so on, until no new
      classes are found or until classes that are not of interest are
      found. The normal output of the tool is a list of all of the classes in
      the dependency graph. The output from this command can be used as input
      to the jar tool, to create a JAR file containing precisely
      those classes.
    </description>

	<dependencies>

		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm</artifactId>
			<version>5.0.1</version>
		</dependency>

		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-commons</artifactId>
			<version>5.0.1</version>
		</dependency>

		<dependency>
			<groupId>org.apache.river</groupId>
			<artifactId>river-platform</artifactId>
			<version>${project.version}</version>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifestEntries>
							<Main-Class>org.apache.river.tool.ClassDep</Main-Class>
							<Implementation-Version>${project.version}</Implementation-Version>
							<Class-Path>asm-5.0.1.jar asm-commons-5.0.1.jar</Class-Path>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.1.1</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
