mirror of https://github.com/apache/maven.git
o protecting against null properties in the PPEE
o fixing some composition declarations in embedder component descriptor o adding notes on classloader mechanism git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@293598 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
0872b06142
commit
e9ab07e51c
|
@ -278,7 +278,7 @@ public class PluginParameterExpressionEvaluator
|
|||
value = project.getProperties().getProperty( expression );
|
||||
}
|
||||
|
||||
if ( value == null )
|
||||
if ( value == null && properties != null )
|
||||
{
|
||||
// We will attempt to get nab a system property as a way to specify a
|
||||
// parameter to a plugins. My particular case here is allowing the surefire
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<version>RELEASE</version>
|
||||
<version>2.0-beta-1</version>
|
||||
<configuration>
|
||||
<descriptor>src/main/assembly/dep.xml</descriptor>
|
||||
</configuration>
|
||||
|
@ -21,6 +21,11 @@
|
|||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>plexus</groupId>
|
||||
<artifactId>plexus-utils</artifactId>
|
||||
<version>1.0.4-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
<artifactId>plexus-container-default</artifactId>
|
||||
|
@ -97,10 +102,6 @@
|
|||
<artifactId>maven-core</artifactId>
|
||||
<version>2.0-beta-3-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>plexus</groupId>
|
||||
<artifactId>plexus-utils</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>plexus</groupId>
|
||||
<artifactId>plexus-input-handler</artifactId>
|
||||
|
|
|
@ -627,9 +627,11 @@
|
|||
<requirement>
|
||||
<role>org.apache.maven.extension.ExtensionManager</role>
|
||||
</requirement>
|
||||
<!--
|
||||
<requirement>
|
||||
<role>org.apache.maven.project.injection.ModelDefaultsInjector</role>
|
||||
</requirement>
|
||||
-->
|
||||
<requirement>
|
||||
<role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
|
||||
</requirement>
|
||||
|
|
|
@ -70,7 +70,7 @@ public class MavenEmbedderTest
|
|||
|
||||
File pomFile = new File( targetDirectory, "pom.xml" );
|
||||
|
||||
MavenProject pom = maven.readProjectWithDependencies( pomFile );
|
||||
MavenProject pom = maven.readProjectWithDependencies( pomFile );
|
||||
|
||||
EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
|
||||
|
||||
|
@ -78,7 +78,7 @@ public class MavenEmbedderTest
|
|||
Collections.singletonList( "package" ),
|
||||
eventMonitor,
|
||||
new ConsoleDownloadMonitor(),
|
||||
null,
|
||||
new Properties(),
|
||||
targetDirectory );
|
||||
|
||||
File jar = new File( targetDirectory, "target/embedder-test-project-1.0-SNAPSHOT.jar" );
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
To add a bit of detail for a volunteer to submit as documentation... :)
|
||||
|
||||
m2/core/boot is what is in the java classpath (ie, just classworlds,
|
||||
which constructs classloaders for the rest of the system)
|
||||
|
||||
the top level classloader contains plexus container and plexus utils
|
||||
(see m2/core), and also has access to classworlds
|
||||
|
||||
the next classloader has the libraries in m2/lib (a bug in beta 1
|
||||
incorporated commons-logging and -lang, sorry about that!) In general
|
||||
these are just maven libraries. We hope to further separate these in
|
||||
future to just be maven apis.
|
||||
|
||||
after that, each plugin has its own classloader, including its
|
||||
dependencies, itself, and the libraries above. It *does not* contain
|
||||
the project dependencies like in m1, but instead has access to a list
|
||||
of JAR files in case they are needed.
|
||||
|
||||
In addition, a project can list "extensions". These are loaded into
|
||||
the same place as m2/lib and so available to the maven core and all
|
||||
plugins for the currnet project and subsequent projects (in future, we
|
||||
plan to remove it from subsequent projects).
|
||||
|
||||
- Brett
|
Loading…
Reference in New Issue