Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.project URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.project?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.project (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.project Sun Jun 21 07:11:14 2009 @@ -0,0 +1,46 @@ +<projectDescription> + <name>project-rad-7</name> + <comment/> + <projects/> + <buildSpec> + <buildCommand> + <name>com.ibm.wtp.migration.MigrationBuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.j2ee.ui.LibDirBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.webtools.additions.linksbuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.webpage.template.templatebuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.siteedit.SiteNavBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.siteedit.SiteUpdateBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.validation.validationbuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.wtp.j2ee.LibCopyBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.webtools.additions.jspcompilationbuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.sse.model.structuredbuilder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>com.ibm.wtp.web.WebNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>com.ibm.etools.siteedit.WebSiteNature</nature> + <nature>com.ibm.etools.webpage.template.templatenature</nature> + </natures> +</projectDescription> \ No newline at end of file
Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.project ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.project ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.settings/org.eclipse.jdt.core.prefs URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.settings/org.eclipse.jdt.core.prefs?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.settings/org.eclipse.jdt.core.prefs (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.settings/org.eclipse.jdt.core.prefs Sun Jun 21 07:11:14 2009 @@ -0,0 +1,5 @@ +#Sat Jun 20 07:30:09 CST 2009 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.source=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.website-config URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.website-config?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.website-config (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-7/expected/.website-config Sun Jun 21 07:11:14 2009 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<website version="600"> + <structure/> +</website> \ No newline at end of file Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.classpath URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.classpath?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.classpath (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.classpath Sun Jun 21 07:11:14 2009 @@ -0,0 +1,5 @@ +<classpath> + <classpathentry kind="src" path="src/main/java" including="**/*.java"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> +</classpath> \ No newline at end of file Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.classpath ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.classpath ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.j2ee URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.j2ee?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.j2ee (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.j2ee Sun Jun 21 07:11:14 2009 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<j2eesettings version="600"> + <moduleversion>24</moduleversion> +</j2eesettings> \ No newline at end of file Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.project URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.project?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.project (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.project Sun Jun 21 07:11:14 2009 @@ -0,0 +1,46 @@ +<projectDescription> + <name>project-rad-8</name> + <comment/> + <projects/> + <buildSpec> + <buildCommand> + <name>com.ibm.wtp.migration.MigrationBuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.j2ee.ui.LibDirBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.webtools.additions.linksbuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.webpage.template.templatebuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.siteedit.SiteNavBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.siteedit.SiteUpdateBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.validation.validationbuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.wtp.j2ee.LibCopyBuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.etools.webtools.additions.jspcompilationbuilder</name> + </buildCommand> + <buildCommand> + <name>com.ibm.sse.model.structuredbuilder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>com.ibm.wtp.web.WebNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>com.ibm.etools.siteedit.WebSiteNature</nature> + <nature>com.ibm.etools.webpage.template.templatenature</nature> + </natures> +</projectDescription> \ No newline at end of file Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.project ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.project ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.settings/org.eclipse.jdt.core.prefs URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.settings/org.eclipse.jdt.core.prefs?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.settings/org.eclipse.jdt.core.prefs (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.settings/org.eclipse.jdt.core.prefs Sun Jun 21 07:11:14 2009 @@ -0,0 +1,5 @@ +#Sat Jun 20 07:30:14 CST 2009 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.source=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.websettings URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.websettings?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.websettings (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.websettings Sun Jun 21 07:11:14 2009 @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<websettings version="600"> + <webcontent>src/main/webapp</webcontent> + <context-root>project-rad-8</context-root> + <project-type>J2EE</project-type> + <jsp-level>2.0</jsp-level> + <features> + <feature> + <feature-id>templatefeature</feature-id> + </feature> + <feature> + <feature-id>com.ibm.etools.siteedit.wizards.projectfeature.WebSiteFeature</feature-id> + </feature> + </features> + <lib-modules/> +</websettings> \ No newline at end of file Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.website-config URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.website-config?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.website-config (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-rad-8/expected/.website-config Sun Jun 21 07:11:14 2009 @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<website version="600"> + <structure/> +</website> \ No newline at end of file Added: maven/plugins/trunk/maven-eclipse-plugin/verify-integration-tests-checks.bsh URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/verify-integration-tests-checks.bsh?rev=786945&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/verify-integration-tests-checks.bsh (added) +++ maven/plugins/trunk/maven-eclipse-plugin/verify-integration-tests-checks.bsh Sun Jun 21 07:11:14 2009 @@ -0,0 +1,146 @@ +source("maven-antrun.bsh"); +addMavenClasspath(); + +import org.apache.tools.ant.BuildException; +import org.apache.commons.io.*; +import org.apache.commons.io.filefilter.*; + +/** + * A list of all the generated files (and which class generates them as a comment) + */ +generatedFiles = new String[] { + // AbstractEclipseManifestWriter(EclipseManifestWriter,RadManifestWriter) + "META-INF/MANIFEST.MF", + // EclipseWtpApplicationXMLWriter + "target/eclipseEar/META-INF/application.xml", + "target/eclipseEar/META-INF/.modulemaps", + // EclipseWtpComponentWriter + ".settings/.component", + // EclipseWtpComponent15Writer + ".settings/org.eclipse.wst.common.component", + // EclipseWtpFacetsWriter + ".settings/org.eclipse.wst.common.project.facet.core.xml", + // EclipseWtpmodulesWriter + ".wtpmodules", + // EclipseAjdtWriter + ".settings/org.eclipse.ajdt.ui.prefs", + // EclipseClasspathWriter + ".classpath", + ".externalToolBuilders/maven-eclipse.xml", // via EclipseAntExternalLaunchConfigurationWriter(EclipseLaunchConfigurationWriter) + // EclipseOSGiManifestWriter - only rewrites manifest + // EclipseProjectWriter + ".project", + // EclipseSettingsWriter + ".settings/org.eclipse.jdt.core.prefs", + // MyEclipseHibernateWriter + ".myhibernatedata", + // MyEclipseMetadataWriter + ".mymetadata", + // MyEclipseSpringBeansWriter + ".springBeans", + // MyEclipseStrutsDataWriter + ".mystrutsdata", + // RadApplicationXMLWriter + "META-INF/application.xml", + "META-INF/.modulemaps", + // RadEjbClasspathWriter + "target/websphere/generated-classes/.classpath", + // RadJ2EEWriter + ".j2ee", + // RadLibCopier - copies libraries no way to check + // RadWebSettingsWriter + ".websettings", + // RadWebsiteConfigWriter + ".website-config" + }; + +assert( boolean condition ) +{ + if ( !condition ) { + print( + "Test FAILED: " + +"Line: "+ this.namespace.getInvocationLine() + +" : "+this.namespace.getInvocationText() + +" : while evaluating file: "+getSourceFileInfo() + ); + } +} + +/** + * Rebase a file which removes the leading fromDirectory and replaces with the toDirectory. + */ +rebase( File f, File fromDirectory, File toDirectory ) { + assert( f.getPath().startsWith(fromDirectory.getPath()) ); + String filePath = f.getPath().substring( fromDirectory.getPath().length() + 1 ); + return new File( toDirectory, filePath ); +} + +integrationTestProjects_source = new File( "src/test/resources/projects" ); +integrationTestProjects_target = new File( "target/test-classes/projects" ); + +expectedDirectoryName = "expected"; + +walker = new DirectoryWalker() { + FileFilter directoryFilter = new AndFileFilter(); + directoryFilter.addFileFilter( new NotFileFilter( new NameFileFilter(expectedDirectoryName) ) ); + directoryFilter.addFileFilter( new NotFileFilter( new NameFileFilter("src") ) ); + directoryFilter.addFileFilter( new NotFileFilter( new NameFileFilter("target") ) ); + directoryFilter.addFileFilter( new NotFileFilter( new NameFileFilter(".metadata") ) ); + directoryFilter.addFileFilter( new NotFileFilter( new NameFileFilter("WebContent") ) ); + + boolean handleDirectory( File directory, int depth, Collection results ) { + accepted = directoryFilter.accept( directory ); + if ( !accepted ) { + return accepted; + } + + project.log( "Checking directory = " + directory, project.MSG_DEBUG ); + expectedDirectory = new File( directory, expectedDirectoryName ); + + for ( fileToCheck : generatedFiles ) { + File generatedFile = new File( directory, fileToCheck ); + expectedFile = new File( expectedDirectory, fileToCheck ); + project.log( " generatedFile (exists? " + generatedFile.exists() + ") = " + generatedFile, project.MSG_DEBUG ); + project.log( " expectedFile (exists? " + expectedFile.exists() + ") = " + expectedFile, project.MSG_DEBUG ); + if ( generatedFile.exists() && !expectedFile.exists() ) { + project.log( " ** generated file exists but no expected file exist to verify integration test", project.MSG_DEBUG ); + missingExpectedFiles = new ArrayList(2); + missingExpectedFiles.add( generatedFile ); + missingExpectedFiles.add( expectedFile ); + results.add( missingExpectedFiles ); + } + } + + return accepted; + } + + find( startDirectory ) { + List results = new ArrayList(); + walk( startDirectory, results ); + return results; + } + + checkDirectoryFilter() { + assert( !directoryFilter.accept( new File( "target/test-classes/projects/project-rad-5/project-rad-2/src") ) ); + assert( !directoryFilter.accept( new File( "target/test-classes/projects/project-rad-5/project-rad-2/expected") ) ); + assert( !directoryFilter.accept( new File( "target/test-classes/projects/project-rad-5/project-rad-2/target") ) ); + assert( directoryFilter.accept( new File( "target/test-classes/projects/project-rad-8/src/main/webapp") ) ); + } + +}; +walker.checkDirectoryFilter(); +project.log( "Checking for generated files that do not have an integration test file to verify against...", project.MSG_INFO ); +missingExpectedFiles = walker.find( integrationTestProjects_target ); +if ( missingExpectedFiles.isEmpty() ) { + project.log( "Done.", project.MSG_INFO ); +} +else { + // The files are all in the target directory. In order to provide "seed" values need to rebase to src/test/resources + for ( files : missingExpectedFiles ) { + seedFile = files.get(0); + destFile = rebase( files.get(1), integrationTestProjects_target, integrationTestProjects_source ); + project.log( "Seeding missing expected file from " + seedFile.getPath() + " to " + destFile.getPath(), project.MSG_INFO ); + FileUtils.copyFile( seedFile, destFile ); + } + throw new BuildException( "Verify and fix seeded expected files before re-running integrations tests." ); +} \ No newline at end of file Propchange: maven/plugins/trunk/maven-eclipse-plugin/verify-integration-tests-checks.bsh ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/verify-integration-tests-checks.bsh ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision