<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/maven-v4_0_0.xsd">

	<parent>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-parent</artifactId>
        <version>1.5.0-SNAPSHOT</version>
	</parent>
	
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-log4j12</artifactId>
	<packaging>jar</packaging>
	<name>SLF4J LOG4J-12 Binding</name>

	<url>http://www.slf4j.org</url>

	<description>
		The slf4j log4j-12 binding
	</description>
	
  <dependencies>
	  <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>   
		</dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
		</dependency>
  </dependencies>

  <build>
    <plugins>
    	<plugin>
			  <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jar-plugin</artifactId>
              <configuration>
                <archive>
                  <manifestEntries>
                    <Bundle-Version>${project.version}</Bundle-Version>
                    <Bundle-Description>${project.description}</Bundle-Description>
                    <Implementation-Version>${project.version}</Implementation-Version>
                  </manifestEntries>
                  <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                </archive>
              </configuration>			
          </plugin>
    </plugins>
  </build>

</project>