diff --git a/java/google/registry/xjc/BUILD b/java/google/registry/xjc/BUILD index bf0498ccb..f4eeb8d21 100644 --- a/java/google/registry/xjc/BUILD +++ b/java/google/registry/xjc/BUILD @@ -15,6 +15,7 @@ sh_binary( "//third_party/java/jaxb:jaxb-xjc", "//java/google/registry/xml:xml_schema_files", ], + visibility = ["//visibility:private"], ) genrule( @@ -25,23 +26,29 @@ genrule( ], outs = xjc_generated_files, cmd = " && ".join([ - "XJC=$$PWD/$(location //third_party/java/jaxb:jaxb-xjc)", - "OUT=$$PWD/$(GENDIR)/java", + "REP=$$(pwd)", + "XJC=$$REP/$(location //third_party/java/jaxb:jaxb-xjc)", + "OUT=$$REP/$(GENDIR)/java", + "TMP=$$(mktemp -d $${TMPDIR:-/tmp}/jaxb.XXXXXXXXXX)", "mkdir -p $$OUT", - "cp $(SRCS) /tmp", - "cd /tmp", + "cp $(SRCS) $$TMP", + "cd $$TMP", "$$XJC -npa -quiet -extension -d $$OUT -b *.xjb *.xsd", - "find $$OUT -name '*.java' | xargs sed -i 's/" + - "public class/" + - "@SuppressWarnings({\"unchecked\",\"serial\",\"cast\"}) " + - "public class/'", + ("find $$OUT -name '*.java' | xargs sed -i 's/" + + "public class/" + + "@SuppressWarnings({\"unchecked\",\"serial\",\"cast\"}) " + + "public class/'"), + "cd $$REP", + "rm -rf $$TMP", ]), tools = ["//third_party/java/jaxb:jaxb-xjc"], + visibility = ["//visibility:private"], ) sh_binary( name = "make_pkginfo", srcs = ["make_pkginfo.sh"], + visibility = ["//visibility:private"], ) genrule( @@ -53,6 +60,7 @@ genrule( ":jaxb_srcs", ":make_pkginfo", ], + visibility = ["//visibility:private"], ) java_library( diff --git a/java/google/registry/xjc/list_generated_files.sh b/java/google/registry/xjc/list_generated_files.sh index 3780681f6..0561128cd 100755 --- a/java/google/registry/xjc/list_generated_files.sh +++ b/java/google/registry/xjc/list_generated_files.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Copyright 2016 The Domain Registry Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/java/google/registry/xjc/make_pkginfo.sh b/java/google/registry/xjc/make_pkginfo.sh index 0f699a0f8..6bcad649b 100755 --- a/java/google/registry/xjc/make_pkginfo.sh +++ b/java/google/registry/xjc/make_pkginfo.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Copyright 2016 The Domain Registry Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -14,18 +14,18 @@ # limitations under the License. -[[ $# != 2 ]] && { echo "usage: $0 template outdir" >&2; exit 1; } +[[ $# != 2 ]] && { echo "usage: $0 TEMPLATE OUTDIR" >&2; exit 1; } -template=$1 -outdir=$2 +template="$1" +outdir="$2" create() { package=$1 namespace=$2 - cat $template \ - | sed -e s,@PACKAGE@,$package,g \ - -e s,@NAMESPACE@,$namespace,g \ - > $outdir/$package/package-info.java + sed -e "s,@PACKAGE@,${package},g" \ + -e "s,@NAMESPACE@,${namespace},g" \ + < "${template}" \ + > "${outdir}/${package}/package-info.java" } create contact urn:ietf:params:xml:ns:contact-1.0