Skip to main content



      Home
Home » Archived » Maven Integration (M2E) » new project - APIs for m2eclipse
new project - APIs for m2eclipse [message #948] Wed, 16 April 2008 23:29 Go to previous message
Eclipse UserFriend
Originally posted by: oleg.subscriptions.gmail.com

I think it will be highly unfair to have such a wonderful product as
m2eclipse and having to know all nitty-gritty details of Maven and Eclipse
in order to use it programmatically from other bundles/components.

In order to simplify things, James Ervin and I started another project -
very closely related to m2eclipse - m2eclipse APIs. The purpose - is to
ease programmer's access to the Maven universe. For now we came from our
immediate needs - necessity to find an Artifact, find all Artifact
dependencies as a resolved scoped classpath or mavenize an Eclipse project.

SVN repository is at http://svn.sonatype.org/m2eclipse/branches/api/ and
is tightly coupled with m2eclipse version. Current version 1.0.8 has been
tested with m2e 0.9.2 One of the projects there -
org.maven.ide.eclipse.api.test - shows how to use it from another bundle
(TestHandler.java). Usage is very simplistic:

MavenEclipseApi mavenApi =
(MavenEclipseApi)MavenApiPlugin.getDefault().getMavenEclipse Api();
mavenApi.[API call here] ...

Update site is available at:
http://svn.sonatype.org/m2eclipse/branches/api/org.maven.ide .eclipse.api.site/

It would be awesome to hear comments - what kind of functionality is
interesting for users.

What we have now is a flat list of calls. Please note - not all of them
work, so it's more of a prototype that a stable product. But we are
dedicated to deliver it :)

//---------------------------------------------------------- -----------
/**
* read & parse the POM file from an IProject
*/
public Model parsePom( final IProject project )
throws MavenApiException;
//---------------------------------------------------------- -----------
/**
* read & parse the POM file from an IFile
*/
public Model parsePom( final IFile file )
throws MavenApiException;
//---------------------------------------------------------- -----------
/**
* read & parse the POM file from a real File.
* <b>Please use with caution: this is not thread-safe call!! </b>
*/
public Model parsePom( final File file )
throws MavenApiException;
//---------------------------------------------------------- -----------
/**
* return local repository
*/
public ArtifactRepository localRepository() throws MavenApiException;
//---------------------------------------------------------- -----------
/**
* take existing Eclipse project and mavenize it with the supplied
model
*/
public abstract IProject mavenizeProject( final
ProjectMavenizationRequest req )
throws MavenEclipseApiException
;
//---------------------------------------------------------- -----------
public abstract Artifact resolveArtifact( final ArtifactMetadata md )
throws MavenApiException
;

//---------------------------------------------------------- ---------------------------
public abstract MetadataTreeNode resolveArtifactMetadataAsTree(
ArtifactMetadata md
)
throws MavenApiException
;

//---------------------------------------------------------- ---------------------------
public abstract MavenProject resolveArtifactAsProject( final Artifact
artifact )
throws MavenApiException
;

//---------------------------------------------------------- ---------------------------
public abstract MetadataGraph resolveArtifactAsScopeGraph( final
ArtifactMetadata md )
throws MavenApiException
;

//---------------------------------------------------------- ---------------------------
public abstract List<Artifact> resolveArtifactAsClasspath( final
ArtifactMetadata md )
throws MavenApiException
;
public Artifact resolveArtifact( final Artifact artifact )
throws MavenApiException;

//---------------------------------------------------------- ---------------------------
public abstract Collection<Artifact> findGroup( String groupRegEx )
throws MavenApiException
;

//---------------------------------------------------------- ---------------------------
public abstract Collection<Artifact> findArtifact( String query )
throws MavenApiException
;
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic:eclipse and wtp versions
Next Topic:provisioning Maven settings and other configuration
Goto Forum:
  


Current Time: Thu Sep 25 21:51:22 EDT 2025

Powered by FUDForum. Page generated in 0.04753 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top