blob: c3c4970577a503edffd9ef7b0b368999e7416cc8 [file] [log] [blame]
/*
* 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.myfaces.buildtools.maven2.plugin.javascript.jmt;
import java.io.File;
/**
* Goal to be used from a war project, to compress the scripts present in the
* webapp packaging folder. Configured to run in the test phase as there is no
* way (in maven 2.0) to run between exploded webapp assembly and .war
* packaging.
*
* @goal compress
* @phase test
* @author <a href="mailto:nicolas@apache.org">nicolas De Loof</a>
*/
public class WebappCompressMojo
extends AbstractCompressMojo
{
/**
* The directory where the webapp is built.
*
* @parameter expression="${project.build.directory}/${project.build.finalName}"
* @required
*/
private File webappDirectory;
/**
* Folder in webapp containing javascripts
*
* @parameter default-value="scripts"
*/
private String scripts;
/**
* classifier for the compressed artifact. If not set, compressed script
* will replace uncompressed ones, and will apply without any change in
* HTML/JSP.
*
* @parameter
*/
private String classifier;
/**
* {@inheritDoc}
*
* @see org.codehaus.mojo.javascript.AbstractCompressMojo#getExtension()
*/
public String getExtension()
{
return classifier;
}
/**
* {@inheritDoc}
*
* @see org.codehaus.mojo.javascript.AbstractCompressMojo#getOutputDirectory()
*/
protected File getOutputDirectory()
{
return getSourceDirectory();
}
/**
* {@inheritDoc}
*
* @see org.codehaus.mojo.javascript.AbstractCompressMojo#getSourceDirectory()
*/
protected File getSourceDirectory()
{
return new File( webappDirectory, scripts );
}
}