Gradle AppThwack Client Plugin

Perform various Appthwack Client operations from gradle as part of CI using this plugin

License

License

Categories

Categories

Gradle Build Tools
GroupId

GroupId

com.github.skhatri
ArtifactId

ArtifactId

gradle-appthwack
Last Version

Last Version

1.0.2
Release Date

Release Date

Type

Type

jar
Description

Description

Gradle AppThwack Client Plugin
Perform various Appthwack Client operations from gradle as part of CI using this plugin
Project URL

Project URL

https://github.com/skhatri/gradle-appthwack
Source Code Management

Source Code Management

https://github.com/skhatri/gradle-appthwack

Download gradle-appthwack

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.skhatri/gradle-appthwack/ -->
<dependency>
    <groupId>com.github.skhatri</groupId>
    <artifactId>gradle-appthwack</artifactId>
    <version>1.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.skhatri/gradle-appthwack/
implementation 'com.github.skhatri:gradle-appthwack:1.0.2'
// https://jarcasting.com/artifacts/com.github.skhatri/gradle-appthwack/
implementation ("com.github.skhatri:gradle-appthwack:1.0.2")
'com.github.skhatri:gradle-appthwack:jar:1.0.2'
<dependency org="com.github.skhatri" name="gradle-appthwack" rev="1.0.2">
  <artifact name="gradle-appthwack" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.skhatri', module='gradle-appthwack', version='1.0.2')
)
libraryDependencies += "com.github.skhatri" % "gradle-appthwack" % "1.0.2"
[com.github.skhatri/gradle-appthwack "1.0.2"]

Dependencies

compile (7)

Group / Artifact Type Version
org.apache.httpcomponents : httpmime jar 4.3.4
com.fasterxml.jackson.core : jackson-core jar 2.4.1
joda-time : joda-time jar 2.3
org.apache.httpcomponents : httpclient jar 4.3.4
org.apache.httpcomponents : httpcore-nio jar 4.3.2
com.fasterxml.jackson.core : jackson-databind jar 2.4.1
com.fasterxml.jackson.core : jackson-annotations jar 2.4.1

Project Modules

There are no modules declared in this project.

gradle-appthwack

This plugin creates tasks which consume various API from Appthwack. These tasks can be used to manage project, devicepool, file submissions and queueing up of tests.

This gradle appthwack not to be confused with "appthwack" plugin from Appthwack itself, uses the configuration under the extension "at".

Following is how you could import the plugin

buildscript {
    dependencies {
        classpath 'com.github.skhatri:gradle-appthwack:1.0.0'
        classpath 'org.apache.httpcomponents:httpclient:4.3.4'
        classpath 'org.apache.httpcomponents:httpcore-nio:4.3.2'
        classpath 'org.apache.httpcomponents:httpmime:4.3.4'
        classpath 'com.fasterxml.jackson.core:jackson-core:2.4.1'
        classpath 'com.fasterxml.jackson.core:jackson-databind:2.4.1'
        classpath 'com.fasterxml.jackson.core:jackson-annotations:2.4.1'
    }
    repositories {
        mavenCentral()
    }
}

apply plugin: 'appthwack-tasks'

And this is how it can be configured to call various appthwack api methods.

at {
    apiKey = 'XB89Faglymbuk9sXLaMR5owOXrasYbDzCIwzPCq2'

    newProject {
        projectName = project.ext['test.project.name']
        projectType = project.ext['type']
    }

    newPool {
        name = project.ext['pool.name']
        devices = project.ext['pool.devices']
    }

    ipa {
        name = project.ext['ipa.name']
        file = project.ext['ipa.file']
        type = 'iosapp'
    }

    tests {
        name = project.ext['test.name']
        file = project.ext['test.file']
        type = 'calabash'
    }

    run {

        projectId = project.ext['test.project.id']
        projectName = project.ext['test.project.name']

        poolId = project.ext['pool.id']
        poolName = project.ext['pool.name']

        ipaFileId = project.ext['ipa.id']
        ipaFileName = project.ext['ipa.name']

        testFileId = project.ext['test.id']
        testFileName = project.ext['test.name']

    }
}

The plugin adds the following tasks to the project:

#. atDevices #. atFiles #. atNewPool #. atNewProject #. atPools #. atProjects #. atRun #. atUploadIpa #. atUploadTests

Versions

Version
1.0.2
1.0.1
1.0.0