/* * Copyright (c) 2007, Ounce Labs, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the <organization> nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY OUNCE LABS, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL OUNCE LABS, INC. BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.codehaus.mojo.ounce.TestUtils; import java.io.File; import java.io.IOException; import java.io.Writer; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.DependencyResolutionRequiredException; import org.apache.maven.artifact.factory.ArtifactFactory; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.resolver.filter.ArtifactFilter; import org.apache.maven.model.Build; import org.apache.maven.model.CiManagement; import org.apache.maven.model.Contributor; import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.Developer; import org.apache.maven.model.DistributionManagement; import org.apache.maven.model.IssueManagement; import org.apache.maven.model.License; import org.apache.maven.model.MailingList; import org.apache.maven.model.Model; import org.apache.maven.model.Organization; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginManagement; import org.apache.maven.model.Prerequisites; import org.apache.maven.model.Reporting; import org.apache.maven.model.Resource; import org.apache.maven.model.Scm; import org.apache.maven.project.MavenProject; import org.apache.maven.project.artifact.InvalidDependencyVersionException; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.xml.Xpp3Dom; /** * very simple stub of maven project, going to take a lot of work to make it useful as a stub though */ public class MockProject extends MavenProject { private String groupId; private String artifactId; private String name; private Model model; private MavenProject parent; private List dependencies; private File file; private List collectedProjects; private List attachedArtifacts; private List compileSourceRoots; private List testCompileSourceRoots; private List scriptSourceRoots; private List pluginArtifactRepositories; // private ArtifactRepository releaseArtifactRepository; // private ArtifactRepository // snapshotArtifactRepository; private List activeProfiles; private Set dependencyArtifacts; private DependencyManagement dependencyManagement; private Artifact artifact; // private Map artifactMap; private Model originalModel; // private Map pluginArtifactMap; // private Map reportArtifactMap; // private Map extensionArtifactMap; // private Map projectReferences; // private Build buildOverlay; private boolean executionRoot; private List compileArtifacts; private List compileClasspathElements; private List compileDependencies; private List systemDependencies; private List testClasspathElements; private List testDependencies; private List systemClasspathElements; private List systemArtifacts; private List testArtifacts; private List runtimeArtifacts; private List runtimeDependencies; private List runtimeClasspathElements; private String modelVersion; private String packaging; private String inceptionYear; private String url; private String description; private String version; private String defaultGoal; private Set artifacts; private Properties properties = new Properties(); private File baseDir = null; public MockProject() { super( (Model) null ); } // kinda dangerous... public MockProject( Model model ) { // super(model); super( (Model) null ); } // kinda dangerous... public MockProject( MavenProject project ) { // super(project); super( (Model) null ); } public String getModulePathAdjustment( MavenProject mavenProject ) throws IOException { return ""; } public Artifact getArtifact() { return artifact; } public void setArtifact( Artifact artifact ) { this.artifact = artifact; } public Model getModel() { return model; } public MavenProject getParent() { return parent; } public void setParent( MavenProject mavenProject ) { this.parent = mavenProject; } public void setRemoteArtifactRepositories( List list ) { } public List getRemoteArtifactRepositories() { return Collections.singletonList( "" ); } public boolean hasParent() { if ( parent != null ) { return true; } else { return false; } } public File getFile() { return file; } public void setFile( File file ) { this.file = file; } public File getBasedir() { if ( baseDir == null ) { baseDir = new File( PlexusTestCase.getBasedir() ); } return baseDir; } public void setBaseDir( File base ) { baseDir = base; } public void setDependencies( List list ) { dependencies = list; } public List getDependencies() { if ( dependencies == null ) { dependencies = Collections.EMPTY_LIST; } return dependencies; } public void setDependencyManagement( DependencyManagement depMgt ) { this.dependencyManagement = depMgt; } public DependencyManagement getDependencyManagement() { if ( dependencyManagement == null ) { dependencyManagement = new DependencyManagement(); } return dependencyManagement; } public void addCompileSourceRoot( String string ) { if ( compileSourceRoots == null ) { compileSourceRoots = new ArrayList(); compileSourceRoots.add( string ); } else { compileSourceRoots.add( string ); } } public void addScriptSourceRoot( String string ) { if ( scriptSourceRoots == null ) { scriptSourceRoots = Collections.singletonList( string ); } else { scriptSourceRoots.add( string ); } } public void addTestCompileSourceRoot( String string ) { if ( testCompileSourceRoots == null ) { testCompileSourceRoots = Collections.singletonList( string ); testCompileSourceRoots = new ArrayList(); testCompileSourceRoots.add( string ); } else { testCompileSourceRoots.add( string ); } } public List getCompileSourceRoots() { return compileSourceRoots; } public List getScriptSourceRoots() { return scriptSourceRoots; } public List getTestCompileSourceRoots() { return testCompileSourceRoots; } public List getCompileClasspathElements() throws DependencyResolutionRequiredException { return compileClasspathElements; } public void setCompileArtifacts( List compileArtifacts ) { this.compileArtifacts = compileArtifacts; } public List getCompileArtifacts() { return compileArtifacts; } public List getCompileDependencies() { return compileDependencies; } public List getTestClasspathElements() throws DependencyResolutionRequiredException { return testClasspathElements; } public List getTestArtifacts() { return testArtifacts; } public List getTestDependencies() { return testDependencies; } public List getRuntimeClasspathElements() throws DependencyResolutionRequiredException { return runtimeClasspathElements; } public List getRuntimeArtifacts() { return runtimeArtifacts; } public List getRuntimeDependencies() { return runtimeDependencies; } public List getSystemClasspathElements() throws DependencyResolutionRequiredException { return systemClasspathElements; } public List getSystemArtifacts() { return systemArtifacts; } public void setRuntimeClasspathElements( List runtimeClasspathElements ) { this.runtimeClasspathElements = runtimeClasspathElements; } public void setAttachedArtifacts( List attachedArtifacts ) { this.attachedArtifacts = attachedArtifacts; } public void setCompileSourceRoots( List compileSourceRoots ) { this.compileSourceRoots = compileSourceRoots; } public void setTestCompileSourceRoots( List testCompileSourceRoots ) { this.testCompileSourceRoots = testCompileSourceRoots; } public void setScriptSourceRoots( List scriptSourceRoots ) { this.scriptSourceRoots = scriptSourceRoots; } public void setArtifactMap( Map artifactMap ) { // this.artifactMap = artifactMap; } public void setPluginArtifactMap( Map pluginArtifactMap ) { // this.pluginArtifactMap = pluginArtifactMap; } public void setReportArtifactMap( Map reportArtifactMap ) { // this.reportArtifactMap = reportArtifactMap; } public void setExtensionArtifactMap( Map extensionArtifactMap ) { // this.extensionArtifactMap = extensionArtifactMap; } public void setProjectReferences( Map projectReferences ) { // this.projectReferences = projectReferences; } public void setBuildOverlay( Build buildOverlay ) { // this.buildOverlay = buildOverlay; } public void setCompileDependencies( List compileDependencies ) { this.compileDependencies = compileDependencies; } public void setSystemDependencies( List systemDependencies ) { this.systemDependencies = systemDependencies; } public void setCompileClasspathElements( List compileClasspathElements ) { this.compileClasspathElements = compileClasspathElements; } public void setTestClasspathElements( List testClasspathElements ) { this.testClasspathElements = testClasspathElements; } public void setTestDependencies( List testDependencies ) { this.testDependencies = testDependencies; } public void setSystemClasspathElements( List systemClasspathElements ) { this.systemClasspathElements = systemClasspathElements; } public void setSystemArtifacts( List systemArtifacts ) { this.systemArtifacts = systemArtifacts; } public void setTestArtifacts( List testArtifacts ) { this.testArtifacts = testArtifacts; } public void setRuntimeArtifacts( List runtimeArtifacts ) { this.runtimeArtifacts = runtimeArtifacts; } public void setRuntimeDependencies( List runtimeDependencies ) { this.runtimeDependencies = runtimeDependencies; } public void setModel( Model model ) { this.model = model; } public List getSystemDependencies() { return systemDependencies; } public void setModelVersion( String string ) { this.modelVersion = string; } public String getModelVersion() { return modelVersion; } public String getId() { return ""; } public void setGroupId( String string ) { this.groupId = string; } public String getGroupId() { return groupId; } public void setArtifactId( String string ) { this.artifactId = string; } public String getArtifactId() { return artifactId; } public void setName( String string ) { this.name = string; } public String getName() { return name; } public void setVersion( String string ) { this.version = string; } public String getVersion() { return version; } public String getPackaging() { return packaging; } public void setPackaging( String string ) { this.packaging = string; } public void setInceptionYear( String string ) { this.inceptionYear = string; } public String getInceptionYear() { return inceptionYear; } public void setUrl( String string ) { this.url = string; } public String getUrl() { return url; } public Prerequisites getPrerequisites() { return null; } public void setIssueManagement( IssueManagement issueManagement ) { } public CiManagement getCiManagement() { return null; } public void setCiManagement( CiManagement ciManagement ) { } public IssueManagement getIssueManagement() { return null; } public void setDistributionManagement( DistributionManagement distributionManagement ) { } public DistributionManagement getDistributionManagement() { return null; } public void setDescription( String string ) { this.description = string; } public String getDescription() { return description; } public void setOrganization( Organization organization ) { } public Organization getOrganization() { return null; } public void setScm( Scm scm ) { } public Scm getScm() { return null; } public void setMailingLists( List list ) { } public List getMailingLists() { return Collections.singletonList( "" ); } public void addMailingList( MailingList mailingList ) { } public void setDevelopers( List list ) { } public List getDevelopers() { return Collections.singletonList( "" ); } public void addDeveloper( Developer developer ) { } public void setContributors( List list ) { } public List getContributors() { return Collections.singletonList( "" ); } public void addContributor( Contributor contributor ) { } public void setBuild( Build build ) { } public Build getBuild() { return null; } public List getResources() { return Collections.singletonList( "" ); } public List getTestResources() { return Collections.singletonList( "" ); } public void addResource( Resource resource ) { } public void addTestResource( Resource resource ) { } public void setReporting( Reporting reporting ) { } public Reporting getReporting() { return null; } public void setLicenses( List list ) { } public List getLicenses() { return Collections.singletonList( "" ); } public void addLicense( License license ) { } public void setArtifacts( Set set ) { this.artifacts = set; } public Set getArtifacts() { if ( artifacts == null ) { return Collections.EMPTY_SET; } else { return artifacts; } } public Map getArtifactMap() { return Collections.singletonMap( "", "" ); } public void setPluginArtifacts( Set set ) { } public Set getPluginArtifacts() { return Collections.singleton( "" ); } public Map getPluginArtifactMap() { return Collections.singletonMap( "", "" ); } public void setReportArtifacts( Set set ) { } public Set getReportArtifacts() { return Collections.singleton( "" ); } public Map getReportArtifactMap() { return Collections.singletonMap( "", "" ); } public void setExtensionArtifacts( Set set ) { } public Set getExtensionArtifacts() { return Collections.singleton( "" ); } public Map getExtensionArtifactMap() { return Collections.singletonMap( "", "" ); } public void setParentArtifact( Artifact artifact ) { } public Artifact getParentArtifact() { return null; } public List getRepositories() { return Collections.singletonList( "" ); } public List getReportPlugins() { return Collections.singletonList( "" ); } public List getBuildPlugins() { return Collections.singletonList( "" ); } public List getModules() { return Collections.singletonList( "" ); } public PluginManagement getPluginManagement() { return null; } public void addPlugin( Plugin plugin ) { } public void injectPluginManagementInfo( Plugin plugin ) { } public List getCollectedProjects() { return collectedProjects; } public void setCollectedProjects( List list ) { this.collectedProjects = list; } public void setPluginArtifactRepositories( List list ) { this.pluginArtifactRepositories = list; } public List getPluginArtifactRepositories() { return pluginArtifactRepositories; } public ArtifactRepository getDistributionManagementArtifactRepository() { return null; } public List getPluginRepositories() { return Collections.singletonList( "" ); } public void setActiveProfiles( List list ) { activeProfiles = list; } public List getActiveProfiles() { return activeProfiles; } public void addAttachedArtifact( Artifact theArtifact ) { if ( attachedArtifacts == null ) { this.attachedArtifacts = Collections.singletonList( theArtifact ); } else { attachedArtifacts.add( theArtifact ); } } public List getAttachedArtifacts() { return attachedArtifacts; } public Xpp3Dom getGoalConfiguration( String string, String string1, String string2, String string3 ) { return null; } public Xpp3Dom getReportConfiguration( String string, String string1, String string2 ) { return null; } public MavenProject getExecutionProject() { return null; } public void setExecutionProject( MavenProject mavenProject ) { } public void writeModel( Writer writer ) throws IOException { } public void writeOriginalModel( Writer writer ) throws IOException { } public Set getDependencyArtifacts() { return dependencyArtifacts; } public void setDependencyArtifacts( Set set ) { this.dependencyArtifacts = set; } public void setReleaseArtifactRepository( ArtifactRepository artifactRepository ) { // this.releaseArtifactRepository = // artifactRepository; } public void setSnapshotArtifactRepository( ArtifactRepository artifactRepository ) { // this.snapshotArtifactRepository = // artifactRepository; } public void setOriginalModel( Model model ) { this.originalModel = model; } public Model getOriginalModel() { return originalModel; } public List getBuildExtensions() { return Collections.singletonList( "" ); } public Set createArtifacts( ArtifactFactory artifactFactory, String string, ArtifactFilter artifactFilter ) throws InvalidDependencyVersionException { return Collections.EMPTY_SET; } public void addProjectReference( MavenProject mavenProject ) { } public void attachArtifact( String string, String string1, File theFile ) { } public Properties getProperties() { return this.properties; } public void setProperty( String key, String value ) { properties.setProperty( key, value ); } public List getFilters() { return Collections.singletonList( "" ); } public Map getProjectReferences() { return Collections.singletonMap( "", "" ); } public boolean isExecutionRoot() { return executionRoot; } public void setExecutionRoot( boolean b ) { this.executionRoot = b; } public String getDefaultGoal() { return defaultGoal; } public Artifact replaceWithActiveArtifact( Artifact theArtifact ) { return null; } }