------
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.