This is an automated email from the ASF dual-hosted git repository.
ishan pushed a commit to branch jira/solr-14688_poc
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/jira/solr-14688_poc by this
push:
new d94455d Generate local_packages.json via gradle
d94455d is described below
commit d94455d0ec7bb7565ff23e6ea543ec0ca5d6e73c
Author: Ishan Chattopadhyaya <[email protected]>
AuthorDate: Wed Jan 26 18:46:24 2022 +0530
Generate local_packages.json via gradle
---
.gitignore | 3 +-
solr/contrib/local_packages.json | 64 ----------------------------------------
solr/packaging/build.gradle | 39 +++++++++++++++++++-----
3 files changed, 34 insertions(+), 72 deletions(-)
diff --git a/.gitignore b/.gitignore
index 0ae4764..3cbbda1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
/gradle.properties
.gradle/
build/
+solr/contrib/local_packages.json
# IntelliJ IDEA
/.idea/
@@ -34,4 +35,4 @@ __pycache__
*~
# Ignore lucene included build
-lucene/
\ No newline at end of file
+lucene/
diff --git a/solr/contrib/local_packages.json b/solr/contrib/local_packages.json
deleted file mode 100644
index e703bc6..0000000
--- a/solr/contrib/local_packages.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "packages": {
- "solr-scripting": [
- {
- "version": "10.0.0",
- "files": [
- "/scripting/lib/solr-scripting-10.0.0-SNAPSHOT.jar"
- ],
- "manifest": "/scripting/manifest.json"
- }
- ],
- "solr-extraction": [
- {
- "version": "10.0.0",
- "files": [
- "/extraction/lib/solr-extraction-10.0.0-SNAPSHOT.jar",
- "/extraction/lib/apache-mime4j-core-0.8.3.jar",
- "/extraction/lib/fontbox-2.0.24.jar",
- "/extraction/lib/parso-2.0.11.jar",
- "/extraction/lib/tika-java7-1.27.jar",
- "/extraction/lib/apache-mime4j-dom-0.8.3.jar",
- "/extraction/lib/icu4j-68.2.jar",
- "/extraction/lib/pdfbox-2.0.24.jar",
- "/extraction/lib/tika-parsers-1.27.jar",
- "/extraction/lib/aspectjrt-1.8.0.jar",
- "/extraction/lib/isoparser-1.1.22.jar",
- "/extraction/lib/pdfbox-tools-2.0.24.jar",
- "/extraction/lib/tika-xmp-1.27.jar",
- "/extraction/lib/bcmail-jdk15on-1.69.jar",
- "/extraction/lib/jackcess-3.0.1.jar",
- "/extraction/lib/poi-4.1.1.jar",
- "/extraction/lib/vorbis-java-core-0.8.jar",
- "/extraction/lib/bcpkix-jdk15on-1.69.jar",
- "/extraction/lib/jackcess-encrypt-3.0.0.jar",
- "/extraction/lib/poi-ooxml-4.1.1.jar",
- "/extraction/lib/vorbis-java-tika-0.8.jar",
- "/extraction/lib/bcprov-jdk15on-1.69.jar",
- "/extraction/lib/java-libpst-0.8.1.jar",
- "/extraction/lib/poi-ooxml-schemas-4.1.1.jar",
- "/extraction/lib/xercesImpl-2.12.0.jar",
- "/extraction/lib/boilerpipe-1.1.0.jar",
- "/extraction/lib/jdom2-2.0.6.jar",
- "/extraction/lib/poi-scratchpad-4.1.1.jar",
- "/extraction/lib/xmlbeans-3.1.0.jar",
- "/extraction/lib/commons-compress-1.21.jar",
- "/extraction/lib/jempbox-1.8.16.jar",
- "/extraction/lib/rome-1.12.2.jar",
- "/extraction/lib/xmpcore-5.1.3.jar",
- "/extraction/lib/commons-csv-1.7.jar",
- "/extraction/lib/jmatio-1.5.jar",
- "/extraction/lib/rome-utils-1.12.2.jar",
- "/extraction/lib/xz-1.8.jar",
- "/extraction/lib/curvesapi-1.06.jar",
- "/extraction/lib/juniversalchardet-1.0.3.jar",
- "/extraction/lib/tagsoup-1.2.1.jar",
- "/extraction/lib/dec-0.1.2.jar",
- "/extraction/lib/metadata-extractor-2.11.0.jar",
- "/extraction/lib/tika-core-1.27.jar"
- ],
- "manifest": "/extraction/manifest.json"
- }
- ]
- }
-}
diff --git a/solr/packaging/build.gradle b/solr/packaging/build.gradle
index 26a5e41..5be1c8a 100644
--- a/solr/packaging/build.gradle
+++ b/solr/packaging/build.gradle
@@ -18,6 +18,9 @@
// This project puts together a "distribution", assembling dependencies from
// various other projects.
+import groovy.json.JsonOutput;
+import groovy.json.JsonSlurper;
+
plugins {
id 'base'
id 'distribution'
@@ -86,24 +89,42 @@ distributions {
include "NOTICE.txt"
})
- from(project(":solr:contrib").projectDir, {
- include "local_packages.json"
- into "contrib"
- })
-
-
from(project(":solr").projectDir, {
include "bin/**"
include "licenses/**"
exclude "licenses/README.committers.txt"
include "CHANGES.txt"
include "README.md"
- include "local_packages.json"
include "manifest.json"
})
from(configurations.contrib, {
into "contrib"
+
+ // Generate a local_packages.json for first party packages
+ eachFile({ fcd ->
+ def entry = fcd.getPath().startsWith('contrib/') ? "/" +
fcd.getPath().minus('contrib/'): fcd.getPath();
+ def firstPartyPackages = ["scripting", "extraction"];
+ firstPartyPackages.each { module ->
+ if (fcd.getPath().startsWith("contrib/" + module + "/")) {
+ def localPackagesFile = new
File(project(":solr:contrib").projectDir, "local_packages.json");
+ def parsedJson = new
groovy.json.JsonSlurper().parseText("{\"packages\": {}}");
+ if (localPackagesFile.exists()) {
+ parsedJson = new
groovy.json.JsonSlurper().parseText(localPackagesFile.text);
+ }
+ def pkgs = parsedJson["packages"];
+ if (!pkgs.containsKey("solr-" + module)) {
+ pkgs["solr-" + module] = [["version": baseVersion, "files":
[]]];
+ }
+ if (entry.endsWith("manifest.json")) {
+ pkgs["solr-" + module][0]["manifest"] = entry;
+ } else if (entry.endsWith(".jar")) {
+ pkgs["solr-" + module][0]["files"].add(entry);
+ }
+ localPackagesFile.write(JsonOutput.toJson(parsedJson));
+ }
+ }
+ })
})
from(configurations.example, {
@@ -153,6 +174,10 @@ task dev(type: Copy) {
from installDist.outputs
into devDir
+
+ // Copy over the generated local_packages.json into the contrib/ directory.
+ from(new File(project(":solr:contrib").projectDir, "local_packages.json"));
+ rename("local_packages.json", "contrib/local_packages.json");
}
distTar {