[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