I’ve just pushed some changes to the "jira/SOLR-13452_gradle_7_refguide” branch 
- two cherry-picks from my recent changes for SOLR-12786 updating the docs for 
later Asciidoc versions, a couple outlier fixes I made in other commits to 
master I didn’t want to cherry-pick, and finally my edits to build.gradle 
building on the great work Dawid did for this. All the targets work now - we 
can call this done!

Thank you so much Dawid for your help with this, I never would have been able 
to do this on my own.

I’m not sure the next steps here - we could merge the changed files into the 
main Gradle branch? Not sure when that was last rebased with master, but a 
bunch of various changes might be needed. We could hold this in this branch 
until the next rebase?

My next project is going to be ripping out the PDF builds from the Ref Guide 
build process, so that will also eventually require more changes here.

Cassandra
On Oct 13, 2019, 8:58 AM -0500, Erick Erickson <erickerick...@gmail.com>, wrote:
> Agree entirely with Dawid.
>
> > On Oct 11, 2019, at 5:54 PM, Dawid Weiss <dawid.we...@gmail.com> wrote:
> >
> > That's entirely up to you, Cassandra. I tried to use Rouge but
> > couldn't get it to work. Please feel free to upgrade to newer versions
> > of those tools -- if it works we should be using newer, supported
> > version lines I think.
> >
> > Dawid
> >
> > On Fri, Oct 11, 2019 at 10:20 PM Cassandra Targett
> > <casstarg...@gmail.com> wrote:
> > >
> > > I had a number of problems getting either Jekyll build to run at all - it 
> > > kept getting stuck in various places.
> > >
> > > I eventually traced the problem to the pygments.rb plugin - I have 
> > > python, so it didn’t complain about it missing, just kept throwing errors 
> > > about missing header in a file. But when I took it out everything started 
> > > working.
> > >
> > > So I swapped it out for Rouge which is Ruby-based and comes with Jekyll. 
> > > However, it wasn't really well supported until Asciidoctor 2.x, so we 
> > > either lose syntax highlighting entirely or upgrade Asciidoctor & 
> > > jekyll-asciidoc version to get the better support.
> > >
> > > If we go with the older version of Asciidoctor we also have to downgrade 
> > > Slim to 3.0.1 since I found a bug a year ago using the 4.0.1 version of 
> > > Slim with Jekyll-asciidoc, which has since been fixed in the later 
> > > versions.
> > >
> > > The whole reason we hadn’t upgraded Asciidoctor was because people needed 
> > > to install it locally to get our old build to run, and I wasn’t sure how 
> > > to force folks to update their local version. However, with Gradle we can 
> > > force the version we want because the build is handling the dependencies.
> > >
> > > So, the choice is - downgrade the Asciidoctor version and lose syntax 
> > > highlighting, or I could upgrade Asciidoctor for the project now (in the 
> > > Ant build & Jenkins jobs) and fix the pages that will fail the validation 
> > > check. As soon as those pages are fixed, the Gradle build will work fine.
> > >
> > > Cassandra
> > > On Oct 11, 2019, 1:28 PM -0500, Dawid Weiss <dawid.we...@gmail.com>, 
> > > wrote:
> > >
> > >
> > > Sure. Try and see if you can make it work. It is just about the only 
> > > thing that still needs to be done, the rest works like a charm.
> > >
> > > On Fri, Oct 11, 2019, 20:20 Cassandra Targett <casstarg...@gmail.com> 
> > > wrote:
> > > >
> > > > Sorry for the delay getting back to you Dawid. That problem is actually 
> > > > because of the Asciidoctor version. The jekyll-asciidoc plugin will 
> > > > install Asciidoctor if it is not already installed, and it installs a 
> > > > version where the way the links are constructed is different and breaks 
> > > > our validation.
> > > >
> > > > More details about why this happens (if you’re curious) is in 
> > > > https://issues.apache.org/jira/browse/SOLR-12786?focusedCommentId=16622115&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16622115
> > > >
> > > > Both the Jenkins script used for Jenkins Ref Guide jobs 
> > > > (./dev-tools/scripts/jenkins.build.ref.guide.sh) and the Ref Guide 
> > > > README (./solr/solr-ref-guide/README.adoc) show examples of how to make 
> > > > sure the right Asciidoctor version is installed - the easiest is to 
> > > > install the Asciidoctor gem version we want first. Let me see if I can 
> > > > insert a line to install before the jekyll-asciidoc gem and see if that 
> > > > fixes it.
> > > >
> > > > Cassandra
> > > > On Oct 10, 2019, 2:22 AM -0500, Dawid Weiss <dawid.we...@gmail.com>, 
> > > > wrote:
> > > >
> > > > Ping, ping. I wanted to finalize the build of solr ref guide since I
> > > > started it. Almost everything is working on the branch but I can't get
> > > > minor differences to work and I believe they're due to a different
> > > > jekyll version (than that mentioned in the docs).
> > > >
> > > > Specifically, the invalid links are because of asciidoc sections like
> > > > this (in the processed resource-and-plugin-loading.adoc):
> > > >
> > > > === solr_home/lib
> > > >
> > > > In bare bones html (pure asciidoctor) this gets emitted as:
> > > >
> > > > <h3 id="solr_home-lib">solr_home/lib</h3>
> > > >
> > > > but when compiled via jekyll this becomes:
> > > >
> > > > <h3 id="solr_homelib">solr_home/lib</h3>
> > > >
> > > > which I can't really explain.
> > > >
> > > > Cassandra what's the exact version of jekyll that runs the compilation
> > > > that is working for you?
> > > >
> > > > D.
> > > >
> > > > On Fri, Oct 4, 2019 at 11:42 AM Dawid Weiss <dawid.we...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > > Seems like pygments is to blame for the python requirement... I didn't
> > > > check but there seem to be ruby-only
> > > > highlighters for jekyll as well:
> > > >
> > > > https://jekyll-windows.juthilo.com/3-syntax-highlighting/
> > > >
> > > > On Fri, Oct 4, 2019 at 11:39 AM Dawid Weiss <dawid.we...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > > Hi Cassandra,
> > > >
> > > > Apologies this took so long -- I wasn't familiar with these
> > > > site-generation tools and the whole ecosystem is rather... fragile :)
> > > > After a few attempts at using gradle plugins I eventually leaned
> > > > towards using asciidoctor and jekyll explicitly (so that we know which
> > > > versions are being used and don't have to rely on dependencies).
> > > >
> > > > I got bare bone html checking working, PDF generation working and site
> > > > generation working although the final link check currently fail for me
> > > > with a bunch of errors. This works for me on Windows... on Linux I get
> > > > site-generation generate a strange error from within jekyll:
> > > >
> > > > Conversion error: Jekyll::AsciiDoc::Converter encountered an error
> > > > while converting 'about-filters.adoc':
> > > > Bad file descriptor - /usr/bin/python2
> > > >
> > > > I could install python but I don't see why it'd need it. Perhaps there
> > > > is something in the docs that would avoid using python altogether but
> > > > I haven't had the time to look into it.
> > > >
> > > > Please feel free to check out the jira/SOLR-13452_gradle_7_refguide
> > > > branch and try to run:
> > > >
> > > > ./gradlew -p solr/solr-ref-guide buildPdf buildSite
> > > >
> > > > There is a lot of room for improvement -- from property substitution,
> > > > through how the "tools" are handled at the moment to task naming but I
> > > > left this for the future. The initial step would be probably to get
> > > > the site generation running on Linux/ Macs but I'd gladly hand it over
> > > > back to you -- I can help with Gradle but a the rest of those tools
> > > > are a mistery to me.
> > > >
> > > > Dawid
> > > >
> > > > On Fri, Sep 27, 2019 at 7:53 PM Dawid Weiss <dawid.we...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > >
> > > > No problem. I will get it to work entirely, but not before next week - 
> > > > I am away for the weekend.
> > > >
> > > > Dawid
> > > >
> > > > On Fri, Sep 27, 2019, 16:17 Cassandra Targett <casstarg...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > > Thanks Dawid for working on this! I’ve been a bit swamped the last 
> > > > couple of days but will take a look today at what you’ve been able to 
> > > > do so far and see where we might need to go from here.
> > > >
> > > > Cassandra
> > > > On Sep 26, 2019, 7:25 AM -0500, Dawid Weiss <dawid.we...@gmail.com>, 
> > > > wrote:
> > > >
> > > > I agree. Although I also understand the concern of trying to merge the
> > > > changes while we're in the transition period... it'd be hell. I'd say
> > > > move as much stuff as possible with the current folder structure (and
> > > > ignore what cannot be ported easily) then switch as soon as possible
> > > > to gradle and hack the old cruft with a chainsaw...
> > > >
> > > > D.
> > > >
> > > > On Thu, Sep 26, 2019 at 2:13 PM Erick Erickson 
> > > > <erickerick...@gmail.com> wrote:
> > > >
> > > >
> > > > Of course I’ll completely defer to Dawid and Mark (well and anybody 
> > > > else actually, you know, doing _work_), but just can’t resist chiming 
> > > > in ;).
> > > >
> > > > My vote would be to “do it the Gradle way”. Yes, it’s a PITA to learn 
> > > > new stuff and I won’t like it. Tough. I see no reason to carry a bunch 
> > > > of cruft around because “that the way we always did it”.
> > > >
> > > > If we lose functionality, that’s a different discussion, starting with 
> > > > “do we need that functionality". But jumping through hoops and having 
> > > > to maintain that awkwardness forever going forward just because we 
> > > > forced the Ant structure on Gradle strikes me as a poor trade off.
> > > >
> > > > That said, I’m not doing the work so I really have no vote. But don’t 
> > > > strain to do it the old way on my account ;)
> > > >
> > > > Erick
> > > >
> > > > P.S. Thanks Dawid for jumping in!
> > > >
> > > > On Sep 26, 2019, at 3:57 AM, Dawid Weiss <dawid.we...@gmail.com> wrote:
> > > >
> > > > I pushed it in to Lucene repo (it's on Cassandra's refguide branch
> > > > anyway, so shouldn't interfere with anything else); seems like it's in
> > > > better shape than previous code anyway (those questions I asked about
> > > > the nature of the gradle port still hold though).
> > > >
> > > > I got as far as building initial bare-bones HTML.
> > > >
> > > > .\gradlew -p solr\solr-ref-guide clean bareBonesHtmlValidation
> > > >
> > > > I don't know anything about the pipeline involved (asciidoctor, etc.)
> > > > so it's very likely some attributes will have to be corrected later
> > > > on.
> > > >
> > > > Dawid
> > > >
> > > > On Wed, Sep 25, 2019 at 9:14 PM Dawid Weiss <dawid.we...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > > I looked at the solr ref guide build and started converting it to
> > > > Gradle but have a question to Mark (because he coordinates the
> > > > effort).
> > > >
> > > > What immediately jumps into face is the decision problem -- do we want
> > > > to emulate what ant does at the moment or do we want to clean it up
> > > > (breaking file/ folder structure and causing incompatibility with ant
> > > > build).
> > > >
> > > > I went the "compatible" way and started porting ant tasks but it's
> > > > quite awkward. For example -- there are template properties that refer
> > > > to ivy version properties... we could emulate/ compute these but it's
> > > > a pain. The way the module is currently structured is also awkward -
> > > > it'd be more natural to have a separate java project with the "tools"
> > > > required to compile extra stuff and just reference it from the manual
> > > > build (and this would be a plain module, not a java module). This
> > > > would limit the need for customizing source sets, classpaths, etc.
> > > >
> > > > My few initial tasks syncing sources, setting up infrastructure to
> > > > filter templates and compiling the required tools are here:
> > > > https://github.com/apache/lucene-solr/compare/jira/SOLR-13452_gradle_7_refguide...dweiss:jira/SOLR-13452_gradle_7_refguide?expand=1
> > > >
> > > > I'll stop and wait for feedback (especially on the ivy versions issue)
> > > > before I resume.
> > > >
> > > > Dawid
> > > >
> > > > On Wed, Sep 25, 2019 at 6:20 PM Dawid Weiss <dawid.we...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > > Never mind, I've got it.
> > > >
> > > > D.
> > > >
> > > > On Wed, Sep 25, 2019 at 7:59 AM Dawid Weiss <dawid.we...@gmail.com> 
> > > > wrote:
> > > >
> > > >
> > > > Hi Cassandra,
> > > >
> > > > I’m more than happy to share more details our current build so we can 
> > > > replicate some of the above steps, but I’m stuck without a lot more 
> > > > basic Gradle skills that I don’t have time to acquire with 
> > > > day-job/personal life commitments. I put it into a separate branch so 
> > > > we could iterate a little easier, can anyone help?
> > > >
> > > >
> > > > Where is this branch you made changes on? If you can point me at the
> > > > corresponding ant code I'll try to help you out.
> > > >
> > > > Dawid
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > > > For additional commands, e-mail: dev-h...@lucene.apache.org
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > > > For additional commands, e-mail: dev-h...@lucene.apache.org
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > > > For additional commands, e-mail: dev-h...@lucene.apache.org
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > > > For additional commands, e-mail: dev-h...@lucene.apache.org
> > > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> > For additional commands, e-mail: dev-h...@lucene.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
> For additional commands, e-mail: dev-h...@lucene.apache.org
>

Reply via email to