From issues-return-5845-archive-asf-public=cust-asf.ponee.io@lucene.apache.org Mon Dec 2 14:28:04 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 0CD5C18066B for ; Mon, 2 Dec 2019 15:28:03 +0100 (CET) Received: (qmail 7712 invoked by uid 500); 2 Dec 2019 14:28:03 -0000 Mailing-List: contact issues-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list issues@lucene.apache.org Received: (qmail 7654 invoked by uid 99); 2 Dec 2019 14:28:03 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 Dec 2019 14:28:03 +0000 Received: from jira-he-de.apache.org (static.172.67.40.188.clients.your-server.de [188.40.67.172]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 9E717E2EDB for ; Mon, 2 Dec 2019 14:28:02 +0000 (UTC) Received: from jira-he-de.apache.org (localhost.localdomain [127.0.0.1]) by jira-he-de.apache.org (ASF Mail Server at jira-he-de.apache.org) with ESMTP id 967BF780C7D for ; Mon, 2 Dec 2019 14:28:00 +0000 (UTC) Date: Mon, 2 Dec 2019 14:28:00 +0000 (UTC) From: "Dawid Weiss (Jira)" To: issues@lucene.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (LUCENE-9077) Gradle build MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/LUCENE-9077?page=3Dcom.atlassi= an.jira.plugin.system.issuetabpanels:all-tabpanel ] Dawid Weiss updated LUCENE-9077: -------------------------------- Description:=20 This task focuses on providing gradle-based build equivalent for Lucene and= Solr (on master branch). See notes below on why this respin is needed. The code lives on=C2=A0*issues/gradle-master* branch. It is kept with sync = with *master*. Try running the following to see an overview of helper guide= s concerning typical workflow, testing and ant-migration helpers: gradlew :help A list of items that needs to be added or requires work. If you'd like to w= ork on any of these, please add your name to the list. Once you have a patc= h/ pull request let me (dweiss) know - I'll try to coordinate the merges. * Apply forbiddenAPIs * Configure security policy/ sandboxing for tests. * Add test 'beasting' (rerunning the same suite multiple times). I'm afrai= d it'll be difficult to run it sensibly because gradle doesn't offer cwd se= paration for the forked test runners. * jar checksums, jar checksum computation and validation. This should be d= one without intermediate folders (directly on dependency sets). * add a :helpDeps explanation to how the dependency system works (palantir= plugin, lockfile) and=C2=A0how to retrieve structured information about cu= rrent dependencies of a given module (in a tree-like output). * identify and list precommit tasks so that they can be ported one by one.= (Mark's branch has some of this stuff already implemented) * identify and port any other "check" utilities that may be called from an= t.=C2=A0(Mark's branch has some of this stuff already implemented) * identify and port various "regenerate" tasks from ant builds (javacc, pr= ecompiled automata, etc.) * add rendering of javadocs (gradlew javadoc) and attaching them to maven = publications. * fill in POM details in gradle/defaults-maven.gradle so that they reflect= the previous content better (dependencies aside). * Add any IDE integration layers that should be added (I use IntelliJ and = it imports the project out of the box, without the need for any special tun= ing). * *Clean up dependencies, especially for Solr*: any \{ transitive =3D fals= e } should just explicitly exclude whatever they don't need (and their depe= ndencies currently declared explicitly should be folded). Figure out which = scope to import a dependency to. * Add Solr packaging for docs/* (see TODO in packaging/build.gradle; curre= ntly XSLT...) * I didn't bother adding Solr dist/test-framework to packaging (who'd use = it from a binary distribution?=C2=A0 =C2=A0 *{color:#ff0000}Note:{color}* this builds on the work done by Mark Miller a= nd=C2=A0Cao M=E1=BA=A1nh =C4=90=E1=BA=A1t but also applies lessons learned = from those two efforts: * *Do not try to do too many things at once*. If we deviate too far from m= aster, the branch will be hard to merge. * *Do everything in baby-steps* and add small, independent build fragments= replacing the old ant infrastructure. * *Try to engage people to run, test and contribute early*. It can't be a = one-man effort. The more people understand and can contribute to the build,= the more healthy it will be. =C2=A0 was: This task focuses on providing gradle-based build equivalent for Lucene and= Solr (on master branch). See notes below on why this respin is needed. The code lives on=C2=A0*issues/gradle-master* branch. It is kept with sync = with *master*. Try running the following to see an overview of helper guide= s concerning typical workflow, testing and ant-migration helpers: gradlew :help A list of items that needs to be added or requires work. If you'd like to w= ork on any of these, please add your name to the list. Once you have a patc= h/ pull request let me (dweiss) know - I'll try to coordinate the merges. * Apply forbiddenAPIs * Configure security policy/ sandboxing for tests (!). * Add test 'beasting' (rerunning the same suite multiple times). I'm afrai= d it'll be difficult to run it sensibly because gradle doesn't offer cwd se= paration for the forked test runners (?) * jar checksums, jar checksum computation and validation. This should be d= one without intermediate folders (directly on dependency sets). * add a :helpDeps explanation to how the dependency system works (palantir= plugin, lockfile) and=C2=A0how to retrieve structured information about cu= rrent dependencies of a given module (in a tree-like output). * identify and list precommit tasks so that they can be ported one by one.= (Mark's branch has some of this stuff already implemented) * identify and port any other "check" utilities that may be called from an= t.=C2=A0(Mark's branch has some of this stuff already implemented) * identify and port various "regenerate" tasks from ant builds (javacc, pr= ecompiled automata, etc.) * add rendering of javadocs (gradlew javadoc) and attaching them to maven = publications. * fill in POM details in gradle/defaults-maven.gradle so that they reflect= the previous content better (dependencies aside). * Add any IDE integration layers that should be added (I use IntelliJ and = it imports the project out of the box, without the need for any special tun= ing). * *Clean up dependencies, especially for Solr*: any \{ transitive =3D fals= e } should just explicitly exclude whatever they don't need (and their depe= ndencies currently declared explicitly should be folded). Figure out which = scope to import a dependency to. * Add Solr packaging for docs/* (see TODO in packaging/build.gradle; curre= ntly XSLT...) * I didn't bother adding Solr dist/test-framework to packaging (who'd use = it from a binary distribution?=C2=A0 =C2=A0 *{color:#FF0000}Note:{color}* this builds on the work done by Mark Miller a= nd=C2=A0Cao M=E1=BA=A1nh =C4=90=E1=BA=A1t but also applies lessons learned = from those two efforts: * *Do not try to do too many things at once*. If we deviate too far from m= aster, the branch will be hard to merge. * *Do everything in baby-steps* and add small, independent build fragments= replacing the old ant infrastructure. * *Try to engage people to run, test and contribute early*. It can't be a = one-man effort. The more people understand and can contribute to the build,= the more healthy it will be. =C2=A0 > Gradle build > ------------ > > Key: LUCENE-9077 > URL: https://issues.apache.org/jira/browse/LUCENE-9077 > Project: Lucene - Core > Issue Type: Task > Reporter: Dawid Weiss > Assignee: Dawid Weiss > Priority: Major > Fix For: master (9.0) > > > This task focuses on providing gradle-based build equivalent for Lucene a= nd Solr (on master branch). See notes below on why this respin is needed. > The code lives on=C2=A0*issues/gradle-master* branch. It is kept with syn= c with *master*. Try running the following to see an overview of helper gui= des concerning typical workflow, testing and ant-migration helpers: > gradlew :help > A list of items that needs to be added or requires work. If you'd like to= work on any of these, please add your name to the list. Once you have a pa= tch/ pull request let me (dweiss) know - I'll try to coordinate the merges. > * Apply forbiddenAPIs > * Configure security policy/ sandboxing for tests. > * Add test 'beasting' (rerunning the same suite multiple times). I'm afr= aid it'll be difficult to run it sensibly because gradle doesn't offer cwd = separation for the forked test runners. > * jar checksums, jar checksum computation and validation. This should be= done without intermediate folders (directly on dependency sets). > * add a :helpDeps explanation to how the dependency system works (palant= ir plugin, lockfile) and=C2=A0how to retrieve structured information about = current dependencies of a given module (in a tree-like output). > * identify and list precommit tasks so that they can be ported one by on= e. (Mark's branch has some of this stuff already implemented) > * identify and port any other "check" utilities that may be called from = ant.=C2=A0(Mark's branch has some of this stuff already implemented) > * identify and port various "regenerate" tasks from ant builds (javacc, = precompiled automata, etc.) > * add rendering of javadocs (gradlew javadoc) and attaching them to mave= n publications. > * fill in POM details in gradle/defaults-maven.gradle so that they refle= ct the previous content better (dependencies aside). > * Add any IDE integration layers that should be added (I use IntelliJ an= d it imports the project out of the box, without the need for any special t= uning). > * *Clean up dependencies, especially for Solr*: any \{ transitive =3D fa= lse } should just explicitly exclude whatever they don't need (and their de= pendencies currently declared explicitly should be folded). Figure out whic= h scope to import a dependency to. > * Add Solr packaging for docs/* (see TODO in packaging/build.gradle; cur= rently XSLT...) > * I didn't bother adding Solr dist/test-framework to packaging (who'd us= e it from a binary distribution?=C2=A0 > =C2=A0 > *{color:#ff0000}Note:{color}* this builds on the work done by Mark Miller= and=C2=A0Cao M=E1=BA=A1nh =C4=90=E1=BA=A1t but also applies lessons learne= d from those two efforts: > * *Do not try to do too many things at once*. If we deviate too far from= master, the branch will be hard to merge. > * *Do everything in baby-steps* and add small, independent build fragmen= ts replacing the old ant infrastructure. > * *Try to engage people to run, test and contribute early*. It can't be = a one-man effort. The more people understand and can contribute to the buil= d, the more healthy it will be. > =C2=A0 -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org For additional commands, e-mail: issues-help@lucene.apache.org