When you create the assembly you must manually install it in your local repository for now in order the maven-embedder-it tests to work. jvz. -- parse xml to in-memory model Now MavenEmbedder.readProjectWithDependencies() transitively resolve all dependencies and download them if anything is missing. -- we need a callback for progress indication: download, build, etc -- run m2 (embedded): including running building, archetypes, etc. -- introspect available plugins and their goals -- to generate source folders for eclipse project from m2 pom.xml we need to run generate-sources phase, so all plugins registered for this phase will be kicked of and will register target folders for compilation. Ideally it would be nice to ask these plugins for the target folders, but Brett said it will be only in 2.1, so I guess we'll have to actually run these plugins and generate code. -- In order to nicely show all the errors and events in the IDE UI We need to have two messages for EACH event/error: -- the short description (in Eclipse it can be used in Problems view) -- detailed description (can be used in annotation/editors markers) -- Need getters for MavenEmbedder properties. E.g. to retrieve default location of the local repository -- How to deal with the plugin registry builder whose component descriptor container references like ${maven.home} and ${user.home}. These can be placed in the context for plexus. -- Would be nice to centralize the use of maven.home. Possibly have the embedder take it in and set a system property of plexus context value. There seems to be a tad of code duplicated in the plugin registry builder and the settings builder. -- What are all the settings that must be provided? Ones that can be set and what the default values would be if they aren't set. -- Need to make an input handler to IDE use soon. -- having to add all the component descriptors by hand and the maven version metadata is a real drag. something needs to be added to the assembly plugin. -- maven.home this is a CLI notion and should not be required by the embedder but we still need to deal with notions of centralize configuration which are extremely important in the corporate environment. -- ~/.m2 plugin registry and settings should be stored in the tool specific locations -- local repository will be shared and default to ~/.m2/repository -- add a method that gives the standard lifecycle phases.