Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.agilejava.docbkx.maven;
  
  /*
   * Copyright 2006 Wilfred Springer
   *
   * 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 java.net.URL;

A dedicated base class for plugins generating ePub output, in order to allow the specific stylesheet chosen to be dependent on the chunkedOutput property.

Author(s):
Cedric Pronzato
Brian Richard Jackson
 
 public abstract class AbstractEpubMojo extends AbstractMojoBase {


    
The Zip archiver.

Component:
role="org.codehaus.plexus.archiver.Archiver" roleHint="zip"
Required:
 
     private ZipArchiver zipArchiver;
 
     private File targetFile;


    
This implementation will set the root.filename property, based on the targetFile's name.
 
     public void adjustTransformer(Transformer transformer,
                                   String sourceFilenameFile targetFile) {
         super.adjustTransformer(transformersourceFilenametargetFile);
 
         String rootFilename = targetFile.getName();
         rootFilename = rootFilename.substring(0, rootFilename
                 .lastIndexOf('.'));
         transformer.setParameter("root.filename"rootFilename);
         transformer.setParameter("base.dir"targetFile.getParent()
                 + .);
         transformer.setParameter("epub.oebps.dir"targetFile.getParent()
                 + .);
         transformer.setParameter("epub.metainf.dir"targetFile.getParent()
                 + . + "META-INF" + .);
 
         validateFont();
 
         this. = targetFile;
     }
 
     public void postProcess() throws MojoExecutionException {
         super.postProcess();
 
         // TODO: temporary trick, svn version of docbook xsl epub stylesheet works differently
         try {
             final URL containerURL = getClass().getResource("/epub/container.xml");
             FileUtils.copyURLToFile(containerURLnew File(.getParentFile(), "META-INF" + . + "container.xml"));
         } catch (IOException e) {
             throw new MojoExecutionException("Unable to copy hardcoded container.xml file"e);
         }
 
         // copy mimetype file
         try {
             final URL mimetypeURL = getClass().getResource("/epub/mimetype");
             FileUtils.copyURLToFile(mimetypeURLnew File(.getParentFile(), "mimetype"));
         } catch (IOException e) {
             throw new MojoExecutionException("Unable to copy hardcoded mimetype file"e);
         }
 
 
         try {
             .addDirectory(.getParentFile());
             .setCompress(true); // seems to not be a problem to have mimetype compressed
             .setDestFile();
             .createArchive();
 
            getLog().debug("epub file created at: "+.getDestFile().getAbsolutePath());
        } catch (Exception e) {
            throw new MojoExecutionException("Unable to zip epub file"e);
        }
    }
    private void validateFont() {
        final String font = getProperty("epubEmbeddedFont");
        if (font != null) {
            final File f = new File(font);
            if (!f.exists()) {
                getLog().warn("Unable to find specified font: " + f.getAbsolutePath());
            }
            if (!font.endsWith("otf")) {
                getLog().warn("Only otf font is supported: " + font);
            }
        }
    }
New to GrepCode? Check out our FAQ X