This Plugin integrates the Xcode Maven Plugin into Xcode. It allows to call mvn initialize directly from the Xcode main menu (Project->Xcode Maven Plugin) and the output is redirected to the console (View->Debug Area->Activate Console). Press and hold the alt key to get advanced Xcode Maven Plugin menu options.
Additionally, this project can serve as a good starting point for writing your own Xcode plugins.
Simply build the Xcode project and restart Xcode. The plugin will automatically be installed in ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins. To uninstall, just remove the plugin from there (and restart Xcode).
If you intend to create your own plugin, here is a quickstart to save you some hours of trial and error.
-
Create a new
Bundleproject for OS X. -
Create a new class, e.g.
MyPlugin. -
Add the following entries to your
Info.plist:<key>NSPrincipalClass</key> <string>MyPlugin</string> <key>XC4Compatible</key> <true/> <key>XCGCReady</key> <true/> <key>XCPluginHasUI</key> <false/> -
Add/set the following Build Settings to/in your target:
DEPLOYMENT_LOCATION = YES DEPLOYMENT_POSTPROCESSING = YES DSTROOT = $(HOME) INSTALL_PATH = /Library/Application Support/Developer/Shared/Xcode/Plug-ins LD_RUNPATH_SEARCH_PATHS = /Developer WRAPPER_EXTENSION = xcplugin CLANG_ENABLE_OBJC_ARC = NO GCC_ENABLE_OBJC_GC = supported -
Add the following method with your initialization code to your
MyPluginclass:+ (void)pluginDidLoad:(NSBundle *)bundle { // ... }
See the source code for further concepts:
- How to access/modify the main menu.
- Get the current workspace.
- Get the current scheme.
- ...
This plugin was implemented primarily through reverse engineering. The following links helped to get into the right direction:
- Your best friend: https://github.com/probablycorey/xcode-class-dump
- http://code.google.com/p/google-toolbox-for-mac/wiki/GTMXcodePlugin
- https://github.com/omz/MiniXcode
- https://github.com/0xced/CLITool-InfoPlist
This plugin is still experimental, so use it at your own risk.