Project doesn't build after upgrading to android gradle plugin 3.0.0+ - gradle

after migrating to Android 3.0 I've changed gradle configurations in my projects.
In one of them I get errors while trying to do the build:
Execution failed for task ':app:compileDebugKotlin'.
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\dialog\DeleteConfirmDialog.kt: (35, 46): Too many arguments for public constructor Builder(p0: Context!) defined in android.app.AlertDialog.Builder
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\dialog\HumidityThresholdDialog.kt: (46, 74): Too many arguments for public open fun getString(p0: String!): String! defined in android.os.Bundle
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\dialog\PermissionDialog.kt: (45, 50): Unresolved reference: ACTION_APcomICATION_DETAILS_SETTINGS
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\dialog\PermissionDialog.kt: (53, 22): Unresolved reference: finishAffinity
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\dialog\TemperatureThresholdDialog.kt: (74, 73): Unresolved reference: holo_red_dark
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\dialog\TemperatureThresholdDialog.kt: (81, 88): Unresolved reference: holo_red_dark
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\fragment\Thresholds.kt: (128, 41): Unresolved reference: fragmentManager
e: C:\dev\myapp\app\src\main\kotlin\com\xxxxx\fragment\Thresholds.kt: (153, 38): Unresolved reference: fragmentManager
...
What is interesting, when I navigate to error lines, eg:
val color = if (it) android.R.color.black else android.R.color.holo_red_dark //Unresolved reference: holo_red_dark
dialog.show(activity.fragmentManager, ThresholdDialog::class.java.simpleName) //Unresolved reference: fragmentManager
the compiler doesn't show an error and I can navigate to those classes.
Project:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://raw.github.com/vRallev/mvn-repo/master/' }
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1' //<--- when reverting back to 2.3.3, the project is built without problems
classpath 'io.fabric.tools:gradle:1.23.0'
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
}
}
App:
buildscript {
ext.versions = [
kotlin : '1.1.60',
crashlytics: '1.16.0'
]
repositories {
mavenCentral()
maven { url 'http://download.crashlytics.com/maven' }
maven { url "https://plugins.gradle.org/m2/" }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath "com.crashlytics.tools.gradle:crashlytics-gradle:$versions.crashlytics"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$versions.kotlin"
classpath "org.kordamp:markdown-gradle-plugin:1.1.0"
classpath 'io.fabric.tools:gradle:1.23.0'
}
}
repositories {
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://jitpack.io' }
mavenLocal()
mavenCentral()
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'org.kordamp.markdown.convert'
apply from: 'signing.gradle'
def version = ["major": 3, "minor": 6, "patch": 1, "build": 0]
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.xxxxx"
minSdkVersion 19
targetSdkVersion 26
versionCode 10000000 * version["major"] + 100000 * version["minor"] + 1000 * version["patch"] + version["build"]
versionName "${version["major"]}.${version["minor"]}.${version["patch"]}"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7 //<- tried to changed to 1_8 with android studio 3, doesn't help
targetCompatibility JavaVersion.VERSION_1_7
}
signingConfigs {
release
}
buildTypes {
release {
// runProguard false
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled true
signingConfig signingConfigs.release
}
debug {
ext.enableCrashlytics = false
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main.assets.srcDirs += 'build/gen-html'
androidTest.java.srcDirs += 'src/androidTest/kotlin'
}
lintOptions {
checkReleaseBuilds false
disable 'InvalidPackage'
}
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
exclude 'META-INF/LICENSE.txt'
}
}
ext.versions += [
supportLib : "26.1.0",
logback : '1.1.1-2',
dagger : '1.2.5',
butterknife: '7.0.1'
]
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) //changed all 'compile' to 'implementation', doesn't help
compile 'com.xxxxx.lib:1.0.1-SNAPSHOT#aar'
compile "com.android.support:support-v4:$versions.supportLib"
compile "com.android.support:support-v13:$versions.supportLib"
compile "com.squareup.dagger:dagger:$versions.dagger"
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
compile 'com.google.guava:guava:20.0'
compile 'de.greenrobot:eventbus:2.2.1'
compile 'org.slf4j:slf4j-api:1.7.6'
compile "com.github.tony19:logback-android-core:$versions.logback"
compile "com.github.tony19:logback-android-classic:$versions.logback"
compile "org.jetbrains.kotlin:kotlin-stdlib:$versions.kotlin"
compile 'io.reactivex:rxjava:1.0.16'
compile 'io.reactivex:rxkotlin:0.40.1'
compile "com.jakewharton.rxbinding:rxbinding:0.4.0"
compile "com.jakewharton.rxbinding:rxbinding-kotlin:0.4.0"
compile "com.jakewharton:butterknife:$versions.butterknife"
compile 'com.jakewharton.threetenabp:threetenabp:1.0.3'
compile('com.crashlytics.sdk.android:crashlytics:2.6.8#aar') { transitive = true }
compile 'com.github.PhilJay:MPAndroidChart:v2.0.7'
kapt "com.jakewharton:butterknife:$versions.butterknife"
kapt "com.squareup.dagger:dagger-compiler:$versions.dagger"
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.9.0'
testCompile 'org.assertj:assertj-core:3.8.0'
}
markdownToHtml {
sourceDir = file('src/main/markdown')
fencedCodeBlocks = true
hardwraps = true
autoLinks = true
}
project.afterEvaluate {
tasks.findByName('mergeDebugAssets')?.dependsOn tasks['markdownToHtml']
tasks.findByName('mergeReleaseAssets')?.dependsOn tasks['markdownToHtml']
}
What could be the issue?

I took a look at dependency tree and noticed that logback library was using an old android library which was pulled by gradle form repository and strangely used to compile the project.
+--- com.github.tony19:logback-android-classic:1.1.1-2
| +--- com.github.tony19:apktool-lib:1.4.4-3
| | \--- com.google.android:android:2.1_r1
After excluding it from gradle dependency the project started to build properly.
implementation('com.github.tony19:logback-android-classic:1.1.1-6') {
exclude group: 'com.google.android', module: 'android'
}

Related

Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51

I am unable to run my corda project under corporate environment/desktop. I have been building this project on my personal desktop but right now I am going to shift it to my work desktop and is unable to build the project by applying script build.gradle. I have research on this but still have 0 clues about what might be the caused.
My build.gradle file:
buildscript {
ext.corda_release_group = 'net.corda'
ext.corda_release_version = '3.3-corda'
ext.corda_gradle_plugins_version = '3.2.1'
ext.kotlin_version = '1.2.51'
ext.junit_version = '4.12'
ext.quasar_version = '0.7.9'
repositories {
mavenLocal()
mavenCentral()
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "net.corda.plugins:cordapp:$corda_gradle_plugins_version"
classpath "net.corda.plugins:cordformation:$corda_gradle_plugins_version"
classpath "net.corda.plugins:quasar-utils:$corda_gradle_plugins_version"
}
}
allprojects {
repositories {
mavenLocal()
jcenter()
mavenCentral()
maven { url 'https://jitpack.io' }
maven { url 'https://ci-artifactory.corda.r3cev.com/artifactory/corda-dev/' }
}
}
apply plugin: 'kotlin'
apply plugin: 'net.corda.plugins.cordapp'
apply plugin: 'net.corda.plugins.cordformation'
apply plugin: 'net.corda.plugins.quasar-utils'
sourceSets {
main {
resources {
srcDir "config/dev"
}
}
test {
resources {
srcDir "config/test"
}
}
integrationTest {
kotlin {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integrationTest/kotlin')
}
}
}
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
testCompile "junit:junit:$junit_version"
// Corda integration dependencies
cordaCompile "$corda_release_group:corda-core:$corda_release_version"
cordaCompile "$corda_release_group:corda-finance:$corda_release_version"
cordaCompile "$corda_release_group:corda-jackson:$corda_release_version"
cordaCompile "$corda_release_group:corda-rpc:$corda_release_version"
cordaCompile "$corda_release_group:corda-node-api:$corda_release_version"
cordaRuntime "$corda_release_group:corda:$corda_release_version"
testCompile "$corda_release_group:corda-node-driver:$corda_release_version"
// CorDapp dependencies
// Specify your CorDapp's dependencies below, including dependent CorDapps.
// We've defined Cash as a dependent CorDapp as an example.
cordapp project(":cordapp")
cordapp project(":cordapp-contracts-states")
cordapp project(":oracle")
cordapp project(":banking")
cordapp "$corda_release_group:corda-finance:$corda_release_version"
testCompile project(path: ':cordapp', configuration: 'testOutput')
}
task integrationTest(type: Test, dependsOn: []) {
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
languageVersion = "1.1"
apiVersion = "1.1"
jvmTarget = "1.8"
javaParameters = true // Useful for reflection.
}
}
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
directory "./build/nodes"
node {
name "O=Notary,L=London,C=GB"
notary = [validating: false]
p2pPort 10002
rpcSettings {
address("localhost:10003")
adminAddress("localhost:10043")
}
cordapps = []
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
node {
name "O=PartyA,L=London,C=GB"
p2pPort 10005
rpcSettings {
address("localhost:10006")
adminAddress("localhost:10046")
}
cordapps = [
"$project.group:banking:$project.version",
"$project.group:cordapp-contracts-states:$project.version",
"$project.group:cordapp:$project.version",
"$corda_release_group:corda-finance:$corda_release_version"
]
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
node {
name "O=PartyB,L=New York,C=US"
p2pPort 10008
rpcSettings {
address("localhost:10009")
adminAddress("localhost:10049")
}
cordapps = [
"$project.group:banking:$project.version",
"$project.group:cordapp-contracts-states:$project.version",
"$project.group:cordapp:$project.version",
"$corda_release_group:corda-finance:$corda_release_version"
]
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
node {
name "O=Oracle,L=New York,C=US"
p2pPort 10011
rpcSettings {
address("localhost:10012")
adminAddress("localhost:10052")
}
cordapps = [
"$project.group:banking:$project.version",
"$project.group:cordapp-contracts-states:$project.version",
"$project.group:oracle:$project.version",
"$project.group:cordapp:$project.version",
"$corda_release_group:corda-finance:$corda_release_version"
]
rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
}
task runTemplateClient(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'com.template.ClientKt'
args 'localhost:10006'
}
and the error:
org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':classpath'.
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:882)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1500(DefaultConfiguration.java:114)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:856)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:382)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown Source)
at org.gradle.api.internal.initialization.DefaultScriptHandler.getScriptClassPath(DefaultScriptHandler.java:73)
Cause 1: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51.
Required by:
project :
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:100)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve(RepositoryChainComponentMetaDataResolver.java:60)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve(ComponentResolversChain.java:93)
at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:45)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ComponentState.resolve(DependencyGraphBuilder.java:854)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ComponentState.getMetaData(DependencyGraphBuilder.java:865)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$EdgeState.calculateTargetConfigurations(DependencyGraphBuilder.java:446)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$EdgeState.attachToTargetConfigurations(DependencyGraphBuilder.java:417)
Cause 2: org.gradle.internal.resolve.ModuleVersionResolveException: No cached version of org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51 available for offline mode.
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.StartParameterResolutionOverride$FailedRemoteAccess.resolveComponentMetaData(StartParameterResolutionOverride.java:129)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData(CachingModuleComponentRepository.java:363)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveComponentMetaData(BaseModuleComponentRepositoryAccess.java:50)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveComponentMetaData(InMemoryCachedModuleComponentRepository.java:95)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:109)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process(ComponentMetaDataResolveState.java:66)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve(ComponentMetaDataResolveState.java:58)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch(RepositoryChainComponentMetaDataResolver.java:133)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch(RepositoryChainComponentMetaDataResolver.java:116)
Cause 2: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve net.corda.plugins:cordapp:3.2.1.
Required by:
project :
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:100)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve(RepositoryChainComponentMetaDataResolver.java:60)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve(ComponentResolversChain.java:93)
at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:45)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ComponentState.resolve(DependencyGraphBuilder.java:854)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ComponentState.getMetaData(DependencyGraphBuilder.java:865)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$EdgeState.calculateTargetConfigurations(DependencyGraphBuilder.java:446)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$EdgeState.attachToTargetConfigurations(DependencyGraphBuilder.java:417)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder.attachToTargetRevisionsSerially(DependencyGraphBuilder.java:223)
Cause 1: org.gradle.internal.resolve.ModuleVersionResolveException: No cached version of net.corda.plugins:cordapp:3.2.1 available for offline mode.
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.StartParameterResolutionOverride$FailedRemoteAccess.resolveComponentMetaData(StartParameterResolutionOverride.java:129)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData(CachingModuleComponentRepository.java:363)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveComponentMetaData(BaseModuleComponentRepositoryAccess.java:50)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveComponentMetaData(InMemoryCachedModuleComponentRepository.java:95)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:109)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process(ComponentMetaDataResolveState.java:66)
Cause 3: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve net.corda.plugins:cordformation:3.2.1.
Required by:
project :
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:100)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve(RepositoryChainComponentMetaDataResolver.java:60)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve(ComponentResolversChain.java:93)
at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:45)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ComponentState.resolve(DependencyGraphBuilder.java:854)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$ComponentState.getMetaData(DependencyGraphBuilder.java:865)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.DependencyGraphBuilder$EdgeState.calculateTargetConfigurations(DependencyGraphBuilder.java:446)
.....
According to the error log you posted, I believe your Gradle is configured to work in "offline mode", so it doesn't try to download dependencies if you don't already have them cached locally.
You can disable it in different ways depending on the way you're using Gradle:
if it's called from the command line then remove --offline;
if you're using it via IntelliJ IDEA or Android Studio then toggle the following button (from the Gradle tool window on the right-hand side of the IDE):
if you're using Eclipse, then you'll find a checkbox called "offline mode" under Gradle preferences
Other IDEs will have a similar setting as well

Provider org.jetbrains.plugins.gradle.tooling.builder.WarModelBuilderImpl could not be instantiated

I am writing the example codes of the book Pro Spring MVC:With Web Flow.
However I receive the following error when I try to import the Gradle project:
Cause: org.jetbrains.plugins.gradle.tooling.ModelBuilderService: Provider org.jetbrains.plugins.gradle.tooling.builder.WarModelBuilderImpl could not be instantiated
Here is the build.gradle file of the parent project:
apply plugin: 'base'
ext.springVersion = '3.2.3.RELEASE'
ext.tilesVersion = '2.2.2'
ext.springSecurityVersion = '3.1.4.RELEASE'
ext.springSwfVersion = '2.3.2.RELEASE'
ext.hibernateVersion = '4.2.3.Final'
ext.hibernateValidatorVersion = '5.0.1.Final'
ext.ehCacheVersion = '2.7.2'
ext.aspectJVersion = '1.7.3'
ext.tomcatVersion = '7.0.42'
ext.cargoVersion = '1.3.3'
ext.webProjects = subprojects.findAll { project -> project.name.endsWith('bookstore') }
buildscript {
repositories {
maven { url 'http://jcenter.bintray.com/' }
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.2.4'
classpath 'org.gradle.api.plugins:gradle-cargo-plugin:1.5'
}
}
allprojects {
description = 'Bookstore Sample Application'
group = 'com.apress.prospringmvc'
version = '1.0.0'
repositories {
mavenRepo url: 'http://maven.springframework.org/release'
mavenRepo url: 'http://maven.springframework.org/snapshot'
mavenCentral()
mavenRepo url: 'http://maven.springframework.org/milestone'
mavenRepo url: 'https://repository.jboss.org/nexus/content/repositories/releases/'
mavenRepo url: 'http://download.java.net/maven/glassfish/org/glassfish/'
}
tasks.withType(Compile) {
options.compilerArgs << "-g"
}
}
configure(webProjects) {
apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'tomcat'
apply plugin: 'cargo'
dependencies() {
compile project(':bookstore-shared'), project(':bookstore-web-resources')
compile "org.apache.tiles:tiles-servlet:$tilesVersion"
compile "org.apache.tiles:tiles-jsp:$tilesVersion"
compile "org.apache.tiles:tiles-api:$tilesVersion"
compile "org.apache.tiles:tiles-core:$tilesVersion"
runtime "jstl:jstl:1.2"
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
"org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}"
tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") {
exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj'
cargo "org.codehaus.cargo:cargo-core-uberjar:${cargoVersion}",
"org.codehaus.cargo:cargo-ant:${cargoVersion}"
}
}
cargo {
containerId = 'tomcat7x'
port = 8080
local {
homeDir = file('container/apache-tomcat-7.0.42')
output = file('container/apache-tomcat-7.0.42/output.log')
}
}
war {
version = '' //We do this to make the wars versionless, when they are deployed with cargo, the context
//root of the app is equal to the file name, which is equal to the sample directory name.
}
task systemTest(type: Test) {
include '**/*FrontendTest.*'
dependsOn(war)
doFirst {
cargoStartLocal.execute()
}
}
test {
exclude '**/*FrontendTest.*'
}
}
subprojects() {
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'idea'
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies() {
compile "org.springframework:spring-orm:$springVersion"
compile "org.springframework:spring-aop:$springVersion"
compile "org.springframework:spring-webmvc:$springVersion"
compile "org.springframework:spring-oxm:$springVersion"
compile 'org.slf4j:jcl-over-slf4j:1.7.2'
compile 'ch.qos.logback:logback-classic:1.0.9'
compile 'org.apache.commons:commons-lang3:3.0.1'
compile 'com.thoughtworks.xstream:xstream:1.4.2'
compile 'com.h2database:h2:1.3.168'
compile 'cglib:cglib-nodep:2.2.2'
compile "org.aspectj:aspectjrt:$aspectJVersion"
compile "org.aspectj:aspectjweaver:$aspectJVersion"
compile "org.hibernate:hibernate-entitymanager:$hibernateVersion"
compile "org.hibernate:hibernate-core:$hibernateVersion"
compile "org.hibernate:hibernate-ehcache:$hibernateVersion"
compile "org.hibernate:hibernate-validator:$hibernateValidatorVersion"
compile "net.sf.ehcache:ehcache:$ehCacheVersion"
compile 'com.lowagie:itext:2.1.7'
compile 'net.sourceforge.jexcelapi:jxl:2.6.12'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.11'
compile 'commons-codec:commons-codec:1.6'
compile 'joda-time:joda-time:2.1'
testCompile 'junit:junit:4.11'
testCompile "org.springframework:spring-test:$springVersion"
}
eclipse {
project.natures "org.springframework.ide.eclipse.core.springnature"
}
}
task wrapper(type: Wrapper) { gradleVersion = '1.6' }
What can I do?
Bump up gradle version its the only solution I have for now; 4.0 should work:
change:
task wrapper(type: Wrapper) { gradleVersion = '1.6' }
to:
task wrapper(type: Wrapper) { gradleVersion = '4.0' }
I am trying to resolve it other way to use 1.7 so far - failing.

Duplicate zip entry [allclasses.jar:com/sun/javafx/beans/IDProperty.class] Gluon native android code

I am trying to add native code to handle intent actions in android in my Gluon Project .Upon adding dependencies of android into the gradle file and trying to install on android seeing the following error:
* What went wrong:
Execution failed for task ':shrinkMultiDexComponents'.
> java.io.IOException: Can't write [C:\Users\Vaishnavi\Documents\NetBeansProjects\NativeEg\build\javafxports\tmp\android\multi-dex\componentClasses.jar] (Can't read [C:\Users\Vaishnavi\Documents\NetBeansProjects\NativeEg\build\javafxports\tmp\android\multi-dex\allclasses.jar] (Duplicate zip entry [allclasses.jar:com/sun/javafx/beans/IDProperty.class]))
build.gradle file
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.3.9'
//added
classpath 'com.android.tools.build:gradle:1.0.0'
}
}
apply plugin: 'org.javafxports.jfxmobile'
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def sdkDir = properties.getProperty('sdk.dir')
def dalvikSdkHome = properties.getProperty('javafx.dir')
def dalvikSkLib = dalvikSdkHome + '/rt/lib'
repositories {
jcenter()
maven {
url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
mainClassName = 'com.nativeeg.NativeEg'
dependencies {
compile 'com.gluonhq:glisten-afterburner:1.2.1'
// compile fileTree(dir: 'libs', include: '*.jar')
}
jfxmobile {
downConfig {
version = '3.6.0'
// Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
plugins 'display', 'lifecycle', 'statusbar', 'storage'
}
android {
manifest = 'src/android/AndroidManifest.xml'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
forceLinkClasses = [
'com.nativeeg.**.*',
'com.gluonhq.**.*',
'javax.annotations.**.*',
'javax.inject.**.*',
'javax.json.**.*',
'org.glassfish.json.**.*'
]
}
}
configurations {
compile.exclude group: 'com.android.support'
}
dependencies {
compile files ("${dalvikSkLib}/ext/jfxrt.jar",
"${dalvikSkLib}/ext/jfxdvk.jar",
"${dalvikSkLib}/ext/compat-1.0.0.jar")
compile files("${sdkDir}/extras/android/m2repository/com/android/support/multidex/1.0.1/multidex-1.0.1.aar")
}
project.tasks.withType(com.android.build.gradle.tasks.Dex) {
additionalParameters=['--core-library']
}
Referred from the sample project's build.gradle in dalvik-sdk-8.60.9 package

Cannot configure the publishing extension for gradle

I am using gradle v3.4 with the following build.gradle file. However, I get the error copied below with any tasks. Any thoughts on what might be misconfigured in the build.gradle file?
error
What went wrong:
A problem occurred evaluating root project 'some-test'.
> Cannot configure the 'publishing' extension after it has been accessed.
The error points to where the publishing task begins.
build.gradle
group 'some.group'
version '0.0.1' //-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'
apply plugin: 'com.google.protobuf'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply plugin:'com.github.johnrengelman.shadow'
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven {
credentials {
username project.properties['nexusUsername']
password project.properties['nexusPassword']
}
url project.properties['nexus.url.snapshot']
}
jcenter()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0'
classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.4'
}
}
if (!JavaVersion.current().java8Compatible) {
throw new IllegalStateException("Must be built with Java 8 or higher")
}
mainClassName = "com.some.project.some.class"
defaultTasks 'clean', 'build', 'shadowJar', 'install'
compileJava {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
maven {
credentials {
username project.properties['nexusUsername']
password project.properties['nexusPassword']
}
url project.properties['nexus.url.snapshot']
}
mavenLocal()
mavenCentral()
jcenter()
}
def grpcVersion = '1.1.2'
def log4j2Version = '2.8.1'
def configVersion = '1.3.1'
def jacksonVersion = '2.8.7'
dependencies {
compile "io.grpc:grpc-netty:${grpcVersion}"
compile "io.grpc:grpc-protobuf:${grpcVersion}"
compile "io.grpc:grpc-stub:${grpcVersion}"
compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: jacksonVersion
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: jacksonVersion
compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: jacksonVersion
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version
compile 'io.netty:netty-tcnative-boringssl-static:1.1.33.Fork26'
compile group: 'org.bouncycastle', name: 'bcprov-jdk16', version: '1.46'
compile "com.typesafe:config:${configVersion}"
testCompile group: 'junit', name: 'junit', version: '4.11'
testCompile "org.mockito:mockito-core:1.9.5"
compile 'commons-lang:commons-lang:2.3'
}
sourceSets {
main {
proto {
srcDir '../../proto' // In addition to the default 'src/main/proto'
}
java {
}
}
test {
proto {
srcDir '../../proto' // In addition to the default 'src/test/proto'
}
}
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.2.0'
}
plugins {
grpc {
artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}"
}
}
generateProtoTasks {
all()*.plugins {
grpc {
// To generate deprecated interfaces and static bindService method,
// turn the enable_deprecated option to true below:
option 'enable_deprecated=false'
}
}
}
}
idea {
module {
sourceDirs += file("${projectDir}/build/generated/source/proto/main/java");
sourceDirs += file("${projectDir}/build/generated/source/proto/main/grpc");
}
}
jar {
manifest {
attributes(
'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
'Main-Class': 'com.some.project.some.class'
)
}
}
shadowJar {
baseName = 'commons-java'
classifier = null
version = null
}
artifacts {
archives shadowJar
}
publishing {
publications {
shadow(MavenPublication) {
from components.shadow
}
}
repositories {
maven {
credentials {
username "someuser"
password "somepassword"
}
url "http://nexus.somewhere.com/repository/some-test-snapshots/"
}
}
}
tasks.publish.dependsOn 'shadowJar'
startScripts.enabled = false
The issue was how I was reading the properties - also, I no longer use both maven and maven-publish plugins (I am using maven-publish only). I am currently able to publish to nexus successfully.

AndroidStudio says Error:Execution failed for task ':app:processDebugResources'

I get the following error, while compiling / building my app with AndroidStudio 1.4:
Error:Execution failed for task ':app:processDebugResources'.>
com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command
'/home/pepperonas/Android/Sdk/build-tools/23.0.2/aapt'' finished with
non-zero exit value 1
Who knows what causes this issue? I spent a lot of time trying different gradle versions and configurations, but the error is raised again.
This is how my gradle looks like:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
}
}
apply plugin: 'com.android.application'
repositories {
jcenter()
flatDir { dirs 'libs' }
maven { url "https://jitpack.io" }
maven { url "http://dl.bintray.com/amulyakhare/maven" }
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
defaultConfig {
applicationId "com.pepperonas.teds"
minSdkVersion 16
targetSdkVersion 23
versionCode 19
versionName "0.2.9b"
multiDexEnabled true
project.ext.set("archivesBaseName", "teds");
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = outputFile.name.replace(".apk", "-" + defaultConfig.versionName + ".apk");
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/pass-v1.1.1.jar')
compile files('libs/sdk-v1.0.0.jar')
compile(name: 'aesprefs-0.0.5', ext: 'aar')
compile(name: 'andcommon-0.0.5', ext: 'aar')
compile 'com.android.support:multidex:1.0.1'
compile('com.afollestad.material-dialogs:core:0.8.0.1#aar') {
transitive = true
}
compile('com.afollestad.material-dialogs:commons:0.8.0.1#aar') {
transitive = true
}
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile 'com.android.support:cardview-v7:23.1.0'
compile 'com.android.support:recyclerview-v7:23.1.0'
compile 'com.google.android.gms:play-services-ads:8.3.0'
compile 'com.google.android.gms:play-services-analytics:8.3.0'
compile 'com.mikepenz:iconics-core:1.7.6#aar'
compile 'com.mikepenz:google-material-typeface:1.2.0.1#aar'
compile 'com.mikepenz:fontawesome-typeface:4.4.0.1#aar'
compile 'com.mikepenz:octicons-typeface:3.0.0.1#aar'
compile 'com.mikepenz:community-material-typeface:1.2.64.1#aar'
compile 'com.melnykov:floatingactionbutton:1.2.0'
compile 'com.github.clans:fab:1.6.1'
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
}
Got it. The issue comes from the two FAB-libraries I added to the project.
compile 'com.melnykov:floatingactionbutton:1.2.0'
compile 'com.github.clans:fab:1.6.1'
I guess some resources are named the same ("duplicate").

Resources