Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Plugin Versioning

New Here ,
Nov 18, 2015 Nov 18, 2015

I've inherited a Photoshop plugin project, and I'm working on some minor updates while learning my way around. The plugin has both Windows and Mac native versions for CS5+, and I'm in good shape so far on Windows. One requirement is that we reliably report version numbers so our QA people can have a prayer of keeping things straight. On Windows we are just setting the normal Assembly Version attributes, which are then baked into the .dll, and this is reported in the System Info dialog in Photoshop like so:

Optional and third party plug-ins:

   MyPlugin 1.2

What is the Mac equivalent? The plugin bundle has an Info.plist, and that plist has CFBundleVersion set, but System Info still reports it as:


Optional and third party plug-ins:

     MyPlugin NO VERSION - from the file “MyPlugin.plugin”

I have a lot of experience developing for Windows, but Mac OS and the Adobe SDK is pretty new territory for me, so I'm sure I'm missing something obvious here...

TOPICS
SDK
632
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe
Nov 18, 2015 Nov 18, 2015

Look for a plist file. Here is how the SDK does it: (inside of Info.plist

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

  <key>CFBundleDevelopmentRegion</key>

  <string>English</string>

  <key>CFBundleExecutable</key>

  <string>$(PRODUCT_NAME)</string>

  <key>CFBundleGetInfoString</key>

  <string>CC 2015 (16.0.0.0) ©2015 Adobe Systems Incorporated</string>

  <key>CFBundleName</key>

  <string>$(PRODUCT_NAME)</string>

  <key>CFBundlePackageType</key>

  <string>$(PLUGIN_TYPE)</string>

  <key>CFBundleSignature</key>

  <string>8BIM</string>

</dict>

</plist>

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 18, 2015 Nov 18, 2015

Yes, as I said, I've got one in Contents. But it doesn't appear to have any effect on what's displayed in System Info, unless there are some extra values I'm missing?

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

  <key>BuildMachineOSBuild</key>

  <string>14F1021</string>

  <key>CFBundleDevelopmentRegion</key>

  <string>English</string>

  <key>CFBundleExecutable</key>

  <string>MyPlugin</string>

  <key>CFBundleIdentifier</key>

  <string>com.mycompany.myplugin</string>

  <key>CFBundleInfoDictionaryVersion</key>

  <string>6.0</string>

  <key>CFBundlePackageType</key>

  <string>8BFM</string>

  <key>CFBundleSignature</key>

  <string>8BIM</string>

  <key>CFBundleSupportedPlatforms</key>

  <array>

  <string>MacOSX</string>

  </array>

  <key>CFBundleVersion</key>

  <string>1.0</string>

  <key>DTCompiler</key>

  <string>com.apple.compilers.llvm.clang.1_0</string>

  <key>DTPlatformBuild</key>

  <string>7B1005</string>

  <key>DTPlatformVersion</key>

  <string>GM</string>

  <key>DTSDKBuild</key>

  <string>15A278</string>

  <key>DTSDKName</key>

  <string>macosx10.11</string>

  <key>DTXcode</key>

  <string>0711</string>

  <key>DTXcodeBuild</key>

  <string>7B1005</string>

</dict>

</plist>

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Nov 18, 2015 Nov 18, 2015
LATEST

After digging some more, I guess I have an answer. The relevant plist keys are CFBundleGetInfoString, CFBundleShortVersionString, and NSHumanReadableCopyright. The "official" way of doing it is to put a version number in CFBundleShortVersionString, and a copyright statement in NSHumanReadableCopyright. CFBundleGetInfoString has been deprecated since 10.5, and is ignored by Finder if the newer keys are set. Photoshop, however, only reads the old deprecated CFBundleGetInfoString, and that is what will be displayed on the System Info dialog. So, I need something like this:

  <key>CFBundleGetInfoString</key>

  <string>[display string for Photoshop]</string>

  <key>CFBundleShortVersionString</key>

  <string>[display version for Finder]</string>

  <key>NSHumanReadableCopyright</key>

  <string>[display copyright for Finder]</string>

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines