An open API service indexing awesome lists of open source software.

https://github.com/multi-os-engine/moe-sdk-publisher

Multi-OS Engine: SDK Publisher
https://github.com/multi-os-engine/moe-sdk-publisher

Last synced: 4 months ago
JSON representation

Multi-OS Engine: SDK Publisher

Awesome Lists containing this project

README

          

# 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:

```sh
cd /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](https://github.com/multi-os-engine/moe-plugin-gradle).

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

### Building

Build and publish _release_ version to Maven local repository:

```sh
cd /moe/tools/master
./gradlew :moe-sdk:publishMavenJavaPublicationToMavenLocal
```

Build and publish _snapshot_ version to Maven local repository:

```sh
cd /moe/tools/master
./gradlew :moe-sdk:publishMavenJavaSnapshotPublicationToMavenLocal
```

Build and publish _release_ version to Bintray:

```sh
cd /moe/tools/master
./gradlew :moe-sdk:bintrayUpload \
-Pbintray.user= \
-Pbintray.key=
```

Build and publish _snapshot_ version to Artifactory:

```sh
cd /moe/tools/master
./gradlew :moe-sdk:artifactoryPublish \
-Partifactory.url= \
-Partifactory.key= \
-Partifactory.user= \
-Partifactory.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:

```sh
cd /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](https://github.com/multi-os-engine/moe-core).

### 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.exclude_mac`: don't build and pack SDK tools for mac.
- `moe.tools.sdk.exclude_win`: don't build and pack SDK tools for windows.
- `moe.tools.sdk.exclude_linux`: don't build and pack SDK tools for linux.

## Notes

Custom SDKs require a customized [Gradle plugin](https://github.com/multi-os-engine/moe-plugin-gradle).