File: programming/cocoa/Verpack.zip/Verpack/Verpack/UKVerpackAppDelegate.m


//
//  UKVerpackAppDelegate.m
//  VerpackIt
//
//  Created by Uli Kusterer on 15.09.04.
//  Copyright 2004 M. Uli Kusterer. All rights reserved.
//
 
#import "UKVerpackAppDelegate.h"
#import "PBXArchive.h"
#import "PBXProject.h"
#import "PBXGroup.h"
#import "PBXFileReference.h"
#import "NSString+PartialPaths.h"
"xcode""pbproj""xcodeproj""project.pbxproj"// Fills neededFiles array.
// Before using this, you must have called [self printFilePathsInProject: ...]; or it won't know what to copy.
"\n\n--------------------\n"];
	
	// Now create folder(s) to copy files to, and make sure we're enough subfolders deep so relative paths can go back up:
'/'"/""\nDest Folder: "// Now copy files:
"\nCopied File: ""\nCouldn't Copy: "// Now copy project package:
"\nCopied File: ""\nCouldn't Copy: """".svn"] )			// Skip subversion meta-info directory.
".DS_Store"] )	// Skip Finder's info store.
"mode2"] )		// Skip user-specific info in project files.
"pbxuser"] )	// Skip user-specific info in project files.
// All hunky-dory.
	
	// Otherwise, work our way up the path and ensure everything exists:
"/"// Not thread-safe!
// if 0, don't add to neededFiles, >0 do.
"\n""Relative to Enclosing Group""Relative to Project""Relative to Build Product"// PBXGroup or PBXAlternateGroup
"\t"];	// Indent one level.
"Frameworks"]		// FIX ME! This and below shouldn't ignore *all* frameworks!
"Products""Frameworks""Products"// Un-indent.
// Just a little test to see whether we can extract the file list:
"-"

This code uses the PclZip Zip File reading code, which is subject to the GNU LGPL. It also uses the GeSHi syntax highlighter, subject to the GPL. Ask if you want this for your own web site, it's free.