Skip to content

multi-os-engine-community/moe-sdk-publisher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-OS Engine SDK Publisher

This project creates a publishable SDK.

Creating A Developer SDK

For development we recommend packing SDKs with the following method:

cd <repo>/moe/tools/master
./gradlew :moe-sdk:devsdk

This will create the SDK structure under the build directory, which can be used with the Gradle plugin.

This task requires the moe-core project to be built.

Building

Build and publish release version to Maven local repository:

cd <repo>/moe/tools/master
./gradlew :moe-sdk:publishMavenJavaPublicationToMavenLocal

Build and publish snapshot version to Maven local repository:

cd <repo>/moe/tools/master
./gradlew :moe-sdk:publishMavenJavaSnapshotPublicationToMavenLocal

Build and publish release version to Bintray:

cd <repo>/moe/tools/master
./gradlew :moe-sdk:bintrayUpload \
    -Pbintray.user=<user> \
    -Pbintray.key=<key>

Build and publish snapshot version to Artifactory:

cd <repo>/moe/tools/master
./gradlew :moe-sdk:artifactoryPublish \
    -Partifactory.url=<url> \
    -Partifactory.key=<key> \
    -Partifactory.user=<user> \
    -Partifactory.pass=<pass>

These tasks require the moe-core project to be built.

Packing Debug dex2oat and/or Frameworks

During development, you might want to pack debug versions of dex2oat and MOE.framework. To do this we provide two parameters:

  • moe.moe_core.dex2oat.debug: pack the debug build of dex2oat instead of the release build.
  • moe.moe_core.sdk.debug: pack the debug build of the frameworks instead of the release build.

For example, if you want to use a release dex2oat with debug frameworks:

cd <repo>/moe/tools/master
./gradlew :moe-sdk:devsdk -Pmoe.moe_core.sdk.debug

This requires debug builds of the frameworks, for more information on how to create them, visit here.

Limit the Build

By default the SDK contains tools executables for running on both Windows and macOS. To limit the SDK to contain tools for one single paltform we provide the following properties:

  • moe.tools.sdk.win_only: build and pack SDK tools for Windows only.
  • moe.tools.sdk.mac_only: build and pack SDK tools for macOS only.

Notes

Custom SDKs require a customized Gradle plugin.