From 0bd570aa332fb3d655f42a01068f8d208512f85f Mon Sep 17 00:00:00 2001 From: Trygve Laugstol Date: Fri, 8 Oct 2004 19:19:55 +0000 Subject: [PATCH] o Adding util class for setting up plexus for use with maven. git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163189 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/maven/MavenTestUtils.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 maven-core/src/main/java/org/apache/maven/MavenTestUtils.java diff --git a/maven-core/src/main/java/org/apache/maven/MavenTestUtils.java b/maven-core/src/main/java/org/apache/maven/MavenTestUtils.java new file mode 100644 index 0000000000..e6bf1223e3 --- /dev/null +++ b/maven-core/src/main/java/org/apache/maven/MavenTestUtils.java @@ -0,0 +1,56 @@ +package org.apache.maven; + +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.io.File; + +import org.codehaus.classworlds.ClassRealm; +import org.codehaus.classworlds.ClassWorld; +import org.codehaus.plexus.DefaultArtifactEnabledContainer; +import org.codehaus.plexus.PlexusContainer; + +/** + * This is a utility class for helping to configure a PlexusTestCase for testing with maven. + * + * @author Trygve Laugstøl + * @version $Id$ + */ +public class MavenTestUtils +{ + private MavenTestUtils() + { + } + + public static PlexusContainer getContainerInstance() + { + return new DefaultArtifactEnabledContainer(); + } + + public static void customizeContext( PlexusContainer container, File basedir, File mavenHome, File mavenHomeLocal ) + throws Exception + { + ClassWorld classWorld = new ClassWorld(); + + ClassRealm rootClassRealm = classWorld.newRealm( "root", Thread.currentThread().getContextClassLoader() ); + + container.addContextValue( "rootClassRealm", rootClassRealm ); + + container.addContextValue( "maven.home", mavenHome.getAbsolutePath() ); + + container.addContextValue( "maven.home.local", mavenHomeLocal.getAbsolutePath() ); + } +}