public DependencyResolvingMavenEmbedder(ClassLoader mavenClassLoader, ClassLoader parent, MavenRequest mavenRequest) throws MavenEmbedderException { this(null, mavenRequest, MavenEmbedderUtils.buildPlexusContainer(mavenClassLoader, parent, mavenRequest)); }
public MavenInformation call() throws IOException { try { return MavenEmbedderUtils.getMavenVersion( new File(mavenHome) ); } catch ( MavenEmbedderException e ) { throw new IOException2( e ); } }
public static PlexusContainer buildPlexusContainer(File mavenHome, MavenRequest mavenRequest) throws MavenEmbedderException { ClassWorld world = new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader()); ClassRealm classRealm = MavenEmbedderUtils.buildClassRealm( mavenHome, world, Thread.currentThread().getContextClassLoader() ); DefaultContainerConfiguration conf = new DefaultContainerConfiguration(); conf.setContainerConfigurationURL( mavenRequest.getOverridingComponentsXml() ) .setRealm( classRealm ).setClassWorld( world ); return buildPlexusContainer(mavenRequest,conf); }
/** * @param mavenHome * @return the maven version * @throws MavenEmbedderException */ public static MavenInformation getMavenVersion(File mavenHome) throws MavenEmbedderException { ClassRealm realm = buildClassRealm( mavenHome, null, null ); if (debug) { debugMavenVersion(realm); } ClassLoader original = Thread.currentThread().getContextClassLoader(); InputStream inputStream = null; try { Thread.currentThread().setContextClassLoader( realm ); URL resource = realm.findResource( POM_PROPERTIES_PATH ); inputStream = resource.openStream(); Properties properties = new Properties(); properties.load( inputStream ); return new MavenInformation( properties.getProperty( "version" ) , resource.toExternalForm() ); } catch ( IOException e ) { throw new MavenEmbedderException( e.getMessage(), e ); } finally { IOUtil.close( inputStream ); Thread.currentThread().setContextClassLoader( original ); } }
public Boolean call() throws IOException { try { return MavenEmbedderUtils.isAtLeastMavenVersion(new File(mavenHome), version); } catch (MavenEmbedderException e) { throw new IOException2(e); } } }
@Override public String call() throws IOException { try { return MavenEmbedderUtils.getMavenVersion(new File(home)).getVersion(); } catch (MavenEmbedderException e) { throw new RuntimeException(e); } } });
public MavenInformation call() throws IOException { try { File home = new File(mavenHome); if(!home.isDirectory()) { if (home.exists()) throw new AbortException(Messages.MavenVersionCallable_MavenHomeIsNotDirectory(home)); else throw new AbortException(Messages.MavenVersionCallable_MavenHomeDoesntExist(home)); } return MavenEmbedderUtils.getMavenVersion(home); } catch ( MavenEmbedderException e ) { throw new IOException( e ); } }
public MavenEmbedder( ClassLoader mavenClassLoader, ClassLoader parent, MavenRequest mavenRequest ) throws MavenEmbedderException { this(null,mavenRequest,MavenEmbedderUtils.buildPlexusContainer(mavenClassLoader, parent, mavenRequest)); }
public static boolean isAtLeastMavenVersion(File mavenHome, String version) throws MavenEmbedderException { ComparableVersion found = new ComparableVersion( getMavenVersion( mavenHome ).getVersion() ); ComparableVersion testedOne = new ComparableVersion( version ); return found.compareTo( testedOne ) >= 0; }
public MavenEmbedder( File mavenHome, MavenRequest mavenRequest ) throws MavenEmbedderException { this(mavenHome,mavenRequest,MavenEmbedderUtils.buildPlexusContainer(mavenHome, mavenRequest)); }
public DependencyResolvingMavenEmbedder(File mavenHome, MavenRequest mavenRequest) throws MavenEmbedderException { this(mavenHome, mavenRequest, MavenEmbedderUtils.buildPlexusContainer(mavenHome, mavenRequest)); }
public static PlexusContainer buildPlexusContainer(ClassLoader mavenClassLoader, ClassLoader parent, MavenRequest mavenRequest) throws MavenEmbedderException { DefaultContainerConfiguration conf = new DefaultContainerConfiguration(); conf.setContainerConfigurationURL( mavenRequest.getOverridingComponentsXml() ); ClassWorld classWorld = new ClassWorld(); ClassRealm classRealm = new ClassRealm( classWorld, "maven", mavenClassLoader ); classRealm.setParentRealm( new ClassRealm( classWorld, "maven-parent", parent == null ? Thread.currentThread().getContextClassLoader() : parent ) ); conf.setRealm( classRealm ); return buildPlexusContainer(mavenRequest,conf); }