Previous Next  Up  Table of Contents  DropDMG 3.4.5 Manual  Technical Support

5.4.6   Command-line tool

DropDMG has a command-line tool called dropdmg that can create disk images and archives and burn CDs and DVDs. This lets you control DropDMG from Terminal and automate it via shell scripts.

To install the command-line tool, click the Install “dropdmg” Tool. Once installed, DropDMG will automatically offer to update the tool when a new version is available.

For a list of the available options, type man dropdmg in Terminal.

man pageman page

Detached Settings Files

The Sharing Licenses and Layouts section describes how you can use the dropdmg tool with licenses and layouts that are stored outside of DropDMG, e.g. under version control.

Full User Sessions

The dropdmg tool is not a freestanding utility. Rather, it controls the DropDMG application, which it will launch as needed. You must be logged into the Mac with a regular user session (not just via SSH).

Xcode Server

DropDMG is compatible with the Xcode Server build environment. Despite the fact that you can’t see the login session for the _xcsbuildd user, Xcode Server does run your build scripts and UI tests in a graphical macOS user environment. This means that DropDMG can run and that it can talk to the Finder to build disk images with layouts.

Because the _xcsbuildd session is hidden, you cannot interact with it directly. However, you can control DropDMG from an Xcode shell script build phase using the dropdmg command-line tool. You can use the --layout-folder and --license-folder switches to specify the layout and license that are stored in your source control repository.

Additionally, you can use these shell commands to personalize DropDMG, tell it not to show software update alerts, and tell it to quit after processing each dropdmg command (so that it’s not visible in UI test screenshots):

defaults write com.c-command.DropDMG MJTOwnerName2 your-serial-name
defaults write com.c-command.DropDMG MJTSerialNumber2 your-serial-number
defaults write com.c-command.DropDMG MJTSoftwareUpdateCheckAtLaunch NO
defaults write com.c-command.DropDMG QuitWhenDone YES

Jenkins

Make sure that the Jenkins user is logged in and not in the background.

Previous Next  Up  Table of Contents  DropDMG 3.4.5 Manual  Technical Support