Gradle plugin providing tasks for downloading HomeSeer SDK versions and managing HomeSeer (plugin) projects
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
gradle
src/main
.gitignore
.travis.yml
LICENSE.txt
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

Gradle HomeSeer plugin HomeSeer Logo

Build Status Maintainer Status Download

The plugin provides tasks for downloading HomeSeer SDK versions and managing HomeSeer (plugin) projects.

Usage

To use the HomeSeer plugin, include in your build script:

apply plugin: 'eu.ihomeautomate.gradle.homeseer'

The plugin JAR needs to be defined in the classpath of your build script. It is directly available on BinTray. Alternatively, you can download it from GitHub and deploy it to your local repository. The following code snippet shows an example on how to retrieve it from jcenter():

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'eu.ihomeautomate.gradle:gradle-homeseer-plugin:0.4.1'
    }
}

In case you want to use SNAPSHOT builds add the JFrog OSS snapshot repository to your repositories:

buildscript {
    repositories {
        maven {
                name 'JFrog OSS snapshot repository'
                url  'https://oss.jfrog.org/oss-snapshot-local/'
        }
        jcenter()
    }

    dependencies {
        classpath 'eu.ihomeautomate.gradle:gradle-homeseer-plugin:0.5.0-SNAPSHOT'
    }
}

The plugin allows you to customize the HomeSeer SDK to download and use. By default it takes hs3_linux_3_0_0_171 (current beta version). Specify the target directory where the necessary HomeSeer SDK binary references are copied to by using sdkReferencesTargetDirectory, relative to the project directory.

homeseer {
    // To use hslinux_zee binaries use:
    homeseerSdkDownloadUrl 'http://www.homeseer.com/updates3/hslinux_zee_3_0_0_171.tar.gz'
    // To use hs3_linux binaries use :
    //homeseerSdkDownloadUrl = 'http://www.homeseer.com/updates3/hslinux_hs3_3_0_0_171.tar.gz'
    // ... or don't specify homeseerSdkDownloadUrl at all (default)
                
    // Target directory where the plugin copies Scheduler.dll, HSCF.dll, HomeSeerAPI.dll
    sdkReferencesTargetDirectory = 'MyReferences'
    // ... if none defined, the default 'References' is used.
}

Tasks

The App Engine plugin defines the following tasks:

  • homeseerDownloadSdk: Downloads the HomeSeer SDK defined by the configuration homeseerSdkDownloadUrl and explodes the artifact into ~/.gradle/homeseer-sdk.
  • homeseerCopySdkReferences: Copies the necessary HomeSeer SDK references to the target directory specified by the configuration sdkReferencesTargetDirectory.
  • homeseerCleanSdkReferences: Cleans HomeSeer SDK references from the target directory specified by the configuration sdkReferencesTargetDirectory.

Convention properties

The HomeSeer plugin defines the following convention properties in the homeseer closure:

  • homeseerSdkDownloadUrl: HomeSeer SDK URL to download and explode. Default is http://www.homeseer.com/updates3/hslinux_hs3_3_0_0_171.tar.gz.
  • sdkReferencesTargetDirectory: Directory where the necessary SDK references will be copied to (defaults to References).

Integration with other Gradle plugins

  • xamarin-build-plugin is automatically applied. You can easily run tasks buildDebug, buildRelease or buildAll. See xamarin-build-plugin for detailed information on how to use the build tasks. The build* tasks are configured to depend on homeseerCopySdkReferences so you can have your HomeSeer-plugin-project easily compiled. The clean task is automatically configured to depend on homeseerCleanSdkReferences for your convenience.

xamarin-build-plugin (Windows)

The build* tasks should also work on Windows. Be sure to customize the xbuildPath. See xamarin-build-plugin for detailed information.

Copyright and licensing

Code and documentation copyright 2014-2015 iHomeAutomate. Code released under the Apache-2.0 license.

Social media

@ihomeautomate iHomeAutomate @ Facebook +IhomeautomateEu github.com/ihomeautomate