package com.intellij.flex.maven;
import org.jetbrains.idea.maven.MavenImportingTestCase;
import java.io.File;
public class NonJarDependenciesImportingTest extends MavenImportingTestCase {
public void testArtifactTypeProvidedByExtensionPlugin() throws Exception {
// This test ensures that we download all necessary extension plugins.
importProject("<groupId>test</groupId>" +
"<artifactId>project</artifactId>" +
"<version>1</version>" +
"<packaging>swf</packaging>" +
"<dependencies>" +
" <dependency>" +
" <groupId>com.adobe.flex.framework</groupId>" +
" <artifactId>framework</artifactId>" +
" <version>3.2.0.3958</version>" +
" <type>resource-bundle</type>" +
" <classifier>en_US</classifier>" +
" </dependency>" +
"</dependencies>" +
"<build>" +
" <plugins>" +
" <plugin>" +
" <groupId>org.sonatype.flexmojos</groupId>" +
" <artifactId>flexmojos-maven-plugin</artifactId>" +
" <version>3.5.0</version>" +
" <extensions>true</extensions>" +
" </plugin>" +
" </plugins>" +
"</build>");
// flex plugin handles 'resource-bundle' dependencies in a special way.
//
assertModuleLibDep("project", "Maven: com.adobe.flex.framework:framework:resource-bundle:en_US:3.2.0.3958",
"jar://" + getRepositoryPath() +
"/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-en_US.rb.swc!/",
"jar://" + getRepositoryPath() +
"/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-sources.jar!/",
"jar://" + getRepositoryPath() +
"/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-asdoc.zip!/");
}
public void testUpdateRootEntriesWithActualPathForNonJarDependencies() throws Exception {
importProject("<groupId>test</groupId>" +
"<artifactId>project</artifactId>" +
"<version>1</version>" +
"<packaging>swf</packaging>" +
"<dependencies>" +
" <dependency>" +
" <groupId>com.adobe.flex.framework</groupId>" +
" <artifactId>framework</artifactId>" +
" <version>3.2.0.3958</version>" +
" <type>swc</type>" +
" </dependency>" +
"</dependencies>" +
"<build>" +
" <plugins>" +
" <plugin>" +
" <groupId>org.sonatype.flexmojos</groupId>" +
" <artifactId>flexmojos-maven-plugin</artifactId>" +
" <version>4.0-beta-3</version>" +
" <extensions>true</extensions>" +
" </plugin>" +
" </plugins>" +
"</build>" +
"<repositories>" +
" <repository>" +
" <id>flex-mojos-repository</id>" +
" <url>http://svn.sonatype.org/flexmojos/repository/</url>" +
" <releases>" +
" <enabled>true</enabled>" +
" </releases>" +
" </repository>" +
"</repositories>");
assertModuleLibDeps("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3958");
assertModuleLibDep("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3958",
"jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958.swc!/",
"jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-sources.jar!/",
"jar://" + getRepositoryPath() +
"/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-asdoc.zip!/");
setRepositoryPath(new File(myDir, "__repo").getPath());
myProjectsManager.getEmbeddersManager().reset();
scheduleResolveAll();
resolveDependenciesAndImport();
assertModuleLibDeps("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3958");
assertModuleLibDep("project", "Maven: com.adobe.flex.framework:framework:swc:3.2.0.3958",
"jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958.swc!/",
"jar://" + getRepositoryPath() + "/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-sources.jar!/",
"jar://" + getRepositoryPath() +
"/com/adobe/flex/framework/framework/3.2.0.3958/framework-3.2.0.3958-asdoc.zip!/");
}
public void testRemovingUnusedNonJARLibrary() throws Exception {
importProject("<groupId>test</groupId>" +
"<artifactId>project</artifactId>" +
"<version>1</version>" +
"<packaging>war</packaging>" +
"<dependencies>" +
" <dependency>" +
" <groupId>group</groupId>" +
" <artifactId>lib1</artifactId>" +
" <version>1</version>" +
" <type>ear</type>" +
" </dependency>" +
" <dependency>" +
" <groupId>group</groupId>" +
" <artifactId>lib2</artifactId>" +
" <version>1</version>" +
" <type>war</type>" +
" </dependency>" +
"</dependencies>");
assertProjectLibraries("Maven: group:lib1:ear:1",
"Maven: group:lib2:war:1");
importProject("<groupId>test</groupId>" +
"<artifactId>project</artifactId>" +
"<version>1</version>" +
"<packaging>war</packaging>");
assertProjectLibraries();
}
}