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

Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

-->
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>AMApplicationBuild</key>
	<string>153</string>
	<key>AMApplicationVersion</key>
	<string>2.0</string>
	<key>AMDocumentVersion</key>
	<string>2</string>
	<key>actions</key>
	<array>
		<dict>
			<key>action</key>
			<dict>
				<key>AMAccepts</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Optional</key>
					<true/>
					<key>Types</key>
					<array>
						<string>com.apple.applescript.alias-object</string>
					</array>
				</dict>
				<key>AMActionVersion</key>
				<string>1.1</string>
				<key>AMParameterProperties</key>
				<dict>
					<key>defaultLocation</key>
					<dict>
						<key>isPathPopUp</key>
						<true/>
						<key>variableUUIDsInMenu</key>
						<array/>
					</dict>
					<key>granularity</key>
					<dict/>
					<key>multipleSelection</key>
					<dict/>
					<key>promptMessage</key>
					<dict>
						<key>tokenizedValue</key>
						<array>
							<string>Choose a source folder for executing FlexPMD against</string>
						</array>
					</dict>
				</dict>
				<key>AMProvides</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Types</key>
					<array>
						<string>com.apple.applescript.alias-object</string>
					</array>
				</dict>
				<key>ActionBundlePath</key>
				<string>/System/Library/Automator/Ask for Finder Items.action</string>
				<key>ActionName</key>
				<string>Ask for Finder Items</string>
				<key>ActionParameters</key>
				<dict>
					<key>defaultLocation</key>
					<string>~</string>
					<key>granularity</key>
					<integer>1</integer>
					<key>multipleSelection</key>
					<false/>
					<key>promptMessage</key>
					<string>Choose a source folder for executing FlexPMD against</string>
				</dict>
				<key>Application</key>
				<array>
					<string>Finder</string>
				</array>
				<key>BundleIdentifier</key>
				<string>com.apple.Automator.AskForFinderItems</string>
				<key>CFBundleVersion</key>
				<string>1.1</string>
				<key>CanShowSelectedItemsWhenRun</key>
				<true/>
				<key>CanShowWhenRun</key>
				<false/>
				<key>Category</key>
				<array>
					<string>AMCategoryFilesAndFolders</string>
				</array>
				<key>Class Name</key>
				<string>AMAppleScriptAction</string>
				<key>InputUUID</key>
				<string>048C977D-98A1-423E-8435-0D294C8AEACB</string>
				<key>Keywords</key>
				<array>
					<string>Find</string>
					<string>Item</string>
					<string>File</string>
					<string>Folder</string>
					<string>Ask</string>
					<string>Choose</string>
					<string>Prompt</string>
				</array>
				<key>OutputUUID</key>
				<string>85D7C03F-8983-4BF2-83C6-7DF3F3838515</string>
				<key>StartAction</key>
				<false/>
				<key>UUID</key>
				<string>B38DA4F4-3B0A-479A-8996-6FEFB5CE76DE</string>
				<key>UnlocalizedApplications</key>
				<array>
					<string>Finder</string>
				</array>
				<key>arguments</key>
				<dict>
					<key>0</key>
					<dict>
						<key>default value</key>
						<string>~/Desktop</string>
						<key>name</key>
						<string>defaultLocation</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>0</string>
					</dict>
					<key>1</key>
					<dict>
						<key>default value</key>
						<false/>
						<key>name</key>
						<string>multipleSelection</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>1</string>
					</dict>
					<key>2</key>
					<dict>
						<key>default value</key>
						<string>Choose a Finder Item:</string>
						<key>name</key>
						<string>promptMessage</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>2</string>
					</dict>
					<key>3</key>
					<dict>
						<key>default value</key>
						<integer>0</integer>
						<key>name</key>
						<string>granularity</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>3</string>
					</dict>
				</dict>
				<key>isViewVisible</key>
				<true/>
				<key>location</key>
				<string>457.500000:586.000000</string>
				<key>nibPath</key>
				<string>/System/Library/Automator/Ask for Finder Items.action/Contents/Resources/English.lproj/main.nib</string>
			</dict>
			<key>isViewVisible</key>
			<true/>
		</dict>
		<dict>
			<key>action</key>
			<dict>
				<key>AMAccepts</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Optional</key>
					<true/>
					<key>Types</key>
					<array>
						<string>com.apple.cocoa.string</string>
					</array>
				</dict>
				<key>AMActionVersion</key>
				<string>2.0.1</string>
				<key>AMParameterProperties</key>
				<dict>
					<key>COMMAND_STRING</key>
					<dict/>
					<key>CheckedForUserDefaultShell</key>
					<dict/>
					<key>inputMethod</key>
					<dict/>
					<key>shell</key>
					<dict/>
					<key>source</key>
					<dict/>
				</dict>
				<key>AMProvides</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Types</key>
					<array>
						<string>com.apple.cocoa.string</string>
					</array>
				</dict>
				<key>ActionBundlePath</key>
				<string>/System/Library/Automator/Run Shell Script.action</string>
				<key>ActionName</key>
				<string>Run Shell Script</string>
				<key>ActionParameters</key>
				<dict>
					<key>COMMAND_STRING</key>
					<string>#####################
#  Script Variables #
#####################

#
# The FlexPMD version
#
flexPmdVersion=1.0.RC3

#
# The directory where the FlexPMD automator workflow has been extracted
#
flexPmdWorkflowLocation="/Users/xagnetti/Work/repositories/opensource.adobe/flexpmd/trunk/flex-pmd-automator-workflow/target/flex-pmd-automator-${flexPmdVersion}-workflow"

#
# The directory where the FlexPMD command line client is stored
#
flexPmdCommandLineDirectory=${flexPmdWorkflowLocation}/command-line

#
# The directory where the FlexPMD violations viewer application is stored
#
viewerDirectory=${flexPmdWorkflowLocation}/violations-viewer

#
# The temporary directory where files are stored by the script
#
tmpDirectory=~/flexpmd


#####################
#    Script Core    #
#####################

tmpSourceDirectory=${tmpDirectory}/sourceDirectory
resultDirectory=${tmpDirectory}
tmpStdout=${tmpDirectory}/stdout
tmpStderr=${tmpDirectory}/stderr

rm -rf ${tmpDirectory}
mkdir ${tmpDirectory}
rm ${tmpSourceDirectory}
rm ${resultDirectory}/pmd.xml
rm ${tmpStderr}
rm ${tmpStdout}

cat &gt; ${tmpSourceDirectory}

sourceDirectory=`cat ${tmpSourceDirectory}`

cd ${flexPmdCommandLineDirectory}

java -jar flex-pmd-command-line-${flexPmdVersion}.jar -s "${sourceDirectory}" -o ${resultDirectory} &gt; ${tmpStdout} 2&gt; ${tmpStderr}

report=${resultDirectory}/pmd.xml

echo file://${viewerDirectory}/flex-pmd-violations-viewer-${flexPmdVersion}.html?report=$report
</string>
					<key>CheckedForUserDefaultShell</key>
					<true/>
					<key>inputMethod</key>
					<integer>0</integer>
					<key>shell</key>
					<string>/bin/bash</string>
					<key>source</key>
					<string></string>
				</dict>
				<key>Application</key>
				<array>
					<string>Automator</string>
				</array>
				<key>BundleIdentifier</key>
				<string>com.apple.RunShellScript</string>
				<key>CFBundleVersion</key>
				<string>2.0.1</string>
				<key>CanShowSelectedItemsWhenRun</key>
				<false/>
				<key>CanShowWhenRun</key>
				<true/>
				<key>Category</key>
				<array>
					<string>AMCategoryUtilities</string>
				</array>
				<key>Class Name</key>
				<string>RunShellScriptAction</string>
				<key>InputUUID</key>
				<string>403A6D3E-FD99-4B71-8D42-C1C2E54807E3</string>
				<key>Keywords</key>
				<array>
					<string>Shell</string>
					<string>Script</string>
					<string>Command</string>
					<string>Run</string>
					<string>Unix</string>
				</array>
				<key>OutputUUID</key>
				<string>457C1F3B-569E-467A-95C7-DAFC85801AD5</string>
				<key>ShowWhenRun</key>
				<false/>
				<key>UUID</key>
				<string>7F7B8E52-6DD4-47FA-AF9D-74246B8DFA1A</string>
				<key>UnlocalizedApplications</key>
				<array>
					<string>Automator</string>
				</array>
				<key>arguments</key>
				<dict>
					<key>0</key>
					<dict>
						<key>default value</key>
						<integer>0</integer>
						<key>name</key>
						<string>inputMethod</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>0</string>
					</dict>
					<key>1</key>
					<dict>
						<key>default value</key>
						<string>/bin/sh</string>
						<key>name</key>
						<string>shell</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>1</string>
					</dict>
					<key>2</key>
					<dict>
						<key>default value</key>
						<string></string>
						<key>name</key>
						<string>source</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>2</string>
					</dict>
					<key>3</key>
					<dict>
						<key>default value</key>
						<string></string>
						<key>name</key>
						<string>COMMAND_STRING</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>3</string>
					</dict>
					<key>4</key>
					<dict>
						<key>default value</key>
						<false/>
						<key>name</key>
						<string>CheckedForUserDefaultShell</string>
						<key>required</key>
						<string>0</string>
						<key>type</key>
						<string>0</string>
						<key>uuid</key>
						<string>4</string>
					</dict>
				</dict>
				<key>isViewVisible</key>
				<true/>
				<key>location</key>
				<string>457.500000:431.000000</string>
				<key>nibPath</key>
				<string>/System/Library/Automator/Run Shell Script.action/Contents/Resources/English.lproj/main.nib</string>
			</dict>
			<key>isViewVisible</key>
			<true/>
		</dict>
		<dict>
			<key>action</key>
			<dict>
				<key>AMAccepts</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Optional</key>
					<false/>
					<key>Types</key>
					<array>
						<string>com.apple.cocoa.url</string>
					</array>
				</dict>
				<key>AMActionVersion</key>
				<string>1.0</string>
				<key>AMParameterProperties</key>
				<dict/>
				<key>AMProvides</key>
				<dict>
					<key>Container</key>
					<string>List</string>
					<key>Types</key>
					<array>
						<string>com.apple.cocoa.url</string>
					</array>
				</dict>
				<key>AMRequiredResources</key>
				<array/>
				<key>ActionBundlePath</key>
				<string>/System/Library/Automator/Display Webpages 2.action</string>
				<key>ActionName</key>
				<string>Display Webpages</string>
				<key>ActionParameters</key>
				<dict/>
				<key>Application</key>
				<array>
					<string>Safari</string>
				</array>
				<key>BundleIdentifier</key>
				<string>com.apple.Automator.Display_Webpages</string>
				<key>CFBundleVersion</key>
				<string>1.0</string>
				<key>CanShowSelectedItemsWhenRun</key>
				<false/>
				<key>CanShowWhenRun</key>
				<false/>
				<key>Category</key>
				<array>
					<string>AMCategoryInternet</string>
				</array>
				<key>Class Name</key>
				<string>Display_Webpages</string>
				<key>InputUUID</key>
				<string>84EA6E4D-9337-4CF6-9976-60DA2E4DB5FC</string>
				<key>Keywords</key>
				<array>
					<string>URL</string>
					<string>Web</string>
					<string>Display</string>
					<string>Open</string>
					<string>Show</string>
				</array>
				<key>OutputUUID</key>
				<string>8F04C323-3143-449D-8C71-0C5CACC0C875</string>
				<key>UUID</key>
				<string>89B93EE5-8B2B-48D4-B0D9-1AC49BB0AA6D</string>
				<key>UnlocalizedApplications</key>
				<array>
					<string>Safari</string>
				</array>
				<key>arguments</key>
				<dict/>
			</dict>
		</dict>
	</array>
	<key>connectors</key>
	<dict>
		<key>073CDD95-EB15-47E3-AE4D-9667F1C01ECF</key>
		<dict>
			<key>from</key>
			<string>B38DA4F4-3B0A-479A-8996-6FEFB5CE76DE - B38DA4F4-3B0A-479A-8996-6FEFB5CE76DE</string>
			<key>to</key>
			<string>7F7B8E52-6DD4-47FA-AF9D-74246B8DFA1A - 7F7B8E52-6DD4-47FA-AF9D-74246B8DFA1A</string>
		</dict>
		<key>56A224D4-DCA7-469A-974D-DAAAFF5B5871</key>
		<dict>
			<key>from</key>
			<string>7F7B8E52-6DD4-47FA-AF9D-74246B8DFA1A - 7F7B8E52-6DD4-47FA-AF9D-74246B8DFA1A</string>
			<key>to</key>
			<string>89B93EE5-8B2B-48D4-B0D9-1AC49BB0AA6D - 89B93EE5-8B2B-48D4-B0D9-1AC49BB0AA6D</string>
		</dict>
	</dict>
	<key>state</key>
	<dict>
		<key>EditorSplitViewPosition</key>
		<real>576</real>
		<key>MainSplitViewPosition_v2</key>
		<real>525</real>
		<key>windowFrame</key>
		<string>{{0, 51}, {1440, 827}}</string>
		<key>windowFrameTopLeft</key>
		<string>{{0, 0}, {1440, 827}}</string>
		<key>workflowViewScrollPosition</key>
		<string>{{0, 0}, {915, 576}}</string>
	</dict>
	<key>variables</key>
	<array>
		<dict>
			<key>UUID</key>
			<string>12F77683-5982-4DA7-A149-C34344BC6E5E</string>
			<key>identifier</key>
			<string>com.apple.Automator.Variable.Path</string>
			<key>name</key>
			<string>New Path</string>
			<key>value</key>
			<string>~/Desktop</string>
		</dict>
	</array>
</dict>
</plist>
