MOE SDK & Gradle Plugin Community Edition release 1.5.0

This is my first attempt of releasing a MOE SDK build by myself, with some key updates highlighted:

  • iOS binding updated to iOS SDK 13.2, with a lot of new frameworks added, and also:
    • Binding for WatchKit removed.
    • Rename package apple.coreaudio to apple.coreaudiotypes.
    • Some generic method signature changed with more specific types.
  • SDK runtime build with latest Xcode 11.3.1 and iOS SDK 13.2.
  • SDK tools build with latest libraries and toolchains.
    • Support working with device and simulator running iOS 13.3.1.
    • Xcode 11.3.1 and MacOSX SDK 10.15 for macOS.
    • gcc 9.2.0 and mingw-w64 7.0.0 for Windows.
  • Update proguard to 6.2.2.
  • Fix Natjgen bindings for float and double fields.
  • SDK location changed to ~/.moe-community/moe-sdk-<version>.
  • Support java-library plugin.
  • Support dependencies contain Java 9 module-info.class.
  • Other bugfixes.

For more details, the source code is available at https://github.com/multi-os-engine-community

Simply change you build script to use the new plugin and SDK:

buildscript {
    dependencies {
        classpath group: 'org.multi-os-engine.community', name: 'moe-gradle', version: '1.5.0'
    } 
}
8 Likes

Wow @Noisyfox, very nice work!

you are the true MVP here :slight_smile: you are probably also the hero of the company I’m trying to build up. Leave me a paypal email or so via PM :open_mouth:

2 Likes

Which Android Studio and gradle version can u use?
I still work with an older studio version, just to avoid conflicts and issues, because before release…
Thanks in advance, best regards, Yarnee

I’ve been using the newest Android Studio all the time and it works like a charm :slight_smile:

1 Like

i ll give it a try then and update to the newest version !
Is there anything special to adjust in the gradle files?
That’s what i use now: classpath ‘com.android.tools.build:gradle:3.3.2’

If you use a version control (git) for your project nothing can go wrong :slight_smile: If it does not work out for you, revert the changes

@Noisyfox Thank you so much for your effort! I really appreciate it!

I get the following error:

> Configure project :ios
Using already downloaded SDK: /Users/hpbaxxter/.moe-community/moe-sdk-1.5.0
Could not resolve: multi-os-engine:moe-core:1.5.0
Could not resolve: multi-os-engine:moe-ios:1.5.0
Could not resolve: multi-os-engine:java8support:1.5.0
Could not resolve: multi-os-engine:moe-ios-junit:1.5.0
Could not resolve: multi-os-engine:moe-core:1.5.0
Could not resolve: multi-os-engine:moe-ios:1.5.0
Could not resolve: multi-os-engine:java8support:1.5.0
Could not resolve: multi-os-engine:moe-ios-junit:1.5.0
Could not resolve: multi-os-engine:moe-core:1.5.0
Could not resolve: multi-os-engine:moe-ios:1.5.0
Could not resolve: multi-os-engine:java8support:1.5.0
Could not resolve: multi-os-engine:moe-ios-junit:1.5.0

Anyone has an idea about what I am doing wrong?
I only get this error on my Mac…not on my linux machine.

You probably want to clean your project and reload your cache in Android Studio:

> Build > Clean Project

and then:

> File > Invalidate Caches / Restart

sadly I already tried this and this didn’t help :confused:

Which gradle version were you using?

@Noisyfox I use Gradle verison 6.1.1, Android gradle plugin-version 4.0.0-beta03

Could you try gradle 5.4.1 and see if that solves the problem?

@Noisyfox I will try to manage. Problem is, that I need to use gradle 6.1.1 because of other dependencies requiring this gradle verison.

@Noisyfox Okay, this fixed it. I made the mistake of using a too new version of Android-Studio forcing me to use the newer gradle version.

Which android studio version were you using? I’m using 3.6.1 which is the latest stable version and it still support gradle 5.
Or did you mean android gradle plugin version? If so, I’d suggest you to try the latest stable version which is 3.6.0 with gradle 5.6.4.

Meanwhile I’ll take a look at the compatibility with gradle 6 when I get some time.

great job!!! any plan to support swift in future? instead of Obj-C. Thanks again for your hard work!

1 Like

Thank you @Noisyfox, I believe this version has fixed my missing framework issue. I’m very grateful for you and everyone’s work involved in getting that bug fixed, and the other improvements that have been made to this plugin. Great job!

2 Likes

Currently it’s possible to bind to swift classes and methods with the @objc annotation. I’ll have a look to see if we could support normal swift classes.

1 Like

Is there a complete guide how to add obj-c or swift classes/pods etc, for people who are not so expiriensed or newbies??

1 Like