Добавление отдельно скомпилированных файлов классов в JavaFXPorts apk - PullRequest
0 голосов
/ 16 октября 2018

У меня есть файл build.gradle с плагинами gradle-clojure и javafxports.Он хорошо компилируется, но у меня есть одна проблема:

Скомпилированные файлы классов Clojure помещаются в build/clojure/main.Поскольку javafxports этого не знает, я получаю файл APK, который содержит все, кроме файлов фактических проектов.

Как мне указать Gradle / JavaFXPorts включать эти файлы при упаковке?

Это мой текущий build.gradle:

buildscript {
    repositories {
        jcenter()
        google()
        maven {
            url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
        }
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.3.15'
    }
}

plugins {
  id 'gradle-clojure.clojure' version '0.4.0'
  id 'application'
  id 'com.github.johnrengelman.shadow' version '2.0.4'
  id 'maven-publish'
}

repositories {
    mavenCentral()
    maven {
        name = 'clojars'
        url = 'https://repo.clojars.org'
    }
}

dependencies {
    compile 'org.clojure:clojure:1.9.0'
    compile 'clojurefx:clojurefx:0.5.0-SNAPSHOT'

    testImplementation 'junit:junit:4.12'

    devImplementation 'org.clojure:tools.namespace:0.3.0-alpha4'
}

apply plugin: 'org.javafxports.jfxmobile'

group = 'lyrion'
version = '0.1.0-SNAPSHOT'

mainClassName = 'lyrion.cec'


clojure {
  builds {
    main {
      aotAll()
    }
  }
}

jfxmobile {
    javafxportsVersion = '8.60.9'
    downConfig {
        version = '3.8.5'
        plugins 'cache', 'device', 'lifecycle', 'orientation', 'settings', 'storage'
    }
    android {
        dexOptions {
            javaMaxHeapSize "4g"
        }

        packagingOptions {
            exclude 'project.clj'
        }

        applicationPackage = 'lyrion'
    }
}

publishing {
  publications {
    shadow(MavenPublication) { publication ->
      project.shadow.component(publication)
    }
  }
  repositories {
    maven {
      name = 'clojars'
      url = 'https://repo.clojars.org'
      credentials {
        username = System.env['CLOJARS_USER']
        password = System.env['CLOJARS_PASSWORD']
      }
    }
  }
}
...