From 3dceff2dbace89ce12459c6ab8359d8d1a348102 Mon Sep 17 00:00:00 2001 From: Thomas Vachuska Date: Mon, 20 Aug 2018 16:34:56 -0700 Subject: [PATCH] Fixing onos-lib-gen to correct buildifier error and to support future local_jar workspace rule. Change-Id: I2376223534e1f686f03d7a466a314f4f9c0932ae --- tools/build/libgen/pom.xml | 2 +- .../org/onosproject/libgen/BuckArtifact.java | 50 +++++++------------ .../onosproject/libgen/BuckLibGenerator.java | 10 +--- tools/build/onos-lib-gen | 2 +- 4 files changed, 21 insertions(+), 43 deletions(-) diff --git a/tools/build/libgen/pom.xml b/tools/build/libgen/pom.xml index 057dfa7f45..b21e00982e 100644 --- a/tools/build/libgen/pom.xml +++ b/tools/build/libgen/pom.xml @@ -29,7 +29,7 @@ org.onosproject onos-libgen jar - 1.3-SNAPSHOT + 1.3 Third-party library generator for Buck and Bazel workspaces http://onosproject.org/ diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java index be336c8459..63136e6310 100644 --- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java +++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java @@ -89,23 +89,6 @@ public abstract class BuckArtifact { return fileName().endsWith(".jar"); } - private boolean isHttp() { - return url().startsWith("http"); - } - - String getBazelJavaLibraryFragment() { - if (isJar()) { - String format = - "\n native.java_library(\n" + - " name = \"%s\",\n" + - " visibility = [\"//visibility:public\"],\n" + - " exports = [\"@%s//jar\"],\n" + - " )\n"; - return String.format(format, jarTarget(), jarTarget()); - } - return ""; - } - private String extractRepo() { // This is a hack because the code above us already got rid of the maven repo // info for artifacts @@ -122,24 +105,25 @@ public abstract class BuckArtifact { String repo = extractRepo(); String repoAttribute = ""; if (!"".equals(repo)) { - repoAttribute = " repository = \"" + repo + "\",\n"; + repoAttribute = " repository = \"" + repo + "\",\n"; } - String format = - "\n native.maven_jar(\n" + - " name = \"%s\",\n" + - " artifact = \"%s\",\n" + - " sha1 = \"%s\",\n" + - "%s" + - " )\n"; - return String.format(format, jarTarget(), mavenCoords(), sha, repoAttribute); + String format = "\n" + + " if \"%s\" not in native.existing_rules():\n" + + " native.maven_jar(\n" + + " name = \"%s\",\n" + + " artifact = \"%s\",\n" + + " sha1 = \"%s\",\n%s" + + " )\n"; + return String.format(format, jarTarget(), jarTarget(), mavenCoords(), sha, repoAttribute); } else { - String format = - "\n native.http_file(\n" + - " name = \"%s\",\n" + - " url = \"%s\",\n" + - " sha256 = \"%s\",\n" + - " )\n"; - return String.format(format, jarTarget(), url(), sha); + String format = "\n" + + " if \"%s\" not in native.existing_rules():\n" + + " native.http_file(\n" + + " name = \"%s\",\n" + + " url = \"%s\",\n" + + " sha256 = \"%s\",\n" + + " )\n"; + return String.format(format, jarTarget(), jarTarget(), url(), sha); } } diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java index 9355079943..1de8b673be 100644 --- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java +++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java @@ -182,17 +182,11 @@ public class BuckLibGenerator { artifacts.forEach(artifact -> sb.append(artifact.getBuckFragment())); } else { StringBuilder mavenJars = new StringBuilder(); - StringBuilder javaLibraries = new StringBuilder(); - mavenJars.append("\ndef generated_maven_jars():"); - javaLibraries.append("\ndef generated_java_libraries():"); - artifacts.forEach(artifact -> { mavenJars.append(artifact.getBazelMavenJarFragment()); - javaLibraries.append(artifact.getBazelJavaLibraryFragment()); }); - - sb.append(mavenJars).append(javaLibraries); + sb.append(mavenJars); } return sb.toString(); } @@ -218,7 +212,7 @@ public class BuckLibGenerator { " return artifact_map[label_string]\n" + " if type(label) == \"string\":\n" + " return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label_string, ONOS_VERSION)\n" + - " return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)\n\n" + " return \"mvn:%s:%s:%s\" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)\n" ); return artifactMap.toString(); diff --git a/tools/build/onos-lib-gen b/tools/build/onos-lib-gen index e3bc4035b4..1e24bb3617 100755 --- a/tools/build/onos-lib-gen +++ b/tools/build/onos-lib-gen @@ -9,7 +9,7 @@ set -e cd $ONOS_ROOT REPO=${M2_REPO:-~/.m2/repository} -VER=1.2 +VER=1.3 ARTIFACT=org/onosproject/onos-libgen/$VER/onos-libgen-$VER.jar JAR=$REPO/$ARTIFACT