blob: 63c978b373d89ecccd85c623416b7d33f43f9866 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 04.05.2012 Aaron Digulla.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Aaron Digulla - initial API and implementation and/or initial documentation
*******************************************************************************/
package m4e;
import static org.junit.Assert.*;
import m4e.patch.ImportDependenciesPatchTest;
import org.junit.Test;
class PatchCmdTest {
@Test
public void testGoogleInject() throws Exception {
def tool = new PatchCmd()
tool.target = CommonTestCode.newFile( 'testGoogleInject' )
tool.init()
tool.loadPatches( 'data/input/googleInject.patch' )
def pom = Pom.load( ImportDependenciesPatchTest.EXPECTED_GOOGLE_INJECT_POM )
tool.patchPom( pom )
XmlFormatter.format( pom )
assertEquals( '''\
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.orbit</groupId>
<artifactId>orbit.com.google.inject</artifactId>
<version>3.0.0</version>
<name>guice supplied by Eclipse Orbit</name>
<description>Guice is a lightweight dependency injection framework for Java 5 and above
Converted with MT4E 0.13 (27.04.2012)</description>
<url>http://code.google.com/p/google-guice/</url>
<properties>
<mt4e.osgi.importPackage>javax.inject;version="1.0.0"</mt4e.osgi.importPackage>
<mt4e.osgi.exportPackage>com.google.inject;version="1.3";uses:="com.google.inject, com.google.inject.binder, com.google.inject.spi, com.google.inject.matcher, javax.inject",com.google.inject.binder;version="1.3";uses:="com.google.inject",com.google.inject.internal;version="1.3";x-internal:="true",com.google.inject.matcher;version="1.3",com.google.inject.name;version="1.3";uses:="com.google.inject",com.google.inject.spi;version="1.3";uses:="com.google.inject.binder,com.google.inject.matcher,com.google.inject",com.google.inject.util;version="1.3";uses:="com.google.inject.util, com.google.inject.spi, javax.inject, com.google.inject"</mt4e.osgi.exportPackage>
</properties>
<dependencies>
</dependencies>
<profiles>
<profile>
<id>m4e.orbit</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.eclipse.orbit</groupId>
<artifactId>orbit.javax.inject</artifactId>
<version>[1.0.0,)</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>m4e.maven-central</id>
<dependencies>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
''',
pom.toString() )
}
@Test
public void testBatikPDFExports() throws Exception {
File root = CommonTestCode.prepareRepo( new File( 'data/input/batikPDFExports' ), 'testBatikPDFExports' )
File repo = new File( root, 'm2repo' )
def tool = new PatchCmd( target: repo )
tool.run( 'patch', repo.absolutePath, 'data/input/batikPDFExports.patch' )
tool.importExportDB.file = new File( root, 'importExportDB' )
tool.importExportDB.save()
def actual = tool.importExportDB.file.getText( 'UTF-8' )
assertEquals( '''\
P org.apache.batik:org.apache.batik.pdf:1.6.0.v201105071520
E org.apache.avalon.framework
E org.apache.avalon.framework.activity
E org.apache.avalon.framework.configuration
E org.apache.avalon.framework.container
E org.apache.fop.apps
E org.apache.fop.fo
E org.apache.fop.fonts
E org.apache.fop.fonts.apps
E org.apache.fop.fonts.base14
E org.apache.fop.fonts.truetype
E org.apache.fop.fonts.type1
E org.apache.fop.image
E org.apache.fop.image.analyser
E org.apache.fop.pdf
E org.apache.fop.render.pdf
E org.apache.fop.render.ps
E org.apache.fop.svg
E org.apache.fop.util
I org.apache.batik.bridge
I org.apache.batik.dom.svg
I org.apache.batik.dom.util
I org.apache.batik.ext.awt
I org.apache.batik.ext.awt.g2d
I org.apache.batik.gvt
I org.apache.batik.gvt.renderer
I org.apache.batik.gvt.text
I org.apache.batik.transcoder
I org.apache.batik.transcoder.image
I org.apache.batik.transcoder.keys
I org.apache.batik.util
I org.w3c.dom
P org.apache.batik:org.apache.batik.transcoder:1.6.0.v201011041432
E org.apache.batik.transcoder
E org.apache.batik.transcoder.image
E org.apache.batik.transcoder.image.resources
E org.apache.batik.transcoder.keys
E org.apache.batik.transcoder.print
E org.apache.batik.transcoder.svg2svg
E org.apache.batik.transcoder.wmf
E org.apache.batik.transcoder.wmf.tosvg
P org.apache.batik:org.apache.batik.util:1.6.0.v201011041432
E org.apache.batik
E org.apache.batik.i18n
E org.apache.batik.util
E org.apache.batik.util.io
E org.apache.batik.util.resources
''',
actual)
assertEquals( '[org.apache.commons.io, org.apache.commons.io.output, org.apache.commons.logging, org.apache.commons.logging.impl]', Arrays.toString( tool.importExportDB.infos[ 'org.apache.batik:org.apache.batik.pdf:1.6.0.v201105071520' ]?.deletions ) )
def pom = Pom.load( new File( repo, 'org/eclipse/orbit/orbit.org.apache.batik.pdf/1.6.0/orbit.org.apache.batik.pdf-1.6.0.pom' ) )
assertEquals( '''\
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.orbit</groupId>
<artifactId>orbit.org.apache.batik.pdf</artifactId>
<version>1.6.0</version>
<name>Apache Batik PDF supplied by Eclipse Orbit</name>
<description>Converted with MT4E 0.13 (27.04.2012)</description>
<properties>
<mt4e.osgi.importPackage>org.apache.batik.bridge;version="[1.6.0,1.7.0)",org.apache.batik.dom.svg;version="[1.6.0,1.7.0)",org.apache.batik.dom.util;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt;version="[1.6.0,1.7.0)",org.apache.batik.ext.awt.g2d;version="[1.6.0,1.7.0)",org.apache.batik.gvt;version="[1.6.0,1.7.0)",org.apache.batik.gvt.renderer;version="[1.6.0,1.7.0)",org.apache.batik.gvt.text;version="[1.6.0,1.7.0)",org.apache.batik.transcoder;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.image;version="[1.6.0,1.7.0)",org.apache.batik.transcoder.keys;version="[1.6.0,1.7.0)",org.apache.batik.util;version="[1.6.0,1.7.0)",org.w3c.dom</mt4e.osgi.importPackage>
<mt4e.osgi.exportPackage>org.apache.avalon.framework,org.apache.avalon.framework.activity,org.apache.avalon.framework.configuration,org.apache.avalon.framework.container,org.apache.fop.apps,org.apache.fop.fo,org.apache.fop.fonts,org.apache.fop.fonts.apps,org.apache.fop.fonts.base14,org.apache.fop.fonts.truetype,org.apache.fop.fonts.type1,org.apache.fop.image,org.apache.fop.image.analyser,org.apache.fop.pdf,org.apache.fop.render.pdf,org.apache.fop.render.ps,org.apache.fop.svg,org.apache.fop.util</mt4e.osgi.exportPackage>
</properties>
<dependencies>
<dependency>
<groupId>org.eclipse.orbit</groupId>
<artifactId>orbit.org.apache.batik.transcoder</artifactId>
<version>[1.6.0,)</version>
</dependency>
<dependency>
<groupId>org.eclipse.orbit</groupId>
<artifactId>orbit.org.apache.batik.util</artifactId>
<version>[1.6.0,)</version>
</dependency>
</dependencies>
</project>
''',
pom.toString() )
}
}