mirror of
				https://github.com/ARM-software/workload-automation.git
				synced 2025-10-30 22:54:18 +00:00 
			
		
		
		
	Skype: Updated to Uiautomator2
This commit is contained in:
		
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.uiautoapk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wlauto/workloads/skype/com.arm.wlauto.uiauto.skype.uiautoapk
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										41
									
								
								wlauto/workloads/skype/uiauto/app/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								wlauto/workloads/skype/uiauto/app/build.gradle
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | apply plugin: 'com.android.application' | ||||||
|  |  | ||||||
|  | def packageName = "com.arm.wlauto.uiauto.skype" | ||||||
|  |  | ||||||
|  | android { | ||||||
|  |     compileSdkVersion 25 | ||||||
|  |     buildToolsVersion "25.0.3" | ||||||
|  |     defaultConfig { | ||||||
|  |         applicationId "${packageName}" | ||||||
|  |         minSdkVersion 18 | ||||||
|  |         targetSdkVersion 25 | ||||||
|  |         versionCode 1 | ||||||
|  |         versionName "1.0" | ||||||
|  |         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | ||||||
|  |     } | ||||||
|  |     buildTypes { | ||||||
|  |         release { | ||||||
|  |             minifyEnabled false | ||||||
|  |             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | ||||||
|  |         } | ||||||
|  |         applicationVariants.all { variant -> | ||||||
|  |             variant.outputs.each { output -> | ||||||
|  |                 output.outputFile = file("$project.buildDir/apk/${packageName}.apk") | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | dependencies { | ||||||
|  |     compile fileTree(dir: 'libs', include: ['*.jar']) | ||||||
|  |     compile 'com.android.support.test:runner:0.5' | ||||||
|  |     compile 'com.android.support.test:rules:0.5' | ||||||
|  |     compile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' | ||||||
|  |     compile(name: 'uiauto', ext:'aar') | ||||||
|  | } | ||||||
|  |  | ||||||
|  | repositories { | ||||||
|  |     flatDir { | ||||||
|  |         dirs 'libs' | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     package="com.arm.wlauto.uiauto.skype" | ||||||
|  |     android:versionCode="1" | ||||||
|  |     android:versionName="1.0"> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <instrumentation | ||||||
|  |         android:name="android.support.test.runner.AndroidJUnitRunner" | ||||||
|  |         android:targetPackage="${applicationId}"/> | ||||||
|  |  | ||||||
|  | </manifest> | ||||||
|  |  | ||||||
| @@ -1,3 +1,5 @@ | |||||||
|  | package com.arm.wlauto.uiauto.skype; | ||||||
|  | 
 | ||||||
| /*    Copyright 2014-2016 ARM Limited | /*    Copyright 2014-2016 ARM Limited | ||||||
|  * |  * | ||||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
| @@ -13,36 +15,38 @@ | |||||||
|  * limitations under the License. |  * limitations under the License. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| package com.arm.wlauto.uiauto.skype; |  | ||||||
| 
 |  | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
|  | import android.support.test.runner.AndroidJUnit4; | ||||||
|  | import android.support.test.uiautomator.UiObject; | ||||||
|  | import android.support.test.uiautomator.UiObjectNotFoundException; | ||||||
|  | import android.support.test.uiautomator.UiSelector; | ||||||
|  | import android.support.test.uiautomator.UiWatcher; | ||||||
| 
 | 
 | ||||||
| // Import the uiautomator libraries |  | ||||||
| import com.android.uiautomator.core.UiObject; |  | ||||||
| import com.android.uiautomator.core.UiObjectNotFoundException; |  | ||||||
| import com.android.uiautomator.core.UiSelector; |  | ||||||
| import com.android.uiautomator.core.UiWatcher; |  | ||||||
| 
 |  | ||||||
| import com.arm.wlauto.uiauto.UxPerfUiAutomation; |  | ||||||
| import com.arm.wlauto.uiauto.ApplaunchInterface; | import com.arm.wlauto.uiauto.ApplaunchInterface; | ||||||
| import com.arm.wlauto.uiauto.UiAutoUtils; | import com.arm.wlauto.uiauto.UxPerfUiAutomation; | ||||||
| 
 | 
 | ||||||
| import static com.arm.wlauto.uiauto.BaseUiAutomation.FindByCriteria.BY_ID; | import org.junit.Test; | ||||||
| import static com.arm.wlauto.uiauto.BaseUiAutomation.FindByCriteria.BY_TEXT; | import org.junit.runner.RunWith; | ||||||
| import static com.arm.wlauto.uiauto.BaseUiAutomation.FindByCriteria.BY_DESC; |  | ||||||
| 
 | 
 | ||||||
| import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||||
| 
 | 
 | ||||||
|  | import static com.arm.wlauto.uiauto.BaseUiAutomation.FindByCriteria.BY_TEXT; | ||||||
|  | 
 | ||||||
|  | // Import the uiautomator libraries | ||||||
|  | 
 | ||||||
|  | @RunWith(AndroidJUnit4.class) | ||||||
| public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterface { | public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterface { | ||||||
| 
 | 
 | ||||||
|     public static final String ACTION_VOICE = "voice"; |     public static final String ACTION_VOICE = "voice"; | ||||||
|     public static final String ACTION_VIDEO = "video"; |     public static final String ACTION_VIDEO = "video"; | ||||||
| 
 | 
 | ||||||
|  |     @Test | ||||||
|     public void runUiAutomation() throws Exception { |     public void runUiAutomation() throws Exception { | ||||||
| 
 | 
 | ||||||
|         // Override superclass value |         // Override superclass value | ||||||
|         this.uiAutoTimeout = TimeUnit.SECONDS.toMillis(10); |         this.uiAutoTimeout = TimeUnit.SECONDS.toMillis(10); | ||||||
| 
 | 
 | ||||||
|  |         initialize_instrumentation(); | ||||||
|         parameters = getParams(); |         parameters = getParams(); | ||||||
| 
 | 
 | ||||||
|         String contactName = parameters.getString("name"); |         String contactName = parameters.getString("name"); | ||||||
| @@ -84,7 +88,7 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
| 
 | 
 | ||||||
|     // Sets the UiObject that marks the end of the application launch. |     // Sets the UiObject that marks the end of the application launch. | ||||||
|     public UiObject getLaunchEndObject() { |     public UiObject getLaunchEndObject() { | ||||||
|         UiObject launchEndObject = new UiObject(new UiSelector() |         UiObject launchEndObject = mDevice.findObject(new UiSelector() | ||||||
|                 .resourceId(packageID + "menu_search")); |                 .resourceId(packageID + "menu_search")); | ||||||
|         return launchEndObject; |         return launchEndObject; | ||||||
|     } |     } | ||||||
| @@ -105,9 +109,9 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
| 
 | 
 | ||||||
|     public void handleLoginScreen(String username, String password) throws Exception { |     public void handleLoginScreen(String username, String password) throws Exception { | ||||||
|         UiObject useridField = |         UiObject useridField = | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "sign_in_userid")); |                 mDevice.findObject(new UiSelector().resourceId(packageID + "sign_in_userid")); | ||||||
|         UiObject nextButton = |         UiObject nextButton = | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "sign_in_next_btn")); |                 mDevice.findObject(new UiSelector().resourceId(packageID + "sign_in_next_btn")); | ||||||
| 
 | 
 | ||||||
|         // Wait for login screen to appear |         // Wait for login screen to appear | ||||||
|         waitObject(useridField, 20); |         waitObject(useridField, 20); | ||||||
| @@ -116,16 +120,16 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
|         nextButton.clickAndWaitForNewWindow(); |         nextButton.clickAndWaitForNewWindow(); | ||||||
| 
 | 
 | ||||||
|         UiObject passwordField = |         UiObject passwordField = | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "signin_password")); |                 mDevice.findObject(new UiSelector().resourceId(packageID + "signin_password")); | ||||||
|         UiObject signinButton = |         UiObject signinButton = | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "sign_in_btn")); |                 mDevice.findObject(new UiSelector().resourceId(packageID + "sign_in_btn")); | ||||||
|         passwordField.setText(password); |         passwordField.setText(password); | ||||||
|         signinButton.clickAndWaitForNewWindow(); |         signinButton.clickAndWaitForNewWindow(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void dismissUpdatePopupIfPresent() throws Exception { |     public void dismissUpdatePopupIfPresent() throws Exception { | ||||||
|         UiObject updateNotice = |         UiObject updateNotice = | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "update_notice_dont_show_again")); |                 mDevice.findObject(new UiSelector().resourceId(packageID + "update_notice_dont_show_again")); | ||||||
|         //Detect if the update notice popup is present |         //Detect if the update notice popup is present | ||||||
|         if (updateNotice.waitForExists(TimeUnit.SECONDS.toMillis(30))) { |         if (updateNotice.waitForExists(TimeUnit.SECONDS.toMillis(30))) { | ||||||
|             //Stop the notice from reappearing |             //Stop the notice from reappearing | ||||||
| @@ -137,7 +141,7 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
|     public void searchForContact(String name) throws Exception { |     public void searchForContact(String name) throws Exception { | ||||||
|         boolean sharingResource = false; |         boolean sharingResource = false; | ||||||
|         UiObject menuSearch = |         UiObject menuSearch = | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "menu_search")); |                 mDevice.findObject(new UiSelector().resourceId(packageID + "menu_search")); | ||||||
|         if (menuSearch.waitForExists(uiAutoTimeout)) { |         if (menuSearch.waitForExists(uiAutoTimeout)) { | ||||||
|             // If searching for a contact from Skype directly we need |             // If searching for a contact from Skype directly we need | ||||||
|             // to click the menu search button to display the contact search box. |             // to click the menu search button to display the contact search box. | ||||||
| @@ -153,22 +157,23 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
|         waitObject(search, 10); |         waitObject(search, 10); | ||||||
|         search.setText(name); |         search.setText(name); | ||||||
| 
 | 
 | ||||||
|         UiObject peopleItem = new UiObject(new UiSelector().textContains(name) |         UiObject peopleItem = mDevice.findObject(new UiSelector().textContains(name) | ||||||
|                 .resourceId(packageID + "people_item_full_name")); |                 .resourceId(packageID + "people_item_full_name")); | ||||||
|  |         UiObject search_item_icon = | ||||||
|  |                 mDevice.findObject(new UiSelector().resourceId(packageID + "search_item_icon")); | ||||||
|  |         UiObject confirm = | ||||||
|  |                 mDevice.findObject(new UiSelector().resourceId(packageID + "fab")); | ||||||
|  | 
 | ||||||
|         peopleItem.click(); |         peopleItem.click(); | ||||||
| 
 | 
 | ||||||
|         UiObject search_item_icon = |         if (!sharingResource){ | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "search_item_icon")); |  | ||||||
| 
 |  | ||||||
|         UiObject confirm = |  | ||||||
|             new UiObject(new UiSelector().resourceId(packageID + "fab")); |  | ||||||
| 
 |  | ||||||
|             // On some devices two clicks are needed to select a contact. |             // On some devices two clicks are needed to select a contact. | ||||||
|             if (!search_item_icon.waitUntilGone(uiAutoTimeout)) { |             if (!search_item_icon.waitUntilGone(uiAutoTimeout)) { | ||||||
|                 if (!sharingResource || !confirm.exists()) { |                 if (!sharingResource || !confirm.exists()) { | ||||||
|                     peopleItem.click(); |                     peopleItem.click(); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         // Before sharing a resource from another app we first need to |         // Before sharing a resource from another app we first need to | ||||||
|         // confirm our selection. |         // confirm our selection. | ||||||
| @@ -183,7 +188,7 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
|             @Override |             @Override | ||||||
|             public boolean checkForCondition() { |             public boolean checkForCondition() { | ||||||
|                 UiObject dismissButton = |                 UiObject dismissButton = | ||||||
|                     new UiObject(new UiSelector().resourceId(packageID + "dismiss_button")); |                         mDevice.findObject(new UiSelector().resourceId(packageID + "dismiss_button")); | ||||||
| 
 | 
 | ||||||
|                 if (dismissButton.exists()) { |                 if (dismissButton.exists()) { | ||||||
|                     try { |                     try { | ||||||
| @@ -206,7 +211,7 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
|             @Override |             @Override | ||||||
|             public boolean checkForCondition() { |             public boolean checkForCondition() { | ||||||
|                 UiObject nextButton = |                 UiObject nextButton = | ||||||
|                     new UiObject(new UiSelector().resourceId(packageID + "next_button")); |                         mDevice.findObject(new UiSelector().resourceId(packageID + "next_button")); | ||||||
| 
 | 
 | ||||||
|                 if (nextButton.exists()) { |                 if (nextButton.exists()) { | ||||||
|                     pressBack(); |                     pressBack(); | ||||||
| @@ -223,11 +228,11 @@ public class UiAutomation extends UxPerfUiAutomation implements ApplaunchInterfa | |||||||
|         String description = video ? "Video call" : "Call options"; |         String description = video ? "Video call" : "Call options"; | ||||||
| 
 | 
 | ||||||
|         UiObject callButton = |         UiObject callButton = | ||||||
|             new UiObject(new UiSelector().descriptionContains(description)); |                 mDevice.findObject(new UiSelector().descriptionContains(description)); | ||||||
|         UiObject muteButton = |         UiObject muteButton = | ||||||
|             new UiObject(new UiSelector().descriptionContains("mute")); |                 mDevice.findObject(new UiSelector().descriptionContains("mute")); | ||||||
|         UiObject endButton = |         UiObject endButton = | ||||||
|             new UiObject(new UiSelector().descriptionContains("end")); |                 mDevice.findObject(new UiSelector().descriptionMatches("Hang [uU]p|End call")); | ||||||
| 
 | 
 | ||||||
|         // Start the call and log how long that takes |         // Start the call and log how long that takes | ||||||
|         ActionLogger logger = new ActionLogger(testTag + "_start", parameters); |         ActionLogger logger = new ActionLogger(testTag + "_start", parameters); | ||||||
							
								
								
									
										23
									
								
								wlauto/workloads/skype/uiauto/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								wlauto/workloads/skype/uiauto/build.gradle
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | // Top-level build file where you can add configuration options common to all sub-projects/modules. | ||||||
|  |  | ||||||
|  | buildscript { | ||||||
|  |     repositories { | ||||||
|  |         jcenter() | ||||||
|  |     } | ||||||
|  |     dependencies { | ||||||
|  |         classpath 'com.android.tools.build:gradle:2.3.1' | ||||||
|  |  | ||||||
|  |         // NOTE: Do not place your application dependencies here; they belong | ||||||
|  |         // in the individual module build.gradle files | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | allprojects { | ||||||
|  |     repositories { | ||||||
|  |         jcenter() | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | task clean(type: Delete) { | ||||||
|  |     delete rootProject.buildDir | ||||||
|  | } | ||||||
| @@ -8,32 +8,33 @@ fi | |||||||
| script_dir=`dirname $script_path` | script_dir=`dirname $script_path` | ||||||
| cd $script_dir | cd $script_dir | ||||||
|  |  | ||||||
| # Ensure build.xml exists before starting | # Ensure gradelw exists before starting | ||||||
| if [[ ! -f build.xml ]]; then | if [[ ! -f gradlew ]]; then | ||||||
|     echo 'Ant build.xml file not found! Check that you are in the right directory.' |     echo 'gradlew file not found! Check that you are in the right directory.' | ||||||
|     exit 9 |     exit 9 | ||||||
| fi | fi | ||||||
|  |  | ||||||
| # Copy base classes from wlauto dist | # Copy base class library from wlauto dist | ||||||
| class_dir=bin/classes/com/arm/wlauto/uiauto | libs_dir=app/libs | ||||||
| base_classes=`python -c "import os, wlauto; print os.path.join(os.path.dirname(wlauto.__file__), 'common', 'android', '*.class')"` | base_classes=`python -c "import os, wlauto; print os.path.join(os.path.dirname(wlauto.__file__), 'common', 'android', '*.aar')"` | ||||||
| mkdir -p $class_dir | mkdir -p $libs_dir | ||||||
| cp $base_classes $class_dir | cp $base_classes $libs_dir | ||||||
|  |  | ||||||
| # Build and return appropriate exit code if failed | # Build and return appropriate exit code if failed | ||||||
| ant build | # gradle build | ||||||
|  | ./gradlew clean :app:assembleDebug | ||||||
| exit_code=$? | exit_code=$? | ||||||
| if [[ $exit_code -ne 0 ]]; then | if [[ $exit_code -ne 0 ]]; then | ||||||
|     echo "ERROR: 'ant build' exited with code $exit_code" |     echo "ERROR: 'gradle build' exited with code $exit_code" | ||||||
|     exit $exit_code |     exit $exit_code | ||||||
| fi | fi | ||||||
|  |  | ||||||
| # If successful move JAR file to workload folder (overwrite previous) | # If successful move APK file to workload folder (overwrite previous) | ||||||
| package=com.arm.wlauto.uiauto.skype.jar | package=com.arm.wlauto.uiauto.skype | ||||||
| rm -f ../$package | rm -f ../$package | ||||||
| if [[ -f bin/$package ]]; then | if [[ -f app/build/apk/$package.apk ]]; then | ||||||
|     cp bin/$package .. |     cp app/build/apk/$package.apk ../$package.uiautoapk | ||||||
| else | else | ||||||
|     echo 'ERROR: UiAutomator JAR could not be found!' |     echo 'ERROR: UiAutomator apk could not be found!' | ||||||
|     exit 9 |     exit 9 | ||||||
| fi | fi | ||||||
|   | |||||||
| @@ -1,92 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <project name="com.arm.wlauto.uiauto.skype" default="help"> |  | ||||||
|  |  | ||||||
|     <!-- The local.properties file is created and updated by the 'android' tool. |  | ||||||
|          It contains the path to the SDK. It should *NOT* be checked into |  | ||||||
|          Version Control Systems. --> |  | ||||||
|     <property file="local.properties" /> |  | ||||||
|  |  | ||||||
|     <!-- The ant.properties file can be created by you. It is only edited by the |  | ||||||
|          'android' tool to add properties to it. |  | ||||||
|          This is the place to change some Ant specific build properties. |  | ||||||
|          Here are some properties you may want to change/update: |  | ||||||
|  |  | ||||||
|          source.dir |  | ||||||
|              The name of the source directory. Default is 'src'. |  | ||||||
|          out.dir |  | ||||||
|              The name of the output directory. Default is 'bin'. |  | ||||||
|  |  | ||||||
|          For other overridable properties, look at the beginning of the rules |  | ||||||
|          files in the SDK, at tools/ant/build.xml |  | ||||||
|  |  | ||||||
|          Properties related to the SDK location or the project target should |  | ||||||
|          be updated using the 'android' tool with the 'update' action. |  | ||||||
|  |  | ||||||
|          This file is an integral part of the build system for your |  | ||||||
|          application and should be checked into Version Control Systems. |  | ||||||
|  |  | ||||||
|          --> |  | ||||||
|     <property file="ant.properties" /> |  | ||||||
|  |  | ||||||
|     <!-- if sdk.dir was not set from one of the property file, then |  | ||||||
|          get it from the ANDROID_HOME env var. |  | ||||||
|          This must be done before we load project.properties since |  | ||||||
|          the proguard config can use sdk.dir --> |  | ||||||
|     <property environment="env" /> |  | ||||||
|     <condition property="sdk.dir" value="${env.ANDROID_HOME}"> |  | ||||||
|         <isset property="env.ANDROID_HOME" /> |  | ||||||
|     </condition> |  | ||||||
|  |  | ||||||
|     <!-- The project.properties file is created and updated by the 'android' |  | ||||||
|          tool, as well as ADT. |  | ||||||
|  |  | ||||||
|          This contains project specific properties such as project target, and library |  | ||||||
|          dependencies. Lower level build properties are stored in ant.properties |  | ||||||
|          (or in .classpath for Eclipse projects). |  | ||||||
|  |  | ||||||
|          This file is an integral part of the build system for your |  | ||||||
|          application and should be checked into Version Control Systems. --> |  | ||||||
|     <loadproperties srcFile="project.properties" /> |  | ||||||
|  |  | ||||||
|     <!-- quick check on sdk.dir --> |  | ||||||
|     <fail |  | ||||||
|             message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." |  | ||||||
|             unless="sdk.dir" |  | ||||||
|     /> |  | ||||||
|  |  | ||||||
|     <!-- |  | ||||||
|         Import per project custom build rules if present at the root of the project. |  | ||||||
|         This is the place to put custom intermediary targets such as: |  | ||||||
|             -pre-build |  | ||||||
|             -pre-compile |  | ||||||
|             -post-compile (This is typically used for code obfuscation. |  | ||||||
|                            Compiled code location: ${out.classes.absolute.dir} |  | ||||||
|                            If this is not done in place, override ${out.dex.input.absolute.dir}) |  | ||||||
|             -post-package |  | ||||||
|             -post-build |  | ||||||
|             -pre-clean |  | ||||||
|     --> |  | ||||||
|     <import file="custom_rules.xml" optional="true" /> |  | ||||||
|  |  | ||||||
|     <!-- Import the actual build file. |  | ||||||
|  |  | ||||||
|          To customize existing targets, there are two options: |  | ||||||
|          - Customize only one target: |  | ||||||
|              - copy/paste the target into this file, *before* the |  | ||||||
|                <import> task. |  | ||||||
|              - customize it to your needs. |  | ||||||
|          - Customize the whole content of build.xml |  | ||||||
|              - copy/paste the content of the rules files (minus the top node) |  | ||||||
|                into this file, replacing the <import> task. |  | ||||||
|              - customize to your needs. |  | ||||||
|  |  | ||||||
|          *********************** |  | ||||||
|          ****** IMPORTANT ****** |  | ||||||
|          *********************** |  | ||||||
|          In all cases you must update the value of version-tag below to read 'custom' instead of an integer, |  | ||||||
|          in order to avoid having your file be overridden by tools such as "android update project" |  | ||||||
|     --> |  | ||||||
|     <!-- version-tag: VERSION_TAG --> |  | ||||||
|     <import file="${sdk.dir}/tools/ant/uibuild.xml" /> |  | ||||||
|  |  | ||||||
| </project> |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								wlauto/workloads/skype/uiauto/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								wlauto/workloads/skype/uiauto/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										6
									
								
								wlauto/workloads/skype/uiauto/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								wlauto/workloads/skype/uiauto/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | |||||||
|  | #Wed May 03 15:42:44 BST 2017 | ||||||
|  | distributionBase=GRADLE_USER_HOME | ||||||
|  | distributionPath=wrapper/dists | ||||||
|  | zipStoreBase=GRADLE_USER_HOME | ||||||
|  | zipStorePath=wrapper/dists | ||||||
|  | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip | ||||||
							
								
								
									
										160
									
								
								wlauto/workloads/skype/uiauto/gradlew
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										160
									
								
								wlauto/workloads/skype/uiauto/gradlew
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -0,0 +1,160 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | ############################################################################## | ||||||
|  | ## | ||||||
|  | ##  Gradle start up script for UN*X | ||||||
|  | ## | ||||||
|  | ############################################################################## | ||||||
|  |  | ||||||
|  | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||||
|  | DEFAULT_JVM_OPTS="" | ||||||
|  |  | ||||||
|  | APP_NAME="Gradle" | ||||||
|  | APP_BASE_NAME=`basename "$0"` | ||||||
|  |  | ||||||
|  | # Use the maximum available, or set MAX_FD != -1 to use that value. | ||||||
|  | MAX_FD="maximum" | ||||||
|  |  | ||||||
|  | warn ( ) { | ||||||
|  |     echo "$*" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | die ( ) { | ||||||
|  |     echo | ||||||
|  |     echo "$*" | ||||||
|  |     echo | ||||||
|  |     exit 1 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # OS specific support (must be 'true' or 'false'). | ||||||
|  | cygwin=false | ||||||
|  | msys=false | ||||||
|  | darwin=false | ||||||
|  | case "`uname`" in | ||||||
|  |   CYGWIN* ) | ||||||
|  |     cygwin=true | ||||||
|  |     ;; | ||||||
|  |   Darwin* ) | ||||||
|  |     darwin=true | ||||||
|  |     ;; | ||||||
|  |   MINGW* ) | ||||||
|  |     msys=true | ||||||
|  |     ;; | ||||||
|  | esac | ||||||
|  |  | ||||||
|  | # Attempt to set APP_HOME | ||||||
|  | # Resolve links: $0 may be a link | ||||||
|  | PRG="$0" | ||||||
|  | # Need this for relative symlinks. | ||||||
|  | while [ -h "$PRG" ] ; do | ||||||
|  |     ls=`ls -ld "$PRG"` | ||||||
|  |     link=`expr "$ls" : '.*-> \(.*\)$'` | ||||||
|  |     if expr "$link" : '/.*' > /dev/null; then | ||||||
|  |         PRG="$link" | ||||||
|  |     else | ||||||
|  |         PRG=`dirname "$PRG"`"/$link" | ||||||
|  |     fi | ||||||
|  | done | ||||||
|  | SAVED="`pwd`" | ||||||
|  | cd "`dirname \"$PRG\"`/" >/dev/null | ||||||
|  | APP_HOME="`pwd -P`" | ||||||
|  | cd "$SAVED" >/dev/null | ||||||
|  |  | ||||||
|  | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||||
|  |  | ||||||
|  | # Determine the Java command to use to start the JVM. | ||||||
|  | if [ -n "$JAVA_HOME" ] ; then | ||||||
|  |     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||||||
|  |         # IBM's JDK on AIX uses strange locations for the executables | ||||||
|  |         JAVACMD="$JAVA_HOME/jre/sh/java" | ||||||
|  |     else | ||||||
|  |         JAVACMD="$JAVA_HOME/bin/java" | ||||||
|  |     fi | ||||||
|  |     if [ ! -x "$JAVACMD" ] ; then | ||||||
|  |         die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||||||
|  |  | ||||||
|  | Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | location of your Java installation." | ||||||
|  |     fi | ||||||
|  | else | ||||||
|  |     JAVACMD="java" | ||||||
|  |     which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
|  |  | ||||||
|  | Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | location of your Java installation." | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # Increase the maximum file descriptors if we can. | ||||||
|  | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then | ||||||
|  |     MAX_FD_LIMIT=`ulimit -H -n` | ||||||
|  |     if [ $? -eq 0 ] ; then | ||||||
|  |         if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then | ||||||
|  |             MAX_FD="$MAX_FD_LIMIT" | ||||||
|  |         fi | ||||||
|  |         ulimit -n $MAX_FD | ||||||
|  |         if [ $? -ne 0 ] ; then | ||||||
|  |             warn "Could not set maximum file descriptor limit: $MAX_FD" | ||||||
|  |         fi | ||||||
|  |     else | ||||||
|  |         warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" | ||||||
|  |     fi | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # For Darwin, add options to specify how the application appears in the dock | ||||||
|  | if $darwin; then | ||||||
|  |     GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # For Cygwin, switch paths to Windows format before running java | ||||||
|  | if $cygwin ; then | ||||||
|  |     APP_HOME=`cygpath --path --mixed "$APP_HOME"` | ||||||
|  |     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` | ||||||
|  |     JAVACMD=`cygpath --unix "$JAVACMD"` | ||||||
|  |  | ||||||
|  |     # We build the pattern for arguments to be converted via cygpath | ||||||
|  |     ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` | ||||||
|  |     SEP="" | ||||||
|  |     for dir in $ROOTDIRSRAW ; do | ||||||
|  |         ROOTDIRS="$ROOTDIRS$SEP$dir" | ||||||
|  |         SEP="|" | ||||||
|  |     done | ||||||
|  |     OURCYGPATTERN="(^($ROOTDIRS))" | ||||||
|  |     # Add a user-defined pattern to the cygpath arguments | ||||||
|  |     if [ "$GRADLE_CYGPATTERN" != "" ] ; then | ||||||
|  |         OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" | ||||||
|  |     fi | ||||||
|  |     # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||||||
|  |     i=0 | ||||||
|  |     for arg in "$@" ; do | ||||||
|  |         CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` | ||||||
|  |         CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option | ||||||
|  |  | ||||||
|  |         if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition | ||||||
|  |             eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` | ||||||
|  |         else | ||||||
|  |             eval `echo args$i`="\"$arg\"" | ||||||
|  |         fi | ||||||
|  |         i=$((i+1)) | ||||||
|  |     done | ||||||
|  |     case $i in | ||||||
|  |         (0) set -- ;; | ||||||
|  |         (1) set -- "$args0" ;; | ||||||
|  |         (2) set -- "$args0" "$args1" ;; | ||||||
|  |         (3) set -- "$args0" "$args1" "$args2" ;; | ||||||
|  |         (4) set -- "$args0" "$args1" "$args2" "$args3" ;; | ||||||
|  |         (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; | ||||||
|  |         (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; | ||||||
|  |         (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; | ||||||
|  |         (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; | ||||||
|  |         (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; | ||||||
|  |     esac | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules | ||||||
|  | function splitJvmOpts() { | ||||||
|  |     JVM_OPTS=("$@") | ||||||
|  | } | ||||||
|  | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS | ||||||
|  | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" | ||||||
|  |  | ||||||
|  | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" | ||||||
							
								
								
									
										90
									
								
								wlauto/workloads/skype/uiauto/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								wlauto/workloads/skype/uiauto/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,90 @@ | |||||||
|  | @if "%DEBUG%" == "" @echo off | ||||||
|  | @rem ########################################################################## | ||||||
|  | @rem | ||||||
|  | @rem  Gradle startup script for Windows | ||||||
|  | @rem | ||||||
|  | @rem ########################################################################## | ||||||
|  |  | ||||||
|  | @rem Set local scope for the variables with windows NT shell | ||||||
|  | if "%OS%"=="Windows_NT" setlocal | ||||||
|  |  | ||||||
|  | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||||
|  | set DEFAULT_JVM_OPTS= | ||||||
|  |  | ||||||
|  | set DIRNAME=%~dp0 | ||||||
|  | if "%DIRNAME%" == "" set DIRNAME=. | ||||||
|  | set APP_BASE_NAME=%~n0 | ||||||
|  | set APP_HOME=%DIRNAME% | ||||||
|  |  | ||||||
|  | @rem Find java.exe | ||||||
|  | if defined JAVA_HOME goto findJavaFromJavaHome | ||||||
|  |  | ||||||
|  | set JAVA_EXE=java.exe | ||||||
|  | %JAVA_EXE% -version >NUL 2>&1 | ||||||
|  | if "%ERRORLEVEL%" == "0" goto init | ||||||
|  |  | ||||||
|  | echo. | ||||||
|  | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
|  | echo. | ||||||
|  | echo Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | echo location of your Java installation. | ||||||
|  |  | ||||||
|  | goto fail | ||||||
|  |  | ||||||
|  | :findJavaFromJavaHome | ||||||
|  | set JAVA_HOME=%JAVA_HOME:"=% | ||||||
|  | set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||||||
|  |  | ||||||
|  | if exist "%JAVA_EXE%" goto init | ||||||
|  |  | ||||||
|  | echo. | ||||||
|  | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||||||
|  | echo. | ||||||
|  | echo Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | echo location of your Java installation. | ||||||
|  |  | ||||||
|  | goto fail | ||||||
|  |  | ||||||
|  | :init | ||||||
|  | @rem Get command-line arguments, handling Windowz variants | ||||||
|  |  | ||||||
|  | if not "%OS%" == "Windows_NT" goto win9xME_args | ||||||
|  | if "%@eval[2+2]" == "4" goto 4NT_args | ||||||
|  |  | ||||||
|  | :win9xME_args | ||||||
|  | @rem Slurp the command line arguments. | ||||||
|  | set CMD_LINE_ARGS= | ||||||
|  | set _SKIP=2 | ||||||
|  |  | ||||||
|  | :win9xME_args_slurp | ||||||
|  | if "x%~1" == "x" goto execute | ||||||
|  |  | ||||||
|  | set CMD_LINE_ARGS=%* | ||||||
|  | goto execute | ||||||
|  |  | ||||||
|  | :4NT_args | ||||||
|  | @rem Get arguments from the 4NT Shell from JP Software | ||||||
|  | set CMD_LINE_ARGS=%$ | ||||||
|  |  | ||||||
|  | :execute | ||||||
|  | @rem Setup the command line | ||||||
|  |  | ||||||
|  | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||||
|  |  | ||||||
|  | @rem Execute Gradle | ||||||
|  | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% | ||||||
|  |  | ||||||
|  | :end | ||||||
|  | @rem End local scope for the variables with windows NT shell | ||||||
|  | if "%ERRORLEVEL%"=="0" goto mainEnd | ||||||
|  |  | ||||||
|  | :fail | ||||||
|  | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||||
|  | rem the _cmd.exe /c_ return code! | ||||||
|  | if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||||
|  | exit /b 1 | ||||||
|  |  | ||||||
|  | :mainEnd | ||||||
|  | if "%OS%"=="Windows_NT" endlocal | ||||||
|  |  | ||||||
|  | :omega | ||||||
| @@ -1,14 +0,0 @@ | |||||||
| # This file is automatically generated by Android Tools. |  | ||||||
| # Do not modify this file -- YOUR CHANGES WILL BE ERASED! |  | ||||||
| # |  | ||||||
| # This file must be checked in Version Control Systems. |  | ||||||
| # |  | ||||||
| # To customize properties used by the Ant build system edit |  | ||||||
| # "ant.properties", and override values to adapt the script to your |  | ||||||
| # project structure. |  | ||||||
| # |  | ||||||
| # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): |  | ||||||
| #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt |  | ||||||
|  |  | ||||||
| # Project target. |  | ||||||
| target=android-18 |  | ||||||
							
								
								
									
										1
									
								
								wlauto/workloads/skype/uiauto/settings.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								wlauto/workloads/skype/uiauto/settings.gradle
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | include ':app' | ||||||
		Reference in New Issue
	
	Block a user