Git Product home page Git Product logo

okbuck's Introduction

OkBuck

CI

OkBuck is a gradle plugin that lets developers utilize the Buck build system on a gradle project.

Wiki, 中文版

Installation

These are needed to build with buck Installation instructions for: Android NDK, Watchman

Configuration

Set the ANDROID_NDK environment variable to point to your android ndk installation

In root project build.gradle file:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.uber:okbuck:0.54.4'
    }
}

repositories {
    jcenter()
}

apply plugin: 'com.uber.okbuck'

After applying the plugin, the following tasks will be added to the root project

  • buckWrapper will create a buck wrapper script and various configuration files to invoke buck commands
  • okbuck will generate BUCK files

Buck Wrapper

Run the buck wrapper task

./gradlew :buckWrapper

This creates a buckw wrapper similar to the gradle wrapper

Invoking buck commands via the buck wrapper has several advantages

  • Downloads/installs/updates buck
  • Minimal overhead to decide when to run okbuck before invoking buck (using watchman)
  • Handles gracefully, the cases when okbuck task fails/is stopped abruptly

Please make sure you have watchman installed for buckw to run okbuck only when needed. A new okbuck run is typically needed when gradle configuration or Android manifest files change. If watchman is not installed, the okbuck task in always run before invoking any buck commands.

Usage

# List all buck targets
./buckw targets //...

# Build a target
./buckw build <target>

# Install an apk target
./buckw install --run <apk-target>

# Generate an Intellij project
./buckw project

See the Usage page for complete details on how to configure OkBuck and Buck.

Buck Http Cache

To speed up your builds even more, you can use an implementation of Buck's HTTP Cache API to take advantage of building once and using the same build artifacts on all machines.

Contributors

We'd love for you to contribute to our open source projects. Before we can accept your contributions, we kindly ask you to sign our Uber Contributor License Agreement.

  • If you find a bug, open an issue or submit a fix via a pull request.
  • If you have a feature request, open an issue or submit an implementation via a pull request
  • If you want to contribute, submit a pull request.

License

Copyright (c) 2016 Uber Technologies, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

okbuck's People

Contributors

alexfdz avatar artem-zinnatullin avatar clonetwin26 avatar cwoodwar6 avatar felipecsl avatar gpolak avatar hvvikram avatar jbarr21 avatar kageiit avatar kapji avatar kassim avatar kurtisnelson avatar leland-takamine avatar malbano avatar marcinkwiatkowski avatar msridhar avatar naveenonarayanan avatar nguyentruongtho avatar nikhilramakrishnan avatar oliviernotteghem avatar piasy avatar raviagarwal7 avatar romanoid avatar runningcode avatar seanabraham avatar thalescm avatar tonycosentini avatar tonytangandroid avatar tyvsmith avatar zacsweers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

okbuck's Issues

BUILD failed: failed on step symlink_assets with an exception

The error is thrown after I execute buck install appDevDebug

BUILD FAILED: //app:bin_dev_debug#aapt_package failed on step symlink_assets with an exception:
Multiple entries with same key: armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so=buck-out/bin/.okbuck/app/__unpack_jar__nexstreaming_nexplayerengine_stb.aar#aar_unzip__/assets/armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so and armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so=buck-out/bin/.okbuck/app/__unpack_aar__nexstreaming_nexplayerengine_stb.aar#aar_unzip__/assets/armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so
java.lang.IllegalArgumentException: Multiple entries with same key: armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so=buck-out/bin/.okbuck/app/__unpack_jar__nexstreaming_nexplayerengine_stb.aar#aar_unzip__/assets/armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so and armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so=buck-out/bin/.okbuck/app/__unpack_aar__nexstreaming_nexplayerengine_stb.aar#aar_unzip__/assets/armeabi/libHttpRetrieveStoreDataCallbackSample_jni.so
        at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)

'presentation/src/main/res/.svn' is not a valid resource sub-directory.

运行 'buck install --run'后,得到如下异常:

Error parsing resources to generate resource IDs for presentation/src/main/res.
com.facebook.buck.android.aapt.MiniAapt.ResourceParseException: 'presentation/src/main/res/.svn' is not a valid resource sub-directory.
com.facebook.buck.android.aapt.MiniAapt$ResourceParseException: 'presentation/src/main/res/.svn' is not a valid resource sub-directory.

但是.buckconfig中已经将.svn忽略掉了:

[project]
    ignore = **/.svn/, .git

有谁遇到过吗?

cant't buck work with android data-binding?

Error parsing resources to generate resource IDs for app/src/main/res.
com.facebook.buck.android.aapt.MiniAapt.ResourceParseException: Invalid definition of a resource: '@{userVM.avatar}'
com.facebook.buck.android.aapt.MiniAapt$ResourceParseException: Invalid definition of a resource: '@{userVM.avatar}'
at com.facebook.buck.android.aapt.MiniAapt.processXmlFile(MiniAapt.java:411)
at com.facebook.buck.android.aapt.MiniAapt.processXmlFilesForIds(MiniAapt.java:379)
at com.facebook.buck.android.aapt.MiniAapt.execute(MiniAapt.java:143)
at com.facebook.buck.step.DefaultStepRunner.runStepForBuildTarget(DefaultStepRunner.java:63)
at com.facebook.buck.rules.CachingBuildEngine.executeCommandsNowThatDepsAreBuilt(CachingBuildEngine.java:967)
at com.facebook.buck.rules.CachingBuildEngine.access$600(CachingBuildEngine.java:88)
at com.facebook.buck.rules.CachingBuildEngine$1.apply(CachingBuildEngine.java:367)
at com.facebook.buck.rules.CachingBuildEngine$1.apply(CachingBuildEngine.java:239)

Unsupported major.minor version 52.0

buck install app
Using watchman.
Using buckd.
BUILD FAILED: com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
[-] PROCESSING BUCK FILES...FINISHED 0.5s [100%]
[-] BUILDING...FINISHED 1.3s [100%](14/43 JOBS, 13 UPDATED, 30.2% CACHE MISS)

BUILD FAILED: com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0

error: 找不到符号 com.everyday.util.MyPref_(类由androidannotations生成)

buck install 错误信息:

MainActivity.java:59: error: 找不到符号
import com.everyday.util.MyPref_;
                             ^
  符号:   类 MyPref_
  位置: 程序包 com.everyday.util

其中com.everyday.util.MyPref_是由androidannotations生成

androidannotations依赖来自build.gradle

dependencies {
    apt "org.androidannotations:androidannotations:3.2"
    compile 'org.androidannotations:androidannotations-api:3.2'
}

gradle android tool 1.5找不到sign config

1.3的时候是OK的,把1.3改成下面的1.5, gradlew okbuck就报错了
classpath 'com.android.tools.build:gradle:1.5.0'

trace 如下

:okbuckClean
:okbuck
<<< hashSetAddTraversalTest
1, 2, 3 ==> 123
3, 2, 1 ==> 123
2, 1, 3 ==> 123
hashSetAddTraversalTest >>>
==========>> overwrite mode is toggle on <<==========
Sub project 'app': /Users/dt/Developer/Code/Android/idea/Cl024/app
Sub project 'dtroidlib': /Users/dt/Developer/Code/Android/idea/Cl024/dtroidlib
app doesn't contain apt configuration
<<<<< app
<<< debug
>>>
<<< release
>>>
<<< main
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.google.guava/guava/19.0-rc2/93e17f60bc524c2610b41c494bb829c11ca89436/guava-19.0-rc2.jar
/Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/cardview-v7/23.1.1/cardview-v7-23.1.1.aar
/Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/recyclerview-v7/23.1.1/recyclerview-v7-23.1.1.aar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/io.reactivex/rxandroid/1.0.1/563323d4f90cdb87d067fcf02b06c5d16bb1a258/rxandroid-1.0.1.aar
/Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.aar
/Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.aar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/org.jsoup/jsoup/1.8.3/65fd012581ded67bc20945d85c32b4598c3a9cf1/jsoup-1.8.3.jar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.trello/rxlifecycle/0.3.0/5304a47b85fd7250e14ad51104c8ab28dbbd8261/rxlifecycle-0.3.0.aar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.github.rahatarmanahmed/circularprogressview/2.4.0/45a7e00646af478a326912d77b4be1c964c307c4/circularprogressview-2.4.0.aar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.trello/rxlifecycle-components/0.3.0/b60d580c5d2bf5ea06a0c79a182d5d7846b1c6a1/rxlifecycle-components-0.3.0.aar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.jakewharton.rxbinding/rxbinding/0.2.0/97c550ecaf825c003b1b30cb1b754745fa79307a/rxbinding-0.2.0.aar
/Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.michaelpardo/activeandroid/3.1.0-SNAPSHOT/4ab7b0182975bc57c49efc5e0b3baa4a10e4ec08/activeandroid-3.1.0-SNAPSHOT.jar
/Users/dt/Developer/Code/Android/idea/Cl024/dtroidlib/app-release.aar
/Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/design/23.1.1/design-23.1.1.aar
/Users/dt/gradle_user_home/caches/modules-2/files-2.1/io.reactivex/rxjava/1.0.14/898f9ab61e2a23afd615f0b0389478bec86f49f9/rxjava-1.0.14.jar
>>>

app's deps:
<<< final
<< debug
//.okbuck/app:aar__design-23.1.1.aar, //.okbuck/app:aar__design-23.1.1.aar
//.okbuck/app:jar__rxjava-1.0.14.jar
//.okbuck/app:jar__jsoup-1.8.3.jar
//.okbuck/app:aar__circularprogressview-2.4.0.aar, //.okbuck/app:aar__circularprogressview-2.4.0.aar
//.okbuck/app:jar__activeandroid-3.1.0-SNAPSHOT.jar
//.okbuck/app:aar__app-release.aar, //.okbuck/app:aar__app-release.aar
//.okbuck/app:aar__appcompat-v7-23.1.1.aar, //.okbuck/app:aar__appcompat-v7-23.1.1.aar
//.okbuck/app:aar__cardview-v7-23.1.1.aar, //.okbuck/app:aar__cardview-v7-23.1.1.aar
//.okbuck/app:aar__support-v4-23.1.1.aar, //.okbuck/app:aar__support-v4-23.1.1.aar
//.okbuck/app:jar__support-annotations-23.1.1.jar
//.okbuck/app:jar__guava-19.0-rc2.jar
//.okbuck/app:aar__rxbinding-0.2.0.aar, //.okbuck/app:aar__rxbinding-0.2.0.aar
//.okbuck/app:aar__rxlifecycle-0.3.0.aar, //.okbuck/app:aar__rxlifecycle-0.3.0.aar
//.okbuck/app:aar__rxlifecycle-components-0.3.0.aar, //.okbuck/app:aar__rxlifecycle-components-0.3.0.aar
//.okbuck/app:aar__recyclerview-v7-23.1.1.aar, //.okbuck/app:aar__recyclerview-v7-23.1.1.aar
//.okbuck/app:aar__rxandroid-1.0.1.aar, //.okbuck/app:aar__rxandroid-1.0.1.aar
>>
<< release
//.okbuck/app:aar__design-23.1.1.aar, //.okbuck/app:aar__design-23.1.1.aar
//.okbuck/app:jar__rxjava-1.0.14.jar
//.okbuck/app:jar__jsoup-1.8.3.jar
//.okbuck/app:aar__circularprogressview-2.4.0.aar, //.okbuck/app:aar__circularprogressview-2.4.0.aar
//.okbuck/app:jar__activeandroid-3.1.0-SNAPSHOT.jar
//.okbuck/app:aar__app-release.aar, //.okbuck/app:aar__app-release.aar
//.okbuck/app:aar__appcompat-v7-23.1.1.aar, //.okbuck/app:aar__appcompat-v7-23.1.1.aar
//.okbuck/app:aar__cardview-v7-23.1.1.aar, //.okbuck/app:aar__cardview-v7-23.1.1.aar
//.okbuck/app:aar__support-v4-23.1.1.aar, //.okbuck/app:aar__support-v4-23.1.1.aar
//.okbuck/app:jar__support-annotations-23.1.1.jar
//.okbuck/app:jar__guava-19.0-rc2.jar
//.okbuck/app:aar__rxbinding-0.2.0.aar, //.okbuck/app:aar__rxbinding-0.2.0.aar
//.okbuck/app:aar__rxlifecycle-0.3.0.aar, //.okbuck/app:aar__rxlifecycle-0.3.0.aar
//.okbuck/app:aar__rxlifecycle-components-0.3.0.aar, //.okbuck/app:aar__rxlifecycle-components-0.3.0.aar
//.okbuck/app:aar__recyclerview-v7-23.1.1.aar, //.okbuck/app:aar__recyclerview-v7-23.1.1.aar
//.okbuck/app:aar__rxandroid-1.0.1.aar, //.okbuck/app:aar__rxandroid-1.0.1.aar
>>
<< main
//.okbuck/app:aar__design-23.1.1.aar, //.okbuck/app:aar__design-23.1.1.aar
//.okbuck/app:aar__rxbinding-0.2.0.aar, //.okbuck/app:aar__rxbinding-0.2.0.aar
//.okbuck/app:aar__circularprogressview-2.4.0.aar, //.okbuck/app:aar__circularprogressview-2.4.0.aar
//.okbuck/app:aar__rxlifecycle-0.3.0.aar, //.okbuck/app:aar__rxlifecycle-0.3.0.aar
//.okbuck/app:aar__rxlifecycle-components-0.3.0.aar, //.okbuck/app:aar__rxlifecycle-components-0.3.0.aar
//.okbuck/app:aar__app-release.aar, //.okbuck/app:aar__app-release.aar
//.okbuck/app:aar__recyclerview-v7-23.1.1.aar, //.okbuck/app:aar__recyclerview-v7-23.1.1.aar
//.okbuck/app:aar__appcompat-v7-23.1.1.aar, //.okbuck/app:aar__appcompat-v7-23.1.1.aar
//.okbuck/app:aar__cardview-v7-23.1.1.aar, //.okbuck/app:aar__cardview-v7-23.1.1.aar
//.okbuck/app:aar__rxandroid-1.0.1.aar, //.okbuck/app:aar__rxandroid-1.0.1.aar
//.okbuck/app:aar__support-v4-23.1.1.aar, //.okbuck/app:aar__support-v4-23.1.1.aar
>>

<<< apt

<<< annotation processors

copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/design/23.1.1/design-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/io.reactivex/rxjava/1.0.14/898f9ab61e2a23afd615f0b0389478bec86f49f9/rxjava-1.0.14.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/org.jsoup/jsoup/1.8.3/65fd012581ded67bc20945d85c32b4598c3a9cf1/jsoup-1.8.3.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.github.rahatarmanahmed/circularprogressview/2.4.0/45a7e00646af478a326912d77b4be1c964c307c4/circularprogressview-2.4.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.michaelpardo/activeandroid/3.1.0-SNAPSHOT/4ab7b0182975bc57c49efc5e0b3baa4a10e4ec08/activeandroid-3.1.0-SNAPSHOT.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/Code/Android/idea/Cl024/dtroidlib/app-release.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/cardview-v7/23.1.1/cardview-v7-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.google.guava/guava/19.0-rc2/93e17f60bc524c2610b41c494bb829c11ca89436/guava-19.0-rc2.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.jakewharton.rxbinding/rxbinding/0.2.0/97c550ecaf825c003b1b30cb1b754745fa79307a/rxbinding-0.2.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.trello/rxlifecycle/0.3.0/5304a47b85fd7250e14ad51104c8ab28dbbd8261/rxlifecycle-0.3.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.trello/rxlifecycle-components/0.3.0/b60d580c5d2bf5ea06a0c79a182d5d7846b1c6a1/rxlifecycle-components-0.3.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/recyclerview-v7/23.1.1/recyclerview-v7-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/io.reactivex/rxandroid/1.0.1/563323d4f90cdb87d067fcf02b06c5d16bb1a258/rxandroid-1.0.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/design/23.1.1/design-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/io.reactivex/rxjava/1.0.14/898f9ab61e2a23afd615f0b0389478bec86f49f9/rxjava-1.0.14.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/org.jsoup/jsoup/1.8.3/65fd012581ded67bc20945d85c32b4598c3a9cf1/jsoup-1.8.3.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.github.rahatarmanahmed/circularprogressview/2.4.0/45a7e00646af478a326912d77b4be1c964c307c4/circularprogressview-2.4.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.michaelpardo/activeandroid/3.1.0-SNAPSHOT/4ab7b0182975bc57c49efc5e0b3baa4a10e4ec08/activeandroid-3.1.0-SNAPSHOT.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/Code/Android/idea/Cl024/dtroidlib/app-release.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/cardview-v7/23.1.1/cardview-v7-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.google.guava/guava/19.0-rc2/93e17f60bc524c2610b41c494bb829c11ca89436/guava-19.0-rc2.jar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.jakewharton.rxbinding/rxbinding/0.2.0/97c550ecaf825c003b1b30cb1b754745fa79307a/rxbinding-0.2.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.trello/rxlifecycle/0.3.0/5304a47b85fd7250e14ad51104c8ab28dbbd8261/rxlifecycle-0.3.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/com.trello/rxlifecycle-components/0.3.0/b60d580c5d2bf5ea06a0c79a182d5d7846b1c6a1/rxlifecycle-components-0.3.0.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/Developer/lib/android-sdk/extras/android/m2repository/com/android/support/recyclerview-v7/23.1.1/recyclerview-v7-23.1.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
copying /Users/dt/gradle_user_home/caches/modules-2/files-2.1/io.reactivex/rxandroid/1.0.1/563323d4f90cdb87d067fcf02b06c5d16bb1a258/rxandroid-1.0.1.aar into /Users/dt/Developer/Code/Android/idea/Cl024/.okbuck/app
:okbuck FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':okbuck'.

    get app's sign config fail!

  • Try:
    Run with --info or --debug option to get more log output.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':okbuck'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)
    at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)
    at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)
    at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
    at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    at org.gradle.launcher.Main.doAction(Main.java:33)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
    Caused by: java.lang.IllegalStateException: get app's sign config fail!
    at com.github.piasy.okbuck.helper.ProjectHelper.createKeystoreRule(ProjectHelper.groovy:306)
    at com.github.piasy.okbuck.helper.ProjectHelper$createKeystoreRule$4.call(Unknown Source)
    at com.github.piasy.okbuck.dependency.DependencyProcessor.processKeystore(DependencyProcessor.groovy:68)
    at com.github.piasy.okbuck.dependency.DependencyProcessor.process(DependencyProcessor.groovy:59)
    at com.github.piasy.okbuck.dependency.DependencyProcessor$process.call(Unknown Source)
    at com.github.piasy.okbuck.generator.XBuckFileGenerator.generate(XBuckFileGenerator.groovy:58)
    at com.github.piasy.okbuck.generator.XBuckFileGenerator$generate.call(Unknown Source)
    at com.github.piasy.okbuck.OkBuckGradlePlugin.applyWithoutBuildVariant(OkBuckGradlePlugin.groovy:119)
    at com.github.piasy.okbuck.OkBuckGradlePlugin$_apply_closure3.doCall(OkBuckGradlePlugin.groovy:72)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:558)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:539)
    at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
    at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 49 more

BUILD FAILED

这个 latest version 是具体多少呢???

工程根目录build.gradle的buildscript dependencies部分加入:classpath "com.github.piasy:okbuck-gradle-plugin:${latest version}"

这个 latest version 是具体多少呢???

File name too long error

Hi,

I'm testing buck on a multi-module project where I'm implementing a micro-service aproach for a system I'm writing. I've configured okbuck 0.4.10 for my build but when I start to launch it, I get the following error, possibly because it's trying to create a file with concatenated dependency names: -

/Users/nebo/dev/stash/obg2/.okbuck/common_deps/authentication_ui__common_core__app_phoenix__global_ui__authentication_client__content_ui__common_ioc__app_sverigeautomaten__authentication_service__whitelabel_wrapper__common_ui__global_test__content_service__global_core__app_norgesautomaten__content_client/BUCK (File name too long)

The okbuck configuration I'm using is the following: -

okbuck {
target "android-23"
signConfigName "release"
overwrite true
resPackages = [
'App.Phoenix': 'com.phoenix',
'App.Norgesautomaten': 'com.norgesautomaten',
'App.Sverigeautomaten': 'com.sverigeautomaten',
'Global.Core': 'obg.global.core',
'Global.Ui': 'obg.global.ui',
'Global.Test': 'obg.global.test',
'Common.Core': 'obg.common.core',
'Common.Ui': 'obg.common.ui',
'Common.IoC': 'obg.common.ioc',
'Authentication.Client': 'obg.authentication.ioc',
'Authentication.Service': 'obg.authentication.ioc',
'Authentication.Ui': 'obg.authentication.ioc',
'Content.Client': 'obg.content.client',
'Content.Service': 'obg.content.service',
'Content.Ui': 'obg.content.ui'
]
}

Problem with fabric crash report

After install successfully, the app crash with error below:

io.fabric.sdk.android.services.concurrency.UnmetDependencyException: com.crashlytics.android.core.CrashlyticsMissingDependencyException: 
This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
    at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:297)
    at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:231)
    at io.fabric.sdk.android.InitializationTask.onPreExecute(InitializationTask.java:44)
    at io.fabric.sdk.android.services.concurrency.AsyncTask.executeOnExecutor(AsyncTask.java:611)
    at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.executeOnExecutor(PriorityAsyncTask.java:43)
    at io.fabric.sdk.android.Kit.initialize(Kit.java:66)
    at io.fabric.sdk.android.Fabric.initializeKits(Fabric.java:431)
    at io.fabric.sdk.android.Fabric.init(Fabric.java:375)
    at io.fabric.sdk.android.Fabric.setFabric(Fabric.java:332)
    at io.fabric.sdk.android.Fabric.with(Fabric.java:303)
    at com.github.piasy.template.features.splash.SplashActivity$2$2.call(SplashActivity.java:154)
    at com.github.piasy.template.features.splash.SplashActivity$2$2.call(SplashActivity.java:123)
    at rx.Observable.unsafeSubscribe(Observable.java:7710)
    at rx.internal.operators.OperatorSubscribeOn$1$1.call(OperatorSubscribeOn.java:62)
    at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
Caused by: com.crashlytics.android.core.CrashlyticsMissingDependencyException: 
This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
    at com.crashlytics.android.core.BuildIdValidator.validate(BuildIdValidator.java:59)
    at com.crashlytics.android.core.CrashlyticsCore.setAndValidateKitProperties(CrashlyticsCore.java:336)
    at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:255)
 ... 21 more

It seems the fabric app secret could not be read at runtime in buck build, which works well with gradle build.

Can not figure out sign config, please make sure you have only one sign config in your build.gradle, or set signConfigName in okbuck dsl.

我是按README_ZH来搞的。
最后是这个错误 >_> 怎么破

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':okbuck'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.IllegalStateException: Can not figure out sign config, please make sure you have only one sign config in your build.gradle, or set signConfigName in okbuck dsl.
at com.github.piasy.okbuck.helper.ProjectHelper.createKeystoreRule(ProjectHelper.groovy:443)
at com.github.piasy.okbuck.helper.ProjectHelper$createKeystoreRule$6.call(Unknown Source)
at com.github.piasy.okbuck.dependency.DependencyProcessor.processKeystore(DependencyProcessor.groovy:68)
at com.github.piasy.okbuck.dependency.DependencyProcessor.process(DependencyProcessor.groovy:59)
at com.github.piasy.okbuck.dependency.DependencyProcessor$process.call(Unknown Source)
at com.github.piasy.okbuck.generator.XBuckFileGenerator.generate(XBuckFileGenerator.groovy:58)
at com.github.piasy.okbuck.generator.XBuckFileGenerator$generate.call(Unknown Source)
at com.github.piasy.okbuck.OkBuckGradlePlugin.applyWithoutBuildVariant(OkBuckGradlePlugin.groovy:135)
at com.github.piasy.okbuck.OkBuckGradlePlugin$_apply_closure3.doCall(OkBuckGradlePlugin.groovy:74)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:558)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:539)
at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 14 more

an error happen when `gradlew okbuck`

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':okbuck'.
> Ambiguous method overloading for method com.github.piasy.okbuck.helper.CheckUtil#checkNotEmpty.
  Cannot resolve which method to invoke for [null, class java.lang.String] due to overlapping prototypes between:
        [interface java.util.List, class java.lang.String]
        [interface java.util.Set, class java.lang.String]

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':okbuck'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)
        at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)
        at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)
        at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:169)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
        at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
        at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
        at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
        at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
        at org.gradle.launcher.Main.doAction(Main.java:33)
        at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
        at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
        at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
        at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
        at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
        at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
Caused by: groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method com.github.piasy.okbuck.helper.CheckUtil#checkNotEmpty.
Cannot resolve which method to invoke for [null, class java.lang.String] due to overlapping prototypes between:
        [interface java.util.List, class java.lang.String]
        [interface java.util.Set, class java.lang.String]
        at com.github.piasy.okbuck.helper.CheckUtil$checkNotEmpty$0.callStatic(Unknown Source)
        at com.github.piasy.okbuck.rules.AndroidResourceRule.<init>(AndroidResourceRule.groovy:47)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.createAndroidLibraryRules(XBuckFileGenerator.groovy:134)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.this$3$createAndroidLibraryRules(XBuckFileGenerator.groovy)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator$this$3$createAndroidLibraryRules$1.callCurrent(Unknown Source)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.generate(XBuckFileGenerator.groovy:69)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator$generate.call(Unknown Source)
        at com.github.piasy.okbuck.OkBuckGradlePlugin.applyWithBuildVariant(OkBuckGradlePlugin.groovy:132)
        at com.github.piasy.okbuck.OkBuckGradlePlugin$_apply_closure3.doCall(OkBuckGradlePlugin.groovy:72)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:558)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:539)
        at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
        at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 49 more


BUILD FAILED

Problem with LeakCanary

After build and install the apk, the app crashed with following message:

FATAL EXCEPTION: pool-3-thread-1
Process: com.github.piasy.template, PID: 23363
java.lang.IllegalArgumentException: Component class com.squareup.leakcanary.internal.DisplayLeakActivity does not exist in com.github.piasy.template
    at android.os.Parcel.readException(Parcel.java:1476)
    at android.os.Parcel.readException(Parcel.java:1426)
    at android.content.pm.IPackageManager$Stub$Proxy.setComponentEnabledSetting(IPackageManager.java:2943)
    at android.app.ApplicationPackageManager.setComponentEnabledSetting(ApplicationPackageManager.java:1285)
    at com.squareup.leakcanary.internal.LeakCanaryInternals$1.run(LeakCanaryInternals.java:105)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)

用你的配置运行build报错,麻烦帮忙看下是什么问题,谢谢

:MyApplication liujianying$ buck build app
Using buckd.
The following resources were not found when processing app/src/main/res:
RDotTxtEntry{idType=int, type=string, name=appbar_scrolling_view_behavior, idValue=0x00000000}

java.lang.RuntimeException
java.lang.RuntimeException
at com.facebook.buck.android.aapt.MiniAapt.execute(MiniAapt.java:154)
at com.facebook.buck.step.DefaultStepRunner.runStepForBuildTarget(DefaultStepRunner.java:63)
at com.facebook.buck.rules.CachingBuildEngine.executeCommandsNowThatDepsAreBuilt(CachingBuildEngine.java:967)
at com.facebook.buck.rules.CachingBuildEngine.access$6(CachingBuildEngine.java:950)
at com.facebook.buck.rules.CachingBuildEngine$1.apply(CachingBuildEngine.java:367)
at com.facebook.buck.rules.CachingBuildEngine$1.apply(CachingBuildEngine.java:1)
at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:906)
at com.google.common.util.concurrent.Futures$1$1.run(Futures.java:635)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

BUILD FAILED: //app:res failed with exit code 1:
generate_resource_ids
[-] PROCESSING BUCK FILES...FINISHED 0.2s [100%]
[-] BUILDING...FINISHED 0.5s [100%](16/37 JOBS, 5 UPDATED, 13.5% CACHE MISS)
liujianyingdeMacBook-Pro:MyApplication liujianying$

String index out of range

I think it causes because my modules have a really long path with 132 characters length

Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':okbuck'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.ParallelTaskPlanExecutor.process(ParallelTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
    at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -8
    at java_lang_String$substring$4.call(Unknown Source)
    at com.github.piasy.okbuck.helper.ProjectHelper.getPathDiff(ProjectHelper.groovy:82)
    at com.github.piasy.okbuck.helper.ProjectHelper$getPathDiff$0.call(Unknown Source)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.getDepsCommonPathDiff(DependencyAnalyzer.groovy:261)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.this$2$getDepsCommonPathDiff(DependencyAnalyzer.groovy)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer$this$2$getDepsCommonPathDiff$2.callCurrent(Unknown Source)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.createFinalDependency(DependencyAnalyzer.groovy:248)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.this$2$createFinalDependency(DependencyAnalyzer.groovy)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer$this$2$createFinalDependency$0.callCurrent(Unknown Source)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.finalizeDependencies(DependencyAnalyzer.groovy:200)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.analyse(DependencyAnalyzer.groovy:78)
    at com.github.piasy.okbuck.dependency.DependencyAnalyzer.<init>(DependencyAnalyzer.groovy:54)
    at com.github.piasy.okbuck.OkBuckGradlePlugin.applyWithBuildVariant(OkBuckGradlePlugin.groovy:127)
    at com.github.piasy.okbuck.OkBuckGradlePlugin$_apply_closure3.doCall(OkBuckGradlePlugin.groovy:72)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:548)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:529)
    at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
    at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 54 more

Couldn't get dependency '//.okbuck/keystore:app_keystore' of target '//app:bin'

I got the following error after I execute buck run app

➜  appframework git:(master) ✗ buck run app       
Using buckd.
[+] PROCESSING BUCK FILES...0.1s
BUILD FAILED: Couldn't get dependency '//.okbuck/keystore:app_keystore' of target '//app:bin':
The build file that should contain //.okbuck/keystore:app_keystore has already been parsed (/Users/hahack/application.okbuck/keystore/BUCK), but //.okbuck/keystore:app_keystore was not found. Please make sure that //.okbuck/keystore:app_keystore is defined in /Users/hahack/application.okbuck/keystore/BUCK.

Here's my root build.gradle:

apply plugin: 'com.github.piasy.okbuck-gradle-plugin' // facebook buck
okbuck {
    target "android-20"
    overwrite true
    resPackages = [
        'app': 'com.hahack.app'
    ]
}

And the content of .okbuck/app/BUCK looks like this:

import re

jar_deps = []
for jarfile in glob(['*.jar']):
    name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile)
    jar_deps.append(':' + name)
    prebuilt_jar(
        name = name,
        binary_jar = jarfile,
    )

android_library(
    name = 'all-jars',
    exported_deps = jar_deps,
    visibility = [
        'PUBLIC',
    ],
)

aar_deps = []
for aarfile in glob(['*.aar']):
    name = 'aar__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile)
    aar_deps.append(':' + name)
    android_prebuilt_aar(
        name = name,
        aar = aarfile,
    )

android_library(
    name = 'all-aars',
    exported_deps = aar_deps,
    visibility = [
        'PUBLIC',
    ],
)

Problems with storio

buck install app emit compile error could not resolve class com.pushtorefresh.storio.operations.PreparedOperation

Project contains 3 module: common, model, app;

./gradlew okbuck output attached.
okbuck.txt

sub java module that only depended by application module won't build automatically when execute okbuck task

Now okbuck depends on bundleRelease task, which only contained by Android library module, so invoke bundleRelease won't make java module depended by application module only built, and error will be fired like below:

* What went wrong:
Execution failed for task ':okbuck'.
> /Users/piasy/src/AndroidTDDBootStrap/EasyFlow/build/libs/EasyFlow.jar (No such file or directory)

Solution is: make okbuck depends on Android library module's bundleRelease task, and java module's jar task.

build failed: AndroidLibraryRule srcs must be non-null.

It throws the following error after I executed ./gradlew okbuck

* What went wrong:
Execution failed for task ':okbuck'.
> AndroidLibraryRule srcs must be non-null.

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':okbuck'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)
        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
        at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
        at org.gradle.internal.Factories$1.create(Factories.java:22)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
        at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
        at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
        at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:71)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
        at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: java.lang.IllegalArgumentException: AndroidLibraryRule srcs must be non-null.
        at com.github.piasy.okbuck.helper.CheckUtil.checkSetNotEmpty(CheckUtil.groovy:44)
        at com.github.piasy.okbuck.helper.CheckUtil$checkSetNotEmpty$1.callStatic(Unknown Source)
        at com.github.piasy.okbuck.rules.AndroidLibraryRule.<init>(AndroidLibraryRule.groovy:50)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.addAndroidLibraryRule(XBuckFileGenerator.groovy:332)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.this$3$addAndroidLibraryRule(XBuckFileGenerator.groovy)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.createAndroidLibraryRules(XBuckFileGenerator.groovy:191)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.this$3$createAndroidLibraryRules(XBuckFileGenerator.groovy)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator.generate(XBuckFileGenerator.groovy:69)
        at com.github.piasy.okbuck.generator.XBuckFileGenerator$generate.call(Unknown Source)
        at com.github.piasy.okbuck.OkBuckGradlePlugin.applyWithoutBuildVariant(OkBuckGradlePlugin.groovy:119)
        at com.github.piasy.okbuck.OkBuckGradlePlugin$_apply_closure3.doCall(OkBuckGradlePlugin.groovy:72)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:554)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:535)
        at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
        at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 68 more


BUILD FAILED

Missing AIDL support

I have .aidl files in my project, but the corresponding .java files aren't generated.

执行buck install app 失败

@Piasy
我这边用okbuck 集成gradle和buck,执行gradle okbuck 是Ok的,但执行buck install app命令抛出了以下错误:

buck install app
Using watchman.
Traceback (most recent call last):
File "/usr/local/bin/buck/.bootstrap/_twitter_common_python/pex.py", line 223, in execute
self.execute_entry(entry_point, args)
File "/usr/local/bin/buck/.bootstrap/_twitter_common_python/pex.py", line 271, in execute_entry
runner(entry_point)
File "/usr/local/bin/buck/.bootstrap/_twitter_common_python/pex.py", line 288, in execute_module
runpy.run_module(module_name, run_name='main')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 180, in run_module
fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/bin/buck/programs/buck.py", line 52, in
File "/usr/local/bin/buck/programs/buck.py", line 45, in main
File "/usr/local/bin/buck/programs/buck_tool.py", line 130, in launch_buck
File "/usr/local/bin/buck/programs/buck_tool.py", line 219, in launch_buckd
File "/usr/local/bin/buck/programs/buck_tool.py", line 380, in _get_java_args
File "/usr/local/bin/buck/programs/buck_package.py", line 40, in _get_resource
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 80, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 28: ordinal not in range(128)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.