Author: mkleint Date: Sat Nov 10 03:43:56 2007 New Revision: 593765 URL: http://svn.apache.org/viewvc?rev=593765&view=rev Log: split the component interface for toolchains plugin and other plugins.
Added: maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java Modified: maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManager.java maven/shared/trunk/maven-toolchain/src/main/resources/META-INF/plexus/components.xml Modified: maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java?rev=593765&r1=593764&r2=593765&view=diff ============================================================================== --- maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java (original) +++ maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java Sat Nov 10 03:43:56 2007 @@ -36,6 +36,7 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.context.Context; import org.codehaus.plexus.context.ContextException; +import org.codehaus.plexus.logging.AbstractLogEnabled; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable; import org.codehaus.plexus.util.IOUtil; @@ -43,8 +44,9 @@ * * @author mkleint */ -public class DefaultToolchainManager +public class DefaultToolchainManager extends AbstractLogEnabled implements ToolchainManager, + ToolchainManagerPrivate, Contextualizable { Modified: maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManager.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManager.java?rev=593765&r1=593764&r2=593765&view=diff ============================================================================== --- maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManager.java (original) +++ maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManager.java Sat Nov 10 03:43:56 2007 @@ -28,13 +28,8 @@ public interface ToolchainManager { - String ROLE = ToolchainManager.class.getName( ); + String ROLE = ToolchainManager.class.getName(); - /** - * to be called from toolchains-plugin only.. TODO split? - */ - ToolchainPrivate[] getToolchainsForType( String type ) - throws MisconfiguredToolchainException; /** * to be used from plugins capable of working with toolchains. @@ -42,9 +37,4 @@ Toolchain getToolchainFromBuildContext( String type, BuildContext context ); - /** - * to be called from toolchains-plugin only.. TODO split? - */ - void storeToolchainToBuildContext( ToolchainPrivate toolchain, - BuildContext context ); } Added: maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java?rev=593765&view=auto ============================================================================== --- maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java (added) +++ maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/ToolchainManagerPrivate.java Sat Nov 10 03:43:56 2007 @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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. + */ + + +package org.apache.maven.toolchain; + +import org.apache.maven.context.BuildContext; + +/** + * Component for use by the maven-toolchains-plugin only. + * @author mkleint + */ +public interface ToolchainManagerPrivate +{ + String ROLE = ToolchainManagerPrivate.class.getName(); + + /** + * Retrieves the toolchains of given type from the user settings. + */ + ToolchainPrivate[] getToolchainsForType( String type ) + throws MisconfiguredToolchainException; + + /** + * Stores the toolchain into build context. + */ + void storeToolchainToBuildContext( ToolchainPrivate toolchain, + BuildContext context ); + +} Modified: maven/shared/trunk/maven-toolchain/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/src/main/resources/META-INF/plexus/components.xml?rev=593765&r1=593764&r2=593765&view=diff ============================================================================== --- maven/shared/trunk/maven-toolchain/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/shared/trunk/maven-toolchain/src/main/resources/META-INF/plexus/components.xml Sat Nov 10 03:43:56 2007 @@ -23,6 +23,11 @@ <role>org.apache.maven.toolchain.ToolchainManager</role> <implementation>org.apache.maven.toolchain.DefaultToolchainManager</implementation> </component> + <!--- TODO do I really need to define 2 components? I'd rather have 1 istance shared for both lookups. --> + <component> + <role>org.apache.maven.toolchain.ToolchainManagerPrivate</role> + <implementation>org.apache.maven.toolchain.DefaultToolchainManager</implementation> + </component> <component> <role>org.apache.maven.toolchain.ToolchainFactory</role> <role-hint>jdk</role-hint>