Changeset 9477


Ignore:
Timestamp:
May 14, 2008, 6:48:00 PM (11 years ago)
Author:
mikel
Message:

put skeleton in place for batch project builder

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/build-application.lisp

    r9348 r9477  
    1616
    1717;;; TODO:
    18 ;;;  1. make a way to specify a user-defined Info.plist in build-application
    19 ;;;  2. make a way to specify a user-defined app delegate in build-application
     18;;;  1. make a way to specify a user-defined app delegate in build-application
     19;;;  2. review function names. consider renaming BUILD-APPLICATION to
     20;;;     SAVE-APPLICATION-BUNDLE, to better distinguish the in-process
     21;;;     save-to-a-bundle function from the out-of-process batch version
    2022
    2123;;; BUILD-APPLICATION
     
    7577                      :prepend-kernel t)))
    7678
     79;;; BUILD-APPLICATION-PROJECT
     80;;; ------------------------------------------------------------------------
     81;;; Runs a separate process that builds an application bundle and
     82;;; saves an executable lisp image into it. Populates the bundle
     83;;; directory with the files needed to run the lisp image when the
     84;;; bundle is double-clicked. Pass a lisp source file as the value for
     85;;; :project-file; the builder loads that file before saving the
     86;;; application. The intended use of the project file is to load any
     87;;; Lisp code that should be a part of the image before saving it.
     88
     89(defun build-application-project (&key
     90                                  (name $default-application-bundle-name)
     91                                  (project-file nil)
     92                                  (type-string $default-application-type-string)
     93                                  (creator-string $default-application-creator-string)
     94                                  (directory (current-directory))
     95                                  (copy-ide-resources t) ; whether to copy the IDE's resources
     96                                  (info-plist nil) ; optional user-defined info-plist
     97                                  (nibfiles nil) ; a list of user-specified nibfiles
     98                                        ; to be copied into the app bundle
     99                                  (main-nib-name) ; the name of the nib that is to be loaded
     100                                        ; as the app's main. this name gets written
     101                                        ; into the Info.plist on the "NSMainNibFile" key
     102                                  (application-class 'gui::cocoa-application)
     103                                  (toplevel-function nil))
     104  ;; 1. build the command line for the remote ccl process
     105  ;;  - require all the needed subsystems:
     106  ;;    - cocoa
     107  ;;    - builder-utilities
     108  ;;    - build-application
     109  ;;  - load the project file
     110  ;;  - call build-application
     111  ;; 2. run the remote process with the constructed command line
     112  )
     113
    77114#|
    78115(require :build-application)
Note: See TracChangeset for help on using the changeset viewer.