Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   * 
   * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
   * 
   * The contents of this file are subject to the terms of either the GNU
   * General Public License Version 2 only ("GPL") or the Common
   * Development and Distribution License("CDDL") (collectively, the
   * "License"). You may not use this file except in compliance with the
  * License. You can obtain a copy of the License at
  * http://www.netbeans.org/cddl-gplv2.html
  * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  * specific language governing permissions and limitations under the
  * License.  When distributing the software, include this License Header
  * Notice in each file and include the License file at
  * nbbuild/licenses/CDDL-GPL-2-CP.  Sun designates this
  * particular file as subject to the "Classpath" exception as provided
  * by Sun in the GPL Version 2 section of the License file that
  * accompanied this code. If applicable, add the following below the
  * License Header, with the fields enclosed by brackets [] replaced by
  * your own identifying information:
  * "Portions Copyrighted [year] [name of copyright owner]"
  * 
  * If you wish your version of this file to be governed by only the CDDL
  * or only the GPL Version 2, indicate your decision by adding
  * "[Contributor] elects to include this software in this distribution
  * under the [CDDL or GPL Version 2] license." If you do not indicate a
  * single choice of license, a recipient has the option to distribute
  * your version of this file under either the CDDL, the GPL Version 2 or
  * to extend the choice of license to its licensees as provided above.
  * However, if you add GPL Version 2 code and therefore, elected the GPL
  * Version 2 license, then the option applies only if the new code is
  * made subject to such option by the copyright holder.
  * 
  * Contributor(s):
  * 
  * Portions Copyrighted 2008 Sun Microsystems, Inc.
  */
 package org.netbeans.modules.cnd.makeproject.packaging;
 
 import java.util.List;

Author(s):
thp
 
 public class TarPackager implements PackagerDescriptor {
 
     public static final String PACKAGER_NAME = "Tar"// NOI18N
 
     public String getName() {
         return ;
     }
 
     public String getDisplayName() {
         return getString("Tar");
     }
 
     public boolean hasInfoList() {
         return false;
     }
 
     public List<PackagerInfoElementgetDefaultInfoList(MakeConfiguration makeConfigurationPackagingConfiguration packagingConfiguration) {
         return null;
     }
 
     public List<StringgetOptionalInfoList() {
         return null;
     }
 
     public String getDefaultOptions() {
         return "-v"// NOI18N
     }
 
     public String getDefaultTool() {
         return "tar"// NOI18N
     }
 
     public boolean isOutputAFolder() {
         return false;
     }
 
     public String getOutputFileName(MakeConfiguration makeConfigurationPackagingConfiguration packagingConfiguration) {
         return packagingConfiguration.getOutputName();
     }
 
     public String getOutputFileSuffix() {
         return "tar";  // NOI18N
     }
 
    public String getTopDir(MakeConfiguration makeConfigurationPackagingConfiguration packagingConfiguration) {
        String topDir = IpeUtils.getBaseName(packagingConfiguration.getOutputValue());
        int i = topDir.lastIndexOf("."); // NOI18N
        if (i > 0) {
            topDir = topDir.substring(0, i);
        }
        return topDir;
    }
    public boolean supportsGroupAndOwner() {
        return false;
    }
        return new ScriptWriter();
    }
    public static class ScriptWriter implements ShellSciptWriter {
        public void writeShellScript(BufferedWriter bwMakeConfiguration makeConfigurationPackagingConfiguration packagingConfigurationthrows IOException {
            writePackagingScriptBodyTarZip(bwmakeConfiguration);
        }
        private void writePackagingScriptBodyTarZip(BufferedWriter bwMakeConfiguration confthrows IOException {
            PackagingConfiguration packagingConfiguration = conf.getPackagingConfiguration();
            List<PackagerFileElementfileList = packagingConfiguration.getFiles().getValue();
            String output = packagingConfiguration.getOutputValue();
            String outputRelToTmp = IpeUtils.isPathAbsolute(output) ? output : "../../../../" + output// NOI18N
            bw.write("# Copy files and create directories and links\n"); // NOI18N
            for (PackagerFileElement elem : fileList) {
                bw.write("cd \"${TOP}\"\n"); // NOI18N
                if (elem.getType() == ..) {
                    String toDir = IpeUtils.getDirName(conf.getPackagingConfiguration().expandMacros(elem.getTo()));
                    if (toDir != null && toDir.length() >= 0) {
                        bw.write("makeDirectory " + "${TMPDIR}/" + toDir + "\n"); // NOI18N
                    }
                    bw.write("copyFileToTmpDir \"" + elem.getFrom() + "\" \"${TMPDIR}/" + elem.getTo() + "\" 0" + elem.getPermission() + "\n"); // NOI18N
                } else if (elem.getType() == ..) {
                    bw.write("makeDirectory " + " \"${TMPDIR}/" + elem.getTo() + "\"" + " 0" + elem.getPermission() + "\n"); // NOI18N
                } else if (elem.getType() == ..) {
                    String toDir = IpeUtils.getDirName(elem.getTo());
                    String toName = IpeUtils.getBaseName(elem.getTo());
                    if (toDir != null && toDir.length() >= 0) {
                        bw.write("makeDirectory " + "\"" + "${TMPDIR}/" + toDir + "\"" + "\n"); // NOI18N
                    }
                    bw.write("cd " + "\"" + "${TMPDIR}/" + toDir + "\"" + "\n"); // NOI18N
                    bw.write("ln -s " + "\"" + elem.getFrom() + "\"" + " " + "\"" + toName + "\"" + "\n"); // NOI18N
                } else if (elem.getType() == ..) {
                    // skip ???
                } else {
                    assert false;
                }
                bw.write("\n"); // NOI18N
            }
            bw.write("\n"); // NOI18N
            bw.write("# Generate tar file\n"); // NOI18N
            bw.write("cd \"${TOP}\"\n"); // NOI18N
            bw.write("rm -f " + output + "\n"); // NOI18N
            bw.write("cd ${TMPDIR}\n"); // NOI18N
            String options = packagingConfiguration.getOptionsValue() + "cf"// NOI18N
            if (options.charAt(0) != '-') { // NOI18N
                options = "-" + options// NOI18N
            }
            bw.write(packagingConfiguration.getToolValue() + " " + options + " " + outputRelToTmp + " *\n"); // NOI18N
            bw.write("checkReturnCode\n"); // NOI18N
            bw.write("\n"); // NOI18N
        }
    }

    
Look up i18n strings here
    private static String getString(String s) {
        return NbBundle.getMessage(TarPackager.classs); // FIXUP: Using Bundl in .../api.configurations. Too latet to move bundles around
    }
New to GrepCode? Check out our FAQ X