You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by GitBox <gi...@apache.org> on 2020/09/21 23:13:57 UTC

[GitHub] [lucene-solr] madrob opened a new pull request #1905: LUCENE-9488 Release with Gradle Part 2

madrob opened a new pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905


   Deleted lucene/version.properties again


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-703727019


   Nevertheless, there's still a forbiddenapis issue: When writing the SHA512 file, we don't apply charset, it's platform dependent.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499902932



##########
File path: lucene/packaging/build.gradle
##########
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This project puts together a "distribution", assembling dependencies from
+// various other projects.
+
+plugins {
+    id 'distribution'
+}
+
+description = 'Lucene distribution packaging'
+
+// Declare all subprojects that should be included in binary distribution.
+// By default everything is included, unless explicitly excluded.
+def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
+    return !(subproject.path in [
+        // Exclude packaging, not relevant to binary distribution.
+        ":lucene:packaging",
+        // Exclude parent container project of analysis modules (no artifacts).
+        ":lucene:analysis"
+    ])
+}
+
+// Create a configuration to each subproject and add dependency.
+def binaryArtifactsConf = { Project prj ->
+    "dep-binary" + prj.path.replace(':', '-')
+}
+
+def allDepsConf = { Project prj ->
+    "dep-full" + prj.path.replace(':', '-')
+}
+
+configurations {
+    docs
+}
+
+for (Project includedProject : includeInBinaries) {
+    def confBinaries = binaryArtifactsConf(includedProject)
+    def confFull = allDepsConf(includedProject)
+    configurations.create(confBinaries)
+    configurations.create(confFull)
+    dependencies { DependencyHandler handler ->
+        // Just project binaries.
+        handler.add(confBinaries, project(path: includedProject.path, configuration: "packaging"))
+        // All project dependencies, including transitive dependencies from the runtime configuration.
+        handler.add(confFull, project(path: includedProject.path, configuration: "runtimeElements"), {
+            exclude group: "org.apache.lucene"
+
+            // Exclude these from all projects.
+            exclude group: "commons-logging"
+            exclude group: "org.slf4j"
+        })
+    }
+}
+
+dependencies {
+    docs project(path: ':lucene', configuration: 'docs')
+}
+
+distributions {
+    // The "main" distribution is the binary distribution.
+    // We should also add 'source' distribution at some point
+    // (we can't do it now as the build itself is tangled with Solr).
+    main {
+        distributionBaseName = 'lucene'
+
+        contents {
+            // Manually correct posix permissions (matters when packaging on Windows).
+            filesMatching(["**/*.sh", "**/*.bat"]) { copy ->
+                copy.setMode(0755)
+            }
+
+            // Root distribution files; these are cherry-picked manually.
+            from(project(':lucene').projectDir, {
+                include "CHANGES.txt"
+                include "JRE_VERSION_MIGRATION.md"
+                include "LICENSE.txt"
+                include "licenses/*"
+                include "MIGRATE.md"
+                include "NOTICE.txt"
+                include "README.md"
+                include "SYSTEM_REQUIREMENTS.md"
+            })
+
+            // A couple more missing README files
+            from(project(':lucene:analysis').projectDir) {
+                include "README.txt"
+                into 'analysis'
+            }
+
+            // Copy files from documentation output to 'docs'
+            from(configurations.docs, {

Review comment:
       where is this coming from?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-698781027


   Just to be clear - I don't know if it's everything concerning binary distribution (please eyeball diffing against 8.x), just a step forward. Have to dash to work now.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r493853135



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       Haven't forgotten about it, just busy with work. Those release scripts will have to be adjusted to Solr and Lucene released independently in the future. Which requires independent builds, which requires repo split. Will have to get to it, eventually. Sigh.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-698777397


   I put together binary distribution assembly the way I see this should eventually work, Mike. @uschindler may also take a look. It may look complicated on the surface - with the individual configurations for subprojects and dependency handlers declared programmatically - but I think this is the way to go as to get *consistency* in the output.
   
   When you compare the assembled distribution against 8.x ZIP you'll see what I mean - some of the JARs in 8.x are from test scopes, we don't include some of the required JARs under lib/ in many artifacts... It's a mess. 
   
   When you think of it I don't know if it makes sense to add copies of third-party JARs under lib/ at all... I think we could just generate a plain text file with all the dependencies listed. I don't think many people assemble projects manually these days anyway, so binary distributions just ship the "official" artifacts of a project.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499901026



##########
File path: solr/packaging/build.gradle
##########
@@ -115,15 +121,15 @@ distributions {
         into "server"
       })
 
+      from(configurations.docs, {
+        into "docs"
+      })
       // docs/   - TODO: this is assembled via XSLT... leaving out for now.
+      // -- Is there more to do here?

Review comment:
       I don't think so. Documentation in Solr's Artifacts on Jenkins already contain everything perfectly. If its the same for Lucene, we're fine. Should land in the ZIP's `docs` folder.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r492937930



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       I tried looking at the solr packaging for figuring this out, but kept getting duplicate entries in the archive. I left the TODOs for what still remains to be added to the zip, can you give me a little more direction on what the implementation would look like?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705777022


   Thanks. I will soon activate jenkins jobs. 👍🏻😉


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler edited a comment on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler edited a comment on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705717342






----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499903030



##########
File path: solr/packaging/build.gradle
##########
@@ -115,15 +121,15 @@ distributions {
         into "server"
       })
 
+      from(configurations.docs, {

Review comment:
       where is this coming from?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500041959



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       I explained this above, I hope. I think artifact/configuration based approach to collecting packaging dependencies is superior to explicit properties and task-dependencies.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705772790






----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-701923246


   Hi Mike. Well, "proper" in my opinion - there's certainly a million ways to do it. Thank you for being patient with me; I'll review as soon as I can. A separate thing is repository (and build) separation which this is closely related to since source releases should be buildable. I've extracted Lucene-only part of the build already and will proceed to Solr when we have Lucene snapshot builds up on Apache repositories.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705795294


   Yeah. At the moment both artifacts in source form would be the same. So I agree, just zip too level.
   
   At Ant times Solr always was also a combined zip. Lucene was just Lucene subfolder, but it was somehow incomplete. It was able to build, but no real releases.
   
   IMHO we should have always released a combined src.tgz and separate binaries 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500100437



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       There are no stupid questions. This is the relevant documentation bit here, I believe.
   https://docs.gradle.org/current/userguide/cross_project_publications.html




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-703718577


   Yup, don't use internal* - not a good idea. As for gradle API - I don't think it'll be easy to apply forbidden APIs here?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500042473



##########
File path: solr/packaging/build.gradle
##########
@@ -115,15 +121,15 @@ distributions {
         into "server"
       })
 
+      from(configurations.docs, {
+        into "docs"
+      })
       // docs/   - TODO: this is assembled via XSLT... leaving out for now.
+      // -- Is there more to do here?

Review comment:
       I think we can create a separate issue for collecting Solr docs? This patch is mostly about Lucene and it's pretty big already.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r494116068



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       Ok, fair enough. But I wouldn't want to add things to gradle that are not right - these are hard to get rid of later on. I'm really busy this week but I will correct those assembly bits and commit them to this PR. Please give me some time to work on this, thank you.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r492937930



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       I tried looking at the solr packaging for figuring this out, but kept getting duplicate entries in the archive. I left the TODOs for what still remains to be added to the zip, can you give me a little more direction on what the implementation would look like?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r492962137



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       Sure but you'll have to be patient - can't do it right away. 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705105811


   I fixed the documentation:
   - Lucene shipos with full docs including javadocs
   - Solr ships with a stub pointing to web page (we don't ship javadocs in TGZ). I will only fix the 'documentationOnline' task in a lter commit, to generate the HTML changed. In 8.x those are missing, but that's a pity and now easy to do.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499709502



##########
File path: gradle/releasing.gradle
##########
@@ -0,0 +1,58 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.commons.codec.digest.DigestUtils
+import org.apache.commons.codec.digest.MessageDigestAlgorithms
+
+// We're using commons-codec for computing checksums.
+buildscript {
+    repositories {
+        mavenCentral()
+    }
+
+    dependencies {
+        classpath 'commons-codec:commons-codec:1.13'
+    }
+}
+
+allprojects {
+    plugins.withType(DistributionPlugin) {
+        def checksum = {
+            outputs.files.each { File file ->
+                new File(file.parent, file.name + ".sha512").text = new DigestUtils(MessageDigestAlgorithms.SHA_512).digestAsHex(file).trim() + "  " + file.name

Review comment:
       Use charset here. `File.text = ...` uses default charset. Use `File.setText(..., 'UTF-8')`




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-703725625


   That's what I though.
   
   On Mon, Oct 5, 2020 at 5:55 PM Uwe Schindler <no...@github.com>
   wrote:
   
   > You can apply forbiddenapis to groovy or gradle code. But for that you
   > need to have everything compiled to build-src./build/classes With adhoc
   > scripts it wont work.
   >
   > —
   > You are receiving this because you were mentioned.
   > Reply to this email directly, view it on GitHub
   > <https://github.com/apache/lucene-solr/pull/1905#issuecomment-703723514>,
   > or unsubscribe
   > <https://github.com/notifications/unsubscribe-auth/AABQWLRPCB2P7WEOBEENEX3SJHT73ANCNFSM4RVC7DPQ>
   > .
   >
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler edited a comment on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler edited a comment on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705717342


   Hi @madrob are you planning to further work on this? I have seen one TODO regarding a README. If you don't have time, I can merge this and enable Jenkins Artifact builds.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705717342






----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705790424


   They're not handled yet, I suspect we should just be doing `git archive` rather than defining a gradle task, but I'll have more time to follow up next week


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r492507019



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?

Review comment:
       Yes, please move it to :lucene:packaging. It makes things much cleaner in the long run.

##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       This is wrong. It should rely on published artifacts from other subprojects (set up proper dependencies) and assemble them in the right way into the distribution layout.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob merged pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob merged pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler edited a comment on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler edited a comment on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705795294


   Yeah. At the moment both artifacts in source form would be the same. So I agree, just zip top level.
   
   At Ant times Solr always was also a combined zip. Lucene was just Lucene subfolder, but it was somehow incomplete. It was able to build, but no real releases.
   
   IMHO we should have always released a combined src.tgz and separate binaries 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] danmuzi commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
danmuzi commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499759537



##########
File path: gradle/releasing.gradle
##########
@@ -0,0 +1,58 @@
+

Review comment:
       minor comment but there is an unnecessary blank line :)




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705085768


   Hi @madrob: I will now commit in the changes to make the documentation of Lucene and also Solr (still missing) in the TGZ working. As dawid said, theres the configuration missing.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r494116068



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       Ok, fair enough. But I wouldn't want to add things to gradle that are not right - these are hard to get rid of later on. I'm really busy this week but I will correct those assembly bits and commit them to this PR. Please give me some time to work on this, thank you.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-701674748


   Dawid, it took me a few tries of going through your comments and other examples in the code but I think it finally dawned on me what you meant as the proper way to do it. Each task can export its own outputs as an artifact, that's the piece that was missing in my mental model. Please take another look?
   
   There's another piece where the Luke log4j dependency was causing a duplicate entry error in the archives... not sure if you were getting the same error or not. Otherwise the output zip looks pretty close to the real thing from 8x


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705772790


   Rebasing, squashing, and pushing later today


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-698777397






----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499902511



##########
File path: solr/packaging/build.gradle
##########
@@ -115,15 +121,15 @@ distributions {
         into "server"
       })
 
+      from(configurations.docs, {
+        into "docs"
+      })
       // docs/   - TODO: this is assembled via XSLT... leaving out for now.
+      // -- Is there more to do here?

Review comment:
       Oh, I am not sure if this works. At least in current master, I see NO 'docs/' foder in the binary releaese!




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] danmuzi commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
danmuzi commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499759537



##########
File path: gradle/releasing.gradle
##########
@@ -0,0 +1,58 @@
+

Review comment:
       minor comment but unnecessary blank line :)




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r492507019



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?

Review comment:
       Yes, please move it to :lucene:packaging. It makes things much cleaner in the long run.

##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       This is wrong. It should rely on published artifacts from other subprojects (set up proper dependencies) and assemble them in the right way into the distribution layout.

##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       Sure but you'll have to be patient - can't do it right away. 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-702532515


   I'll take a look later today.
   
   On Fri, Oct 2, 2020 at 12:02 AM Mike Drob <no...@github.com> wrote:
   
   > *@madrob* commented on this pull request.
   > ------------------------------
   >
   > In lucene/packaging/build.gradle
   > <https://github.com/apache/lucene-solr/pull/1905#discussion_r498535024>:
   >
   > > +// This project puts together a "distribution", assembling dependencies from
   > +// various other projects.
   > +
   > +plugins {
   > +    id 'distribution'
   > +}
   > +
   > +description = 'Lucene distribution packaging'
   > +
   > +// Declare all subprojects that should be included in binary distribution.
   > +// By default everything is included, unless explicitly excluded.
   > +def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
   > +    return !(subproject.path in [
   > +        ":lucene:packaging",
   > +        ":lucene:analysis",
   > +        ":lucene:luke", // nocommit - Encountered duplicate path "luke/lib/log4j-core-2.13.2.jar"
   >
   > @dweiss <https://github.com/dweiss> this is still a problem, not sure why
   > it comes up or how to resolve it.
   >
   > —
   > You are receiving this because you were mentioned.
   > Reply to this email directly, view it on GitHub
   > <https://github.com/apache/lucene-solr/pull/1905#pullrequestreview-500748647>,
   > or unsubscribe
   > <https://github.com/notifications/unsubscribe-auth/AABQWLW5ZDMITGXLCQACWWTSIT4BFANCNFSM4RVC7DPQ>
   > .
   >
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r498535024



##########
File path: lucene/packaging/build.gradle
##########
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This project puts together a "distribution", assembling dependencies from
+// various other projects.
+
+plugins {
+    id 'distribution'
+}
+
+description = 'Lucene distribution packaging'
+
+// Declare all subprojects that should be included in binary distribution.
+// By default everything is included, unless explicitly excluded.
+def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
+    return !(subproject.path in [
+        ":lucene:packaging",
+        ":lucene:analysis",
+        ":lucene:luke", // nocommit - Encountered duplicate path "luke/lib/log4j-core-2.13.2.jar"

Review comment:
       @dweiss this is still a problem, not sure why it comes up or how to resolve it.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500087063



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       But where is the documentation config defined. I did not find it anywhere else. I understand and I like it, but this is incomplete. And currently it does not work (I see no docs in ZIP files).




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500088372



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       So as far as I understand: In the documentation.gradle file I would add a "configuration docs" for `:solr` and `:lucene` and then use `builtBy 'documentation'` there. That's what I am missing here. I was about to set this up yesterday, but was not sure if I miss something.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705717342


   Hi @madrob are you planning to further work on this. I have seen one TODO regarding a README. If you don't have time, I can merge this and enable Jenkins Artifact builds.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob merged pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob merged pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705773298


   You can just click the button...


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500092191



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       Ah, sorry - yes, you are correct. It should declare artifacts, the configuration to attach them to and the outputs. An example is in solr/example/build.gradle:
   
   ```
   artifacts {
     packaging packagingDir, {
       builtBy assemblePackaging
     }
   } 
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499905829



##########
File path: solr/packaging/build.gradle
##########
@@ -115,15 +121,15 @@ distributions {
         into "server"
       })
 
+      from(configurations.docs, {
+        into "docs"
+      })
       // docs/   - TODO: this is assembled via XSLT... leaving out for now.
+      // -- Is there more to do here?

Review comment:
       See comments below.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705794061


   This isn't so easy as the current gradle build can't be separated into Lucene and Solr-only parts (as it was the case with ant). We could distribute everything (Solr and Lucene sources) or wait until builds are separated (which I showed is not that much of a big deal).


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499904208



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       I have no idea where this configuration is defined. The `:solr` project only has a task called `documentation` that needs to be executed before, but the outputs are not defined as config. So how should this work (same for Lucene)?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-703723514


   You can apply forbiddenapis to groovy or gradle code. But for that you need to have everything compiled to build-src./build/classes With adhoc scripts it wont work.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500041550



##########
File path: lucene/packaging/build.gradle
##########
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This project puts together a "distribution", assembling dependencies from
+// various other projects.
+
+plugins {
+    id 'distribution'
+}
+
+description = 'Lucene distribution packaging'
+
+// Declare all subprojects that should be included in binary distribution.
+// By default everything is included, unless explicitly excluded.
+def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
+    return !(subproject.path in [
+        // Exclude packaging, not relevant to binary distribution.
+        ":lucene:packaging",
+        // Exclude parent container project of analysis modules (no artifacts).
+        ":lucene:analysis"
+    ])
+}
+
+// Create a configuration to each subproject and add dependency.
+def binaryArtifactsConf = { Project prj ->
+    "dep-binary" + prj.path.replace(':', '-')
+}
+
+def allDepsConf = { Project prj ->
+    "dep-full" + prj.path.replace(':', '-')
+}
+
+configurations {
+    docs
+}
+
+for (Project includedProject : includeInBinaries) {
+    def confBinaries = binaryArtifactsConf(includedProject)
+    def confFull = allDepsConf(includedProject)
+    configurations.create(confBinaries)
+    configurations.create(confFull)
+    dependencies { DependencyHandler handler ->
+        // Just project binaries.
+        handler.add(confBinaries, project(path: includedProject.path, configuration: "packaging"))
+        // All project dependencies, including transitive dependencies from the runtime configuration.
+        handler.add(confFull, project(path: includedProject.path, configuration: "runtimeElements"), {
+            exclude group: "org.apache.lucene"
+
+            // Exclude these from all projects.
+            exclude group: "commons-logging"
+            exclude group: "org.slf4j"
+        })
+    }
+}
+
+dependencies {
+    docs project(path: ':lucene', configuration: 'docs')
+}
+
+distributions {
+    // The "main" distribution is the binary distribution.
+    // We should also add 'source' distribution at some point
+    // (we can't do it now as the build itself is tangled with Solr).
+    main {
+        distributionBaseName = 'lucene'
+
+        contents {
+            // Manually correct posix permissions (matters when packaging on Windows).
+            filesMatching(["**/*.sh", "**/*.bat"]) { copy ->
+                copy.setMode(0755)
+            }
+
+            // Root distribution files; these are cherry-picked manually.
+            from(project(':lucene').projectDir, {
+                include "CHANGES.txt"
+                include "JRE_VERSION_MIGRATION.md"
+                include "LICENSE.txt"
+                include "licenses/*"
+                include "MIGRATE.md"
+                include "NOTICE.txt"
+                include "README.md"
+                include "SYSTEM_REQUIREMENTS.md"
+            })
+
+            // A couple more missing README files
+            from(project(':lucene:analysis').projectDir) {
+                include "README.txt"
+                into 'analysis'
+            }
+
+            // Copy files from documentation output to 'docs'
+            from(configurations.docs, {

Review comment:
       This is part of the PR, Uwe - here.
   https://github.com/apache/lucene-solr/pull/1905/files#diff-d55d7b9fe9d94d4e2e5554e3c1108943R60-R63
   
   I suggested using configuration-based copying instead of pointing at an explicit folder because it has several advantages. First, an artifact exported via configuration is configurable in the place where it logically belongs to. So you can put together a set of documentation artifacts in documentation configuration snippet and just depend on it when you're assembling something that uses those artifacts.
   
   The second benefit is that dependencies on tasks assembling those artifacts are automatically resolved - you don't need to know anything beyond the name of the project and configuration from which you're coping. The rest is done by gradle. 
   
   I think Mike's patch is fine here. 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500092191



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       Ah, sorry - yes, you are correct. It should declare artifacts, the configuration to attach them to and the outputs. An example is in solr/example/build.gradle:
   
   artifacts {
     packaging packagingDir, {
       builtBy assemblePackaging
     }
   } 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r498666282



##########
File path: lucene/packaging/build.gradle
##########
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This project puts together a "distribution", assembling dependencies from
+// various other projects.
+
+plugins {
+    id 'distribution'
+}
+
+description = 'Lucene distribution packaging'
+
+// Declare all subprojects that should be included in binary distribution.
+// By default everything is included, unless explicitly excluded.
+def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
+    return !(subproject.path in [
+        ":lucene:packaging",
+        ":lucene:analysis",
+        ":lucene:luke", // nocommit - Encountered duplicate path "luke/lib/log4j-core-2.13.2.jar"

Review comment:
       I've verified that it collects Luke properly and the launch script starts it fine (on Windows).




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705794061


   This isn't so easy as the current gradle build can't be separated into Lucene and Solr-only parts (as it was the case with ant). We could distribute everything (Solr and Lucene sources) or wait until builds are separated (which I showed is not that much of a big deal).


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r498666120



##########
File path: lucene/packaging/build.gradle
##########
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This project puts together a "distribution", assembling dependencies from
+// various other projects.
+
+plugins {
+    id 'distribution'
+}
+
+description = 'Lucene distribution packaging'
+
+// Declare all subprojects that should be included in binary distribution.
+// By default everything is included, unless explicitly excluded.
+def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
+    return !(subproject.path in [
+        ":lucene:packaging",
+        ":lucene:analysis",
+        ":lucene:luke", // nocommit - Encountered duplicate path "luke/lib/log4j-core-2.13.2.jar"

Review comment:
       This wasn't obvious. Here's what happened.
   
   We create a configuration with dependency on "full project", it looked like this:
   ```
   handler.add(confFull, project(path: includedProject.path), {...
   ```
   
   This in fact is a dependency on the configuration aptly named 'default', which includes all of project binaries and transitive dependencies (archives in general).
   
   Luke declared a separate configuration for dependencies called 'standalone' which added a few non-project dependencies (the 'implementation' extended from it so they were visible on runtime classpath). The core of the problem was in that luke also exported an extra artifact that belonged to this 'standalone' configuration  - this was a set of JARs assembled under a folder. So when the packaging process was collecting files for inclusion, it encountered log4j twice: a copy in that 'standalone' folder and a copy from transitive project dependencies.
   
   I recall you asked why this 'fail' on double archive entries is needed. Well, it's useful to catch pearls like this one above...




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob edited a comment on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob edited a comment on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-703715598


   > Are we sure we need dependency at all. I would have assumed that Gradle has it already.
   
   Gradle has a shaded commons codec that we can use - `org.gradle.internal.impldep.org.apache.commons.codec.digest.DigestUtils` - but I assumed that would be frowned upon.
   
   > This is also a forbiddenapis violation: the charset is missing. Please use: setText(..., "UTF-8")
   
   This didn't fail on precommit for me, can you do a follow on issue to apply forbiddenAPI to the gradle files?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r500096124



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       Ah cool. That is what I was missing. I will add this after lunch. I was not sure how to define the artifacts. The Gradle documentation was not very helpful to me.
   Thanks and sorry for stupid questions. 🤣




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler edited a comment on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler edited a comment on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705105811


   I fixed the documentation:
   - Lucene shipos with full docs including javadocs
   - Solr ships with a stub pointing to web page (we don't ship javadocs in TGZ). I will only fix the 'documentationOnline' task in a later commit, to generate the HTML changes list and ship it under docs/. In 8.x those are missing, but that's a pity and now easy to do.
   
   Nevertheless, I am ready to merge this. I would like to change the whole documentation in a later PR to be a separate package: `:lucene:documentation` and `:solr:documentation`. This makes it easier to maintain. But for this I need to wait to get this in.
   
   So here's my +1


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r501210205



##########
File path: lucene/packaging/build.gradle
##########
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// This project puts together a "distribution", assembling dependencies from
+// various other projects.
+
+plugins {
+    id 'distribution'
+}
+
+description = 'Lucene distribution packaging'
+
+// Declare all subprojects that should be included in binary distribution.
+// By default everything is included, unless explicitly excluded.
+def includeInBinaries = project(":lucene").subprojects.findAll {subproject ->
+    return !(subproject.path in [
+        // Exclude packaging, not relevant to binary distribution.
+        ":lucene:packaging",
+        // Exclude parent container project of analysis modules (no artifacts).
+        ":lucene:analysis"
+    ])
+}
+
+// Create a configuration to each subproject and add dependency.
+def binaryArtifactsConf = { Project prj ->
+    "dep-binary" + prj.path.replace(':', '-')
+}
+
+def allDepsConf = { Project prj ->
+    "dep-full" + prj.path.replace(':', '-')
+}
+
+configurations {
+    docs
+}
+
+for (Project includedProject : includeInBinaries) {
+    def confBinaries = binaryArtifactsConf(includedProject)
+    def confFull = allDepsConf(includedProject)
+    configurations.create(confBinaries)
+    configurations.create(confFull)
+    dependencies { DependencyHandler handler ->
+        // Just project binaries.
+        handler.add(confBinaries, project(path: includedProject.path, configuration: "packaging"))
+        // All project dependencies, including transitive dependencies from the runtime configuration.
+        handler.add(confFull, project(path: includedProject.path, configuration: "runtimeElements"), {
+            exclude group: "org.apache.lucene"
+
+            // Exclude these from all projects.
+            exclude group: "commons-logging"
+            exclude group: "org.slf4j"
+        })
+    }
+}
+
+dependencies {
+    docs project(path: ':lucene', configuration: 'docs')
+}
+
+distributions {
+    // The "main" distribution is the binary distribution.
+    // We should also add 'source' distribution at some point
+    // (we can't do it now as the build itself is tangled with Solr).
+    main {
+        distributionBaseName = 'lucene'
+
+        contents {
+            // Manually correct posix permissions (matters when packaging on Windows).
+            filesMatching(["**/*.sh", "**/*.bat"]) { copy ->
+                copy.setMode(0755)
+            }
+
+            // Root distribution files; these are cherry-picked manually.
+            from(project(':lucene').projectDir, {
+                include "CHANGES.txt"
+                include "JRE_VERSION_MIGRATION.md"
+                include "LICENSE.txt"
+                include "licenses/*"
+                include "MIGRATE.md"
+                include "NOTICE.txt"
+                include "README.md"
+                include "SYSTEM_REQUIREMENTS.md"
+            })
+
+            // A couple more missing README files
+            from(project(':lucene:analysis').projectDir) {
+                include "README.txt"
+                into 'analysis'
+            }
+
+            // Copy files from documentation output to 'docs'
+            from(configurations.docs, {

Review comment:
       I fixed it to shipthe correct documentation. There were also some usless dependencies that I removed.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705211380


   I did some cleanup of the documentation task (there were some XSL files as relics from Ant build before everything was changed to markdown). I also added the HTML formatted changes.txt back.
   
   This is now ready, IMHO. Thanks @madrob for taking the action and making this avialble. Once this is merged, I will enable the Artifact build on Jenkins. Just waiting for the merge :-)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r493884949



##########
File path: lucene/build.gradle
##########
@@ -15,8 +15,56 @@
  * limitations under the License.
  */
 
+// Should we do this as :lucene:packaging similar to how Solr does it?
+// Or is this fine here?
+
+plugins {
+  id 'distribution'
+}
+
 description = 'Parent project for Apache Lucene Core'
 
 subprojects {
   group "org.apache.lucene"
-}
\ No newline at end of file
+}
+
+distributions {
+  main {
+      // This is empirically wrong, but it is mostly a copy from `ant package-zip`

Review comment:
       My goal here with getting things releasable is to also turn the smoke tester back on so that we can hopefully catch issues before we actually go to do the release. I understand there’s going to be more split related work, but that shouldn’t stop us from working on the pieces that we can work on before that. 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] madrob commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
madrob commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-703715598


   > Are we sure we need dependency at all. I would have assumed that Gradle has it already.
   
   Gradle has a shaded commons codec that we can use - `org.gradle.internal.impldep.org.apache.commons.codec.digest.DigestUtils` - but I assumed that would be frowned upon.
   
   > This is also a forbiddenapis violation: the charset is missing. Please use: setText(..., "UTF-8")


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on a change in pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on a change in pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#discussion_r499905487



##########
File path: solr/packaging/build.gradle
##########
@@ -62,12 +63,17 @@ dependencies {
 
   example project(path: ":solr:example", configuration: "packaging")
   server project(path: ":solr:server", configuration: "packaging")
+
+  // Copy files from documentation output
+  docs project(path: ':solr', configuration: 'docs')

Review comment:
       There are some `ext` properties prointing to the documentation after it's generated. For the Solr ZIP/TGZ its just some minimal folder: `project(':solr').docrootOnline` (packaged in ZIP)
   
   For full lucene/solr docs, refer to `project(':lucene').docroot` (packaged in TGZ) and `project(':solr').docroot` (not packaged, only published on website).




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705108177


   LGTM, thanks Uwe.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] dweiss commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
dweiss commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-702369827


   I think it looks good now! If there's anything else we can follow-up.
   
   On Thu, Oct 1, 2020 at 12:13 AM Mike Drob <no...@github.com> wrote:
   
   > Dawid, it took me a few tries of going through your comments and other
   > examples in the code but I think it finally dawned on me what you meant as
   > the proper way to do it. Each task can export its own outputs as an
   > artifact, that's the piece that was missing in my mental model. Please take
   > another look?
   >
   > There's another piece where the Luke log4j dependency was causing a
   > duplicate entry error in the archives... not sure if you were getting the
   > same error or not. Otherwise the output zip looks pretty close to the real
   > thing from 8x
   >
   > —
   > You are receiving this because your review was requested.
   > Reply to this email directly, view it on GitHub
   > <https://github.com/apache/lucene-solr/pull/1905#issuecomment-701674748>,
   > or unsubscribe
   > <https://github.com/notifications/unsubscribe-auth/AABQWLVX43SMOFUVZI3GU6TSIOUSJANCNFSM4RVC7DPQ>
   > .
   >
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org


[GitHub] [lucene-solr] uschindler commented on pull request #1905: LUCENE-9488 Release with Gradle Part 2

Posted by GitBox <gi...@apache.org>.
uschindler commented on pull request #1905:
URL: https://github.com/apache/lucene-solr/pull/1905#issuecomment-705788992


   Lucene artifact builds work: https://ci-builds.apache.org/job/Lucene/job/Lucene-Artifacts-master/
   
   What's missing ist src.tgz files,are they not yet handled or do I miss a task?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org