diff options
Diffstat (limited to 'compile.sh')
-rwxr-xr-x | compile.sh | 87 |
1 files changed, 40 insertions, 47 deletions
diff --git a/compile.sh b/compile.sh index 7001939a70..48a498faa8 100755 --- a/compile.sh +++ b/compile.sh @@ -52,10 +52,6 @@ EXE_EXT="" PROTO_FILES=$(ls src/main/protobuf/*.proto) LIBRARY_JARS=$(find third_party -name *.jar | tr "\n" " ") DIRS=$(echo src/{main/java,tools/xcode-common/java/com/google/devtools/build/xcode/{common,util}} output/src) -SINGLEJAR_DIRS="src/java_tools/singlejar/java src/main/java/com/google/devtools/build/lib/shell" -SINGLEJAR_LIBRARIES="third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar" -BUILDJAR_DIRS="src/java_tools/buildjar/java/com/google/devtools/build/buildjar output/src/com/google/devtools/build/lib/view/proto" -BUILDJAR_LIBRARIES="third_party/error_prone/error_prone_core-2.0.2.jar third_party/guava/guava-18.0.jar third_party/protobuf/protobuf-2.5.0.jar third_party/jsr305/jsr-305.jar" MSYS_DLLS="" PATHSEP=":" @@ -316,32 +312,8 @@ EOF output third_party/javascript fi -if [ -z "${BAZEL_SKIP_SINGLEJAR_COMPILATION}" ]; then - # Compile singlejar, a jar suitable for deployment. - java_compilation "SingleJar tool" "$SINGLEJAR_DIRS" "$SINGLEJAR_LIBRARIES" \ - "output/singlejar" - - create_deploy_jar "SingleJar_deploy" \ - "com.google.devtools.build.singlejar.SingleJar" "output/singlejar" - mkdir -p tools/jdk - cp -f output/singlejar/SingleJar_deploy.jar tools/jdk -fi - -if [ -z "${BAZEL_SKIP_BUILDJAR_COMPILATION}" ]; then - # Compile buildjar, a wrapper around javac. - java_compilation "JavaBuilder tool" "$BUILDJAR_DIRS" "$BUILDJAR_LIBRARIES" \ - "output/buildjar" $JAVA_HOME/lib/tools.jar - - create_deploy_jar "JavaBuilder_deploy" \ - "com.google.devtools.build.buildjar.BazelJavaBuilder" "output/buildjar" - mkdir -p tools/jdk - cp -f output/buildjar/JavaBuilder_deploy.jar tools/jdk -fi - cc_build "client" "objs" "output/client" ${BLAZE_CC_FILES[@]} -LDFLAGS="$LDFLAGS -lz" cc_build "ijar" "ijar" "tools/jdk/ijar" ${IJAR_CC_FILES[@]} - if [ ! -z "$JNILIB" ] ; then log "Compiling JNI libraries..." for FILE in "${NATIVE_CC_FILES[@]}"; do @@ -397,30 +369,51 @@ zip -qA output/bazel \ chmod 755 output/bazel -if [[ $PLATFORM == "darwin" ]]; then - log "Creating objc helper tools..." - - zip_common="src/tools/xcode-common/java/com/google/devtools/build/xcode/zip src/tools/xcode-common/java/com/google/devtools/build/xcode/util src/java_tools/singlejar/java/com/google/devtools/build/zip src/java_tools/singlejar/java/com/google/devtools/build/singlejar/ZipCombiner.java src/java_tools/singlejar/java/com/google/devtools/build/singlejar/ZipEntryFilter.java src/java_tools/singlejar/java/com/google/devtools/build/singlejar/CopyEntryFilter.java" - - java_compilation "actoolzip" "src/tools/xcode-common/java/com/google/devtools/build/xcode/actoolzip src/tools/xcode-common/java/com/google/devtools/build/xcode/zippingoutput ${zip_common}" "third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar" "output/actoolzip" - create_deploy_jar "precomp_actoolzip_deploy" "com.google.devtools.build.xcode.actoolzip.ActoolZip" "output/actoolzip" - - java_compilation "ibtoolzip" "src/tools/xcode-common/java/com/google/devtools/build/xcode/ibtoolzip src/tools/xcode-common/java/com/google/devtools/build/xcode/zippingoutput ${zip_common}" "third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar" "output/ibtoolzip" - create_deploy_jar "precomp_ibtoolzip_deploy" "com.google.devtools.build.xcode.ibtoolzip.IbtoolZip" "output/ibtoolzip" +function bootstrap_tool() { + output/bazel --blazerc=/dev/null build \ + --singlejar_top=//src/java_tools/singlejar:bootstrap_deploy.jar \ + --javabuilder_top=//src/java_tools/buildjar:bootstrap_deploy.jar \ + --javacopt="-source ${JAVA_VERSION} -target ${JAVA_VERSION}" \ + "${@}" +} - java_compilation "momczip" "src/objc_tools/momczip/java/com/google/devtools/build/xcode/momczip src/tools/xcode-common/java/com/google/devtools/build/xcode/zippingoutput ${zip_common}" "third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar" "output/momczip" - create_deploy_jar "precomp_momczip_deploy" "com.google.devtools.build.xcode.momczip.MomcZip" "output/momczip" +# Compile ijar +bootstrap_tool //third_party/ijar +mkdir -p tools/jdk +cp -f bazel-bin/third_party/ijar/ijar tools/jdk +chmod 755 tools/jdk/ijar - java_compilation "bundlemerge" "src/objc_tools/bundlemerge/java/com/google/devtools/build/xcode/bundlemerge src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge src/tools/xcode-common/java/com/google/devtools/build/xcode/common output/src/com/google/devtools/build/xcode/bundlemerge/proto/BundleMergeProtos.java ${zip_common} third_party/java/dd_plist src/main/java/com/google/devtools/common/options" "third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar third_party/protobuf/protobuf-2.5.0.jar" "output/bundlemerge" - create_deploy_jar "precomp_bundlemerge_deploy" "com.google.devtools.build.xcode.bundlemerge.BundleMerge" "output/bundlemerge" +if [ -z "${BAZEL_SKIP_SINGLEJAR_COMPILATION}" ]; then + # Compile singlejar, a jar suitable for deployment. + bootstrap_tool //src/java_tools/singlejar:SingleJar_deploy.jar + mkdir -p tools/jdk + cp -f bazel-bin/src/java_tools/singlejar/SingleJar_deploy.jar tools/jdk + chmod 644 tools/jdk/SingleJar_deploy.jar +fi - java_compilation "plmerge" "src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge src/tools/xcode-common/java/com/google/devtools/build/xcode/common third_party/java/dd_plist src/main/java/com/google/devtools/common/options ${zip_common}" "third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar" "output/plmerge" - create_deploy_jar "precomp_plmerge_deploy" "com.google.devtools.build.xcode.plmerge.PlMerge" "output/plmerge" +if [ -z "${BAZEL_SKIP_BUILDJAR_COMPILATION}" ]; then + bootstrap_tool //src/java_tools/buildjar:JavaBuilder_deploy.jar + mkdir -p tools/jdk + cp -f bazel-bin/src/java_tools/buildjar/JavaBuilder_deploy.jar tools/jdk + chmod 644 tools/jdk/JavaBuilder_deploy.jar +fi - java_compilation "xcodegen" "src/objc_tools/xcodegen/java/com/google/devtools/build/xcode/xcodegen src/main/java/com/google/devtools/common/options output/src/com/google/devtools/build/xcode/xcodegen/proto/XcodeGenProtos.java third_party/java/buck-ios-support/java src/objc_tools/plmerge/java/com/google/devtools/build/xcode/plmerge src/tools/xcode-common/java/com/google/devtools/build/xcode/common src/tools/xcode-common/java/com/google/devtools/build/xcode/util third_party/java/dd_plist" "third_party/guava/guava-18.0.jar third_party/jsr305/jsr-305.jar third_party/protobuf/protobuf-2.5.0.jar" "output/xcodegen" - create_deploy_jar "precomp_xcodegen_deploy" "com.google.devtools.build.xcode.xcodegen.XcodeGen" "output/xcodegen" +if [[ $PLATFORM == "darwin" ]] && [ -z "${BAZEL_SKIP_OBJCTOOLS_COMPILATION}" ]; then + log "Creating objc helper tools..." - cp -f output/actoolzip/precomp_actoolzip_deploy.jar output/ibtoolzip/precomp_ibtoolzip_deploy.jar output/momczip/precomp_momczip_deploy.jar output/bundlemerge/precomp_bundlemerge_deploy.jar output/plmerge/precomp_plmerge_deploy.jar output/xcodegen/precomp_xcodegen_deploy.jar tools/objc/ + OBJC_TOOLS="src/tools/xcode-common/java/com/google/devtools/build/xcode/actoolzip:actoolzip_deploy.jar \ + src/tools/xcode-common/java/com/google/devtools/build/xcode/ibtoolzip:ibtoolzip_deploy.jar \ + src/objc_tools/momczip:momczip_deploy.jar \ + src/objc_tools/bundlemerge:bundlemerge_deploy.jar \ + src/objc_tools/plmerge:plmerge_deploy.jar \ + src/objc_tools/xcodegen:xcodegen_deploy.jar" + bootstrap_tool ${OBJC_TOOLS} + + for i in ${OBJC_TOOLS}; do + p=bazel-bin/$(echo $i | sed "s|:|/|") + cp $p tools/objc/precomp_$(basename $p) + chmod 0644 tools/objc/precomp_$(basename $p) + done fi # Create a bazelrc file with the base_workspace directory in the package path. |