Wednesday, June 7, 2017

Thrift fails on Windows - thrift failed error: The command line is too long.

Meet a thrift compiling failure on my project on Windows 7. Using Maven in IntelliJ so I choiced maven-thrift-pluging for thrift files. For one project, the thrift failed as below:

[INFO] — maven-thrift-plugin:0.1.11:compile (thrift-sources) @ xxxxxxxxxxxxxxx —
[ERROR] thrift failed output: 
[ERROR] thrift failed error: The command line is too long.

Executed the thrift --gen manually did not meet this issue, so most likely caused by how maven-thrift-plugin call the compiler. Finally I had a workaround to decrease the thrift temp file folder path to pass the build:

Below configuration changed the folder name from default "thrift-dependencies" to "td", lucky my project pass build, otherwise I think I have to move my project to a up-level folder to get a shorter path.

<plugin>    <groupId>org.apache.thrift.tools</groupId>    <artifactId>maven-thrift-plugin</artifactId>    <configuration>        <thriftExecutable>${thrift.compiler}</thriftExecutable>        <generator>${thrift.generator}</generator>        <temporaryThriftFileDirectory>${project.build.directory}/td</temporaryThriftFileDirectory>    </configuration></plugin>

Friday, May 5, 2017

Gradle Failed for Google Guava: transformClassesWithDexForDebug TransformException

Meet the compile issue when adding Google Guava into my Android project:

dependencies {
  compile 'com.google.guava:guava:21.0'
}
Error:

10:16:43.803 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > com.android.build.api.transform.TransformException: com.android.ide.common.pro
cess.ProcessException: Error while executing java process with main class com.android.multidex.ClassReferenceListBuilder with arguments {xxxxxxxxxxx\build\intermediates\multi-dex\debug\componentClasses.jar xxxxxxxxx\build\intermediates\transforms\jarMerging\de
bug\jars\1\1f\combined.jar}

After downgrade guava to version 19 the project passed build successfully:
dependencies {
  compile 'com.google.guava:guava:19.0'
}
Have no time to dig into the root cause yet, record here for reference.

Wednesday, March 8, 2017

How to build React-Native behind proxy

Recently I tried to setup and build react-native app (mostly for Android), behind a proxy server. To pass the gradle build, need set proxy config as below:


  • Edit AwesomeProject\Android\gradle.properties, add proxy config:
  •     systemProp.http.proxyHost=10.255.247.227
  •     systemProp.http.proxyPort=8080
  •     systemProp.https.proxyHost=10.255.247.227
  •     systemProp.https.proxyPort=8080


Thrift fails on Windows - thrift failed error: The command line is too long.

Meet a thrift compiling failure on my project on Windows 7. Using Maven in IntelliJ so I choiced maven-thrift-pluging for thrift files. For ...