------ Using an other Shader Implementation ------ Olivier Lamy ------ 2012-03-13 ------ ~~ 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. Using your own Shader implementation By default, the plugin provide a DefaultShader implementation but with version 1.6 you can use your own implementation. Create a standard Maven project with your implementation. +----- Dependency to Plexus annotations org.codehaus.plexus plexus-component-annotations 1.5.5 Create your Shader @Component( role = Shader.class, hint = "mock" ) public class MockShader implements Shader { // implement the interface here } // Use the plexus component metadata plugin in your job to generate Plexus metadata org.codehaus.plexus plexus-component-metadata 1.5.5 generate-metadata +----- Assuming your project has coordinate org.foo.bar:wine:1.0, you must add it as a dependency of the shade plugin. +----- ... org.apache.maven.plugins maven-shade-plugin ${project.version} org.foo.bar wine 1.0 package shade mock ... +----- Now the mojo will use your own implementation.