[38950] branches/gsoc08-framework/MacPorts_Framework

armahg at macports.org armahg at macports.org
Sun Aug 3 11:17:36 PDT 2008


Revision: 38950
          http://trac.macosforge.org/projects/macports/changeset/38950
Author:   armahg at macports.org
Date:     2008-08-03 11:17:36 -0700 (Sun, 03 Aug 2008)
Log Message:
-----------
Unable to get Distributed Objects working properly. Committing what I have for now

Modified Paths:
--------------
    branches/gsoc08-framework/MacPorts_Framework/MPHelperCommon.h
    branches/gsoc08-framework/MacPorts_Framework/MPHelperTool.m
    branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.h
    branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.m
    branches/gsoc08-framework/MacPorts_Framework/MPInterpreterTest.m
    branches/gsoc08-framework/MacPorts_Framework/MPMacPorts.m
    branches/gsoc08-framework/MacPorts_Framework/MacPorts.Framework.xcodeproj/project.pbxproj

Modified: branches/gsoc08-framework/MacPorts_Framework/MPHelperCommon.h
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MPHelperCommon.h	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MPHelperCommon.h	2008-08-03 18:17:36 UTC (rev 38950)
@@ -36,12 +36,11 @@
 
 	//Actually hold off doing errors for now
 	//NSError object we are passing
-	#define kNSErrorString				"NSErrorString"				//Am I allowed to pass in an NSError object?
+	#define kNSError				"NSError"				//Am I allowed to pass in an NSError object?
 																	//Lets make it a string for now
 
-	//user Data will be a pointer  to a Tcl interpreter
-	//do I have to do some casting ? we'll see
-	//const void * _userDataInterp = NULL;
+	//Key for Testing Distributed Object implementation
+	#define kMPInterpreterDistObj		"MPInterpreterDistObj"
 
 extern const BASCommandSpec kMPHelperCommandSet[];
 

Modified: branches/gsoc08-framework/MacPorts_Framework/MPHelperTool.m
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MPHelperTool.m	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MPHelperTool.m	2008-08-03 18:17:36 UTC (rev 38950)
@@ -12,11 +12,11 @@
 //#include <sys/socket.h>
 #include <unistd.h>
 
+#import	<Foundation/Foundation.h>
 #include <CoreServices/CoreServices.h>
-
 #include "BetterAuthorizationSampleLib.h"
-
 #include "MPHelperCommon.h"
+#import "MPInterpreterProtocol.h"
 
 static OSStatus DoEvaluateTclString (
 		AuthorizationRef			auth,
@@ -29,8 +29,7 @@
 {
 	
 	OSStatus		retval = noErr;
-	//CFStringRef result;
-	//CFAllocatorRef alloc_default = kCFAllocatorDefault; 
+	 
 	
 	//Pre conditions
 	assert(auth != NULL);
@@ -47,30 +46,54 @@
 		retval = coreFoundationUnknownErr;
 	}
 	
-	/*
-	//Now retrieve the pointer to the Tcl_Interp that was passed to us
-	Tcl_Interp * _userDataInterp = (Tcl_Interp *) userData;
-	if(Tcl_Eval(_userDataInterp, CFStringGetCStringPtr(cTclCmd, kCFStringEncodingUTF8)) == TCL_ERROR) {
-		//Should do some kind of error handling here
+	//Testing Distributed Objects Implementation
+	NSString * tclCmd = (NSString *) cTclCmd;
+	id distributedMPInterpreterObject = nil;
+	NSConnection * mpConn = [NSConnection connectionWithRegisteredName:MP_DOSERVER 
+																  host:nil];
+	distributedMPInterpreterObject = [mpConn rootProxy];
+	
+	
+	//CFDictionaryAddValue(response, CFSTR("NSConnection stats"), [[NSConnection defaultConnection] statistics]);
+	if ( distributedMPInterpreterObject == nil ) {
+		CFDictionaryAddValue(response, CFSTR(kMPInterpreterDistObj), CFSTR("NO"));
 		retval = coreFoundationUnknownErr;
 	}
-	else {
-		result = CFStringCreateWithCString(alloc_default, Tcl_GetStringResult(_userDataInterp), kCFStringEncodingUTF8);
+	else { //We successfully obtained the distObj
+		NSLog(@"IN HERE");
+		CFDictionaryAddValue(response, CFSTR(kMPInterpreterDistObj), CFSTR("YES"));
+		[distributedMPInterpreterObject setProtocolForProxy:@protocol(MPInterpreterProtocol)];
+		NSString * result = [distributedMPInterpreterObject
+							 evaluateStringFromMPHelperTool:tclCmd];
+		
+		if (result != nil) { //successful execution
+			CFDictionaryAddValue(response, CFSTR(kTclStringEvaluationResult), CFSTR("Port operation Failed not"));
+			retval = noErr;
+		}
+		else {
+			CFDictionaryAddValue(response, CFSTR(kTclStringEvaluationResult), CFSTR("Port operation Failed"));
+			retval = coreFoundationUnknownErr;
+		}
 	}
-	*/
-
 	
+	unsigned int numcon = [[NSConnection allConnections] count];
+	CFDictionaryAddValue(response, CFSTR("NSConnections"), CFStringCreateWithFormat(kCFAllocatorDefault , NULL, CFSTR("%u"),numcon) );
+	
+	CFDictionaryAddValue(response, CFSTR("NSConnection Stats"), [[NSConnection defaultConnection] statistics]);
+	/*
 	if( retval == noErr) {
+		
 		CFDictionaryAddValue(response, CFSTR(kTclStringEvaluationResult), cTclCmd); 
 	}
 	else{
 		//Try setting the user data pointer to the error
 		CFDictionaryAddValue(response, CFSTR(kTclStringEvaluationResult), CFSTR("BAAD")); 
-	}
+	}*/
 	
 	assert(response != NULL);
 	//I think I should release cTclCmd
 	//CFRelease(cTclCmd);
+	//CFDictionaryAddValue(response, CFSTR(kTclStringEvaluationResult), CFSTR("Port operation Failed not"));
 	
 	return retval;
 }
@@ -95,12 +118,17 @@
 //just retrieve the string to be evaluated as a tcl command?
 
 int main(int argc, char const * argv[]) {
+	NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+	[[NSRunLoop currentRunLoop] run];
 	// Go directly into BetterAuthorizationSampleLib code.
 	
     // IMPORTANT
     // BASHelperToolMain doesn't clean up after itself, so once it returns 
     // we must quit.
-    return BASHelperToolMain(kMPHelperCommandSet, kMPHelperCommandProcs);
+    int result = BASHelperToolMain(kMPHelperCommandSet, kMPHelperCommandProcs);
 
+	[pool release];
+	
+	return result;
 }
 

Modified: branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.h
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.h	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.h	2008-08-03 18:17:36 UTC (rev 38950)
@@ -42,6 +42,7 @@
 #import <Cocoa/Cocoa.h>
 #include <tcl.h>  
 #import "MPNotifications.h"
+#import "MPInterpreterProtocol.h"
 
 
 //Defining some flags for MPHelperTool
@@ -56,6 +57,8 @@
 #define TCL_RETURN_STRING		@"return string"
 #define MPFrameworkErrorDomain	@"MacPortsFrameworkErrorDomain"
 
+
+
 /*!
  @class MPInterpreter
  @abstract Tcl interpreter object
@@ -63,7 +66,7 @@
  is where the Objective-C API meets the Tcl command line. It is a per-thread interpreter to allow
  users of the API to multi-thread their programs with relative ease.
  */
- at interface MPInterpreter : NSObject {
+ at interface MPInterpreter : NSObject <MPInterpreterProtocol> {
 
 	Tcl_Interp* _interpreter;
 	NSString * helperToolInterpCommand;

Modified: branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.m
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.m	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MPInterpreter.m	2008-08-03 18:17:36 UTC (rev 38950)
@@ -201,6 +201,36 @@
 
 
 #pragma mark -
+
+#pragma mark MPInterpreterProtocol
+
+- (BOOL) vendSelfForServer {
+	NSConnection * defaultConn;
+	defaultConn = [NSConnection defaultConnection];
+	NSLog(@"Creating connection ...");
+	
+	[defaultConn setRootObject:self];
+	
+	NSLog(@"Connection Created ... %@, %@", defaultConn, [defaultConn statistics]);
+	return [defaultConn registerName:MP_DOSERVER];
+	
+}
+
+- (bycopy NSString *) evaluateStringFromMPHelperTool:(in bycopy NSString *)statement {
+//- (NSString *) evaluateStringFromMPHelperTool:(NSString *)statement {	
+											//TO DO ->  error:(inout NSError **)evalError {
+	//NSError * evalError;
+	NSString * result = [self evaluateStringAsString:statement error:nil];
+	
+	//TO DO : WORK ON ERROR STUFF AFTER GETTING BASIC FUNCTIONALITY WORKING
+	//For now ... Perhaps I might now have to take jberry's advice on ... Oh wait
+	//I should be able to pass by reference duh!
+	//return @"returning from evaluateStringFromMPHelperTool";
+	return result;
+}
+
+#pragma mark -
+
 #pragma mark MPInterpreter Code
 
 - (id) init {
@@ -229,7 +259,6 @@
 		
 		
 		Tcl_CreateObjCommand(_interpreter, "notifications", Notifications_Command, NULL, NULL);
-		
 		if (Tcl_PkgProvide(_interpreter, "notifications", "1.0") != TCL_OK) {
 			NSLog(@"Error in Tcl_PkgProvide: %s", Tcl_GetStringResult(_interpreter));
 			Tcl_DeleteInterp(_interpreter);
@@ -240,7 +269,7 @@
 			Tcl_DeleteInterp(_interpreter);
 		}*/
 		
-		if( Tcl_EvalFile(_interpreter, [[[NSBundle bundleForClass:[self class]] 
+		if( Tcl_EvalFile(_interpreter, [[[NSBundle bundleWithIdentifier:@"org.macports.frameworks.macports"] 
 										 pathForResource:@"init" 
 										 ofType:@"tcl"] UTF8String]) != TCL_OK) {
 			NSLog(@"Error in Tcl_EvalFile init.tcl: %s", Tcl_GetStringResult(_interpreter));
@@ -250,9 +279,22 @@
 		//Initialize helperToolInterpCommand
 		helperToolInterpCommand = @"";
 		
-		//Initialize Authorization stuff should probably check for errors ....
-		//[self initializeAuthorization];
+		//Initialize the Run Loop because we don't know if framework will be
+		//run in a Foundation Kit or App Kit. Hopefully this won't hurt if the
+		//run loop is already running. We are doing this so that our NSConnection
+		//object is able to handle Distributed Object messages
+		//NOTE: Since MPinterpreter instances are created per thread, we don't have to
+		//worry (I hope) about running loops for different threads
+		//[[NSRunLoop currentRunLoop] run];
 		
+		if (![self vendSelfForServer]) {
+			NSLog(@"Failed To initialize NSConnection server ");
+			//Should probably do some more error handling over here
+		}
+		else
+			NSLog(@"MPInterpreter Initialized ...");
+			
+		
 	}
 	return self;
 }
@@ -329,6 +371,8 @@
 
 */
 - (NSString *)evaluateStringAsString:(NSString *)statement error:(NSError**)mportError{
+	NSLog(@"Calling evaluateStringAsString with argument %@", statement);
+	
 	int return_code = Tcl_Eval(_interpreter, [statement UTF8String]);
 	
 	//Should I check for (return_code != TCL_Ok && return_code != TCL_RETURN) instead ?
@@ -435,7 +479,7 @@
 	assert(request != NULL);
 	
 	bundleID = [[NSBundle bundleForClass:[self class]] bundleIdentifier];
-	//NSLog(@" %@ , %@", bundleID, request);
+
 	assert(bundleID != NULL);
 	
 	
@@ -443,12 +487,14 @@
 	//method below
 	[self initializeAuthorization];
 	
+	NSLog(@"BEFORE Tool Execution request is %@ , resonse is %@ \n\n", request, response);
 	err = BASExecuteRequestInHelperTool(mpAuth, 
 										kMPHelperCommandSet, 
 										(CFStringRef) bundleID, 
 										(CFDictionaryRef) request, 
 										&response);
 	
+	
 	//Try to recover
 	if ( (err != noErr) && (err != userCanceledErr) ) {
 		failCode = BASDiagnoseFailure(mpAuth, (CFStringRef) bundleID);
@@ -472,11 +518,18 @@
 	}
 	
 	assert(response != NULL);
-	CFStringRef result = CFDictionaryGetValue(response, CFSTR(kTclStringEvaluationResult));
-	return (NSString *) result;
+	CFStringRef newresult = CFDictionaryGetValue(response, CFSTR(kTclStringEvaluationResult));
 	
+	NSLog(@"AFTER Tool Execution request is %@ , resonse is %@ \n\n", request, response);
+	//NSLog(@"response dictionary is %@", response);
+	return (NSString *) newresult;
 	
-	/*//Read from file and see if it was written to
+	
+	/*
+	NSString * fakeResult = @"Frustrated";
+	return fakeResult;
+
+	//Read from file and see if it was written to
 	NSString * testFilePath = [[NSBundle bundleForClass:[self class]]
 							   pathForResource:@"TestFile" ofType:@"test"];
 	NSError * readError = nil;

Modified: branches/gsoc08-framework/MacPorts_Framework/MPInterpreterTest.m
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MPInterpreterTest.m	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MPInterpreterTest.m	2008-08-03 18:17:36 UTC (rev 38950)
@@ -40,6 +40,7 @@
 
 - (void)setUp {
 	interp = [MPInterpreter sharedInterpreter];
+	//[[NSRunLoop currentRunLoop] run];
 }
 
 - (void)tearDown {

Modified: branches/gsoc08-framework/MacPorts_Framework/MPMacPorts.m
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MPMacPorts.m	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MPMacPorts.m	2008-08-03 18:17:36 UTC (rev 38950)
@@ -101,6 +101,8 @@
 
 #pragma MacPorts API
 
+
+
 - (id)sync:(NSError**)sError {
 	NSString * result = nil;
 	
@@ -108,8 +110,11 @@
 	[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPortsSyncStarted" object:nil];
 	[[MPNotifications sharedListener] setPerformingTclCommand:@"YES_sync"];
 	
-	result = [interpreter evaluateStringAsString:@"mportsync" error:sError];
+	//result = [interpreter evaluateStringAsString:@"mportsync" error:sError];
 	
+	//Testing DO implementation
+	result = [interpreter evaluateStringWithMPHelperTool:@"mportsync"];
+	
 	[[MPNotifications sharedListener] setPerformingTclCommand:@""];
 	[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MacPortsSyncFinished" object:nil];
 

Modified: branches/gsoc08-framework/MacPorts_Framework/MacPorts.Framework.xcodeproj/project.pbxproj
===================================================================
--- branches/gsoc08-framework/MacPorts_Framework/MacPorts.Framework.xcodeproj/project.pbxproj	2008-08-03 17:59:49 UTC (rev 38949)
+++ branches/gsoc08-framework/MacPorts_Framework/MacPorts.Framework.xcodeproj/project.pbxproj	2008-08-03 18:17:36 UTC (rev 38950)
@@ -48,6 +48,9 @@
 		6EB6FA460E43ECD60057962C /* MPHelperInstallTool in Resources */ = {isa = PBXBuildFile; fileRef = 6EC260870E426FF10013BC48 /* MPHelperInstallTool */; };
 		6EB6FB270E448EE20057962C /* TestFile.test in Resources */ = {isa = PBXBuildFile; fileRef = 6EB6FB260E448EE20057962C /* TestFile.test */; };
 		6EB6FB630E44AF140057962C /* MPHelperTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EB6FB620E44AF140057962C /* MPHelperTool.m */; };
+		6EB6FC6A0E45AC610057962C /* MPInterpreterProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EB6FC690E45AC610057962C /* MPInterpreterProtocol.h */; };
+		6EB6FC6B0E45AC610057962C /* MPInterpreterProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EB6FC690E45AC610057962C /* MPInterpreterProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		6EB6FC910E45DEA80057962C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6EB6FC900E45DEA80057962C /* Foundation.framework */; };
 		6EC260730E426FC80013BC48 /* BetterAuthorizationSampleLib.c in Sources */ = {isa = PBXBuildFile; fileRef = 6EC260700E426FC80013BC48 /* BetterAuthorizationSampleLib.c */; };
 		6EC260740E426FC80013BC48 /* BetterAuthorizationSampleLib.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EC260710E426FC80013BC48 /* BetterAuthorizationSampleLib.h */; };
 		6EC260760E426FC80013BC48 /* BetterAuthorizationSampleLib.c in Sources */ = {isa = PBXBuildFile; fileRef = 6EC260700E426FC80013BC48 /* BetterAuthorizationSampleLib.c */; };
@@ -127,6 +130,8 @@
 		6EAFD8B70DEC614E00E97270 /* dummycommit.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = dummycommit.test; sourceTree = "<group>"; };
 		6EB6FB260E448EE20057962C /* TestFile.test */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TestFile.test; sourceTree = "<group>"; };
 		6EB6FB620E44AF140057962C /* MPHelperTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPHelperTool.m; sourceTree = "<group>"; };
+		6EB6FC690E45AC610057962C /* MPInterpreterProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPInterpreterProtocol.h; sourceTree = "<group>"; };
+		6EB6FC900E45DEA80057962C /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
 		6EC260700E426FC80013BC48 /* BetterAuthorizationSampleLib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = BetterAuthorizationSampleLib.c; sourceTree = "<group>"; };
 		6EC260710E426FC80013BC48 /* BetterAuthorizationSampleLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BetterAuthorizationSampleLib.h; sourceTree = "<group>"; };
 		6EC260720E426FC80013BC48 /* BetterAuthorizationSampleLibInstallTool.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = BetterAuthorizationSampleLibInstallTool.c; sourceTree = "<group>"; };
@@ -135,7 +140,6 @@
 		6EC260960E4272D20013BC48 /* MPHelperCommon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = MPHelperCommon.c; sourceTree = "<group>"; };
 		6EC2609D0E42950C0013BC48 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
 		6ED12A4A0E3E552F0026773D /* MPHelperTool */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = MPHelperTool; sourceTree = BUILT_PRODUCTS_DIR; };
-		6ED12A4E0E3E55660026773D /* MPHelperTool.m.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MPHelperTool.m.old; sourceTree = "<group>"; };
 		6ED12A540E3E55DF0026773D /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
 		6ED12AA60E3E7E900026773D /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
 		8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
@@ -165,6 +169,7 @@
 				6ED12A550E3E55DF0026773D /* Security.framework in Frameworks */,
 				6ED12AF10E3E9E210026773D /* Tcl.framework in Frameworks */,
 				6EC2609E0E42950C0013BC48 /* CoreFoundation.framework in Frameworks */,
+				6EB6FC910E45DEA80057962C /* Foundation.framework in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -207,6 +212,7 @@
 				6EA0F56E0DFEB55E00C15082 /* Tcl.framework */,
 				6ED12AA60E3E7E900026773D /* Cocoa.framework */,
 				6EC2609D0E42950C0013BC48 /* CoreFoundation.framework */,
+				6EB6FC900E45DEA80057962C /* Foundation.framework */,
 			);
 			name = "MacPorts Foundation";
 			sourceTree = "<group>";
@@ -251,6 +257,7 @@
 				487679680C98C55E00577C59 /* MPPort.m */,
 				48F811BE0CE4636A009630DE /* MPRegistry.h */,
 				48F811BF0CE4638C009630DE /* MPRegistry.m */,
+				6EB6FC690E45AC610057962C /* MPInterpreterProtocol.h */,
 			);
 			name = Classes;
 			sourceTree = "<group>";
@@ -318,7 +325,6 @@
 				6EC260700E426FC80013BC48 /* BetterAuthorizationSampleLib.c */,
 				6EC260710E426FC80013BC48 /* BetterAuthorizationSampleLib.h */,
 				6EC260720E426FC80013BC48 /* BetterAuthorizationSampleLibInstallTool.c */,
-				6ED12A4E0E3E55660026773D /* MPHelperTool.m.old */,
 				6EC260950E4272D20013BC48 /* MPHelperCommon.h */,
 				6EC260960E4272D20013BC48 /* MPHelperCommon.c */,
 				6EB6FB620E44AF140057962C /* MPHelperTool.m */,
@@ -335,6 +341,7 @@
 			files = (
 				6EC260740E426FC80013BC48 /* BetterAuthorizationSampleLib.h in Headers */,
 				6EC260970E4272D20013BC48 /* MPHelperCommon.h in Headers */,
+				6EB6FC6A0E45AC610057962C /* MPInterpreterProtocol.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -353,6 +360,7 @@
 				6E270D090E158CED00BAE687 /* MPNotifications.h in Headers */,
 				6EC260770E426FC80013BC48 /* BetterAuthorizationSampleLib.h in Headers */,
 				6EC260990E4272D20013BC48 /* MPHelperCommon.h in Headers */,
+				6EB6FC6B0E45AC610057962C /* MPInterpreterProtocol.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -501,7 +509,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n\n#rm -rf notifications.dylib";
+			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n\n#rm -rf notifications.dylib\necho removing BAStuff\n\ncd ~\nsh mptooluninstall.sh\n\necho done removing BAStuff";
 		};
 		6E49F4F40E00DD520030C3AF /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
@@ -514,7 +522,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "#This script is to copy the build product to a subfolder \"build\"\n#of the project directory so that whoever checks out this plugin will have\n#access to the built MacPorts.framework\n#Do I really need it since build products go to your default / project / target\n#specific Build Products path?\n\nditto $CONFIGURATION_BUILD_DIR/MacPorts.framework build/MacPorts.framework\n";
+			shellScript = "#This script is to copy the build product to a subfolder \"build\"\n#of the project directory so that whoever checks out this plugin will have\n#access to the built MacPorts.framework\n#Do I really need it since build products go to your default / project / target\n#specific Build Products path?\n\nditto $CONFIGURATION_BUILD_DIR/MacPorts.framework build/MacPorts.framework\n\n";
 		};
 		DFE353640CFB8F0C003BACFC /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080803/3b56abdd/attachment-0001.html 


More information about the macports-changes mailing list