From: Stefan R. <Ste...@gm...> - 2017-11-24 16:24:28
|
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div> <div>I think it should ideally be something like langauage-wise (syntax, bytecode, import mechanism, other things like that) target 3.7, API and library wise target a subset first, maybe 3.5 (leaving out modules deprecated or vastly refractured in 3.6 or 3.7).</div> <div> </div> <div>> Or are they all only useful once Jython 3 works 80%?</div> <div>That's what I mean by a roadmp. I think there are some major changes from 2.7 to 3.5 that should be implemented before reasonable testing and test-driven development can start. I just don't know exactly what those are (besides replacing PyString by PyUnicode and getting rid of old-style classes). But I'm sure these can be looked up somewhere in the Python resources.</div> <div> </div> <div>Regarding git, I'd use its features to export and import commits as diff-files. I'd fork Jython 2.7 on github, so that new commits can be pulled from there. Then I'd clone Jython 3 sandbox and export all commits after it diverged from 2.7 branch to diff files. And then somehow work through them. Apply one by one, solve conflicts and run tests or at least assert runnability.</div> <div>It's a lot of work, but it has to get started somehow.</div> <div> </div> <div>For the official Jython 3 repository, it's probably best to switch to CPython workflow.</div> <div>The switch from Jython 2.7 to 3 is IMHO the ideal opportunity to switch the workflow as well. Given our limited resources I would recommend not to spend time on migrating Jython 2.7 workflow to CPython.</div> <div> </div> <div> <div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);"> <div style="margin: 0 0 10.0px 0;"><b>Gesendet:</b> Freitag, 24. November 2017 um 14:06 Uhr<br/> <b>Von:</b> "Adam Burke" <ada...@gm...><br/> <b>An:</b> Kein Empfänger<br/> <b>Cc:</b> "Jython Developers" <jyt...@li...><br/> <b>Betreff:</b> Re: [Jython-dev] Ascent of Jython 3</div> <div> <div>From the sidelines: <div> </div> <div>Are there any meaningful subsets of 3.7 features / testpack which could make usable intermediate milestones?<br/> <br/> Cheers <div id="AppleMailSignature">Adam</div> <div><br/> 在 2017年11月24日,上午9:44,Jim Baker <<a href="mailto:jim...@py..." onclick="parent.window.location.href='jim...@py...'; return false;" target="_blank">jim...@py...</a>> 写道:<br/> </div> <blockquote> <div> <div>I like the idea of starting from 2.7.2, and reaching back to the jython3 sandbox as it makes sense. One logical commit, followed by another, with tests passing as we converge on 3.7 (I assume it's easier to just target that version). The biggest immediate challenge will probably be around importlib logic, this is what is failing in the sandbox when I last looked at it. <div> </div> <div>I suggest we do all of this in GitHub, under let's say a 3.7 branch of <a href="http://github.com/jython/jython" target="_blank">github.com/jython/jython</a>. We can start by stripping out binaries - the jython.exe and everything in extlibs/ It's easy enough to retrieve from maven the necessary libraries, and it would be much better to have this be anything but something hardcoded going forward.</div> </div> <div class="gmail_extra"> <div class="gmail_quote">On Thu, Nov 23, 2017 at 4:34 PM, Jeff Allen <span><<a href="mailto:ja...@fa..." onclick="parent.window.location.href='ja...@fa...'; return false;" target="_blank">ja...@fa...</a>></span> wrote: <blockquote class="gmail_quote" style="margin: 0 0 0 0.8ex;border-left: 1.0px rgb(204,204,204) solid;padding-left: 1.0ex;"> <div> <p>(Starting a new thread for this.)</p> <p>Stefan:</p> <p>It is a good reminder that the repository in question is described as a "sandbox". It's largely un-reviewed work, outside the official repository. However, there's quite a lot of sand in the box.</p> <p>What you propose sounds good to me. So the idea is a branch from Jython 2.7.2. I am visualising this in GitHub. Do you imagine we would have moved 2.7 work to GitHub first? Or does the plan work while we are still mastered at <a href="http://hg.python.org" target="_blank">hg.python.org</a> and feeding a 2.7 branch that way?</p> <p>I couldn't imagine the mechanics when first I considered it, but have more knowledge of git now. The fusing of our dev guide back into a fork of the CPython dev guide is perhaps a microcosm and was good training.</p> <p>All the work I've done on Jython has been driven by Python regression tests, although the proportion of failures has always been fairly small. Do you think it would work to begin by adding the tests for Python 3.7 (or maybe aim a little lower), and repeatedly throwing ourselves at that rock face? The tests of course would fail massively at first. Or are they all only useful once Jython 3 works 80%?</p> <p>As when we discussed this previously, though, I'm unable to imagine an automated process for merging change, unless "automated" encompasses long hours spent with KDiff3. When you've nearly-bulk replaced PyString with PyUnicode, for example, how is *any* merge going to run smoothly?</p> Jeff<br/> <br/> <div class="m_-4740183061243169111moz-cite-prefix">On 23/11/2017 19:01, Stefan Richthofer wrote:</div> <blockquote> <div style="font-family: Verdana;font-size: 12.0px;"> <div> <div>> Merging means pulling from 2.7 to 3, I think.</div> <div> </div> <div>I'm actually going to try it the other way round.</div> <div> </div> <div>The current situation with Jython 3 concerns me a bit. It seems to</div> <div>be in a state where it is unclear how to proceed. This makes it</div> <div>somewhat discouraging to work on it. So I think we need a proper</div> <div>plan how to go on. I'd suggest the following:</div> <div> </div> <div>We open a new fresh Jython 3 that starts at Jython 2.7.2 release.</div> <div>Keep in mind that the Jython 3 repository is actually a *sandbox*</div> <div>so far. We merge every commit done to Jython 3 sandbox since it</div> <div>was forked from 2.7, (hopefully mainly via automatic merge</div> <div>mechanism). This is the ideal opportunity to triage the issue</div> <div>with broken Windows support and to review Isaiahs work. While</div> <div>he did a lot great work on Jython 3 we must keep in mind that it</div> <div>has been hardly reviewed so far.</div> <div>I hope we can end up with a workable Jython 3 containing all the</div> <div>bugfixes and improvements that were added in Jython 2.7.1 and 2.</div> <div>Problematic commits can be sorted out for later additional review.</div> <div> </div> <div>Regarding some aspects I propose to directly target Python 3.7, e.g.</div> <div>bytecode level and language syntax. Going through intermediate</div> <div>versions would be multiple work here.</div> <div> </div> <div>Besides this merging work we will need a real roadmap that states</div> <div>all the milestones and steps required for a Jython 3 release. Who</div> <div>of us knows Python well enough to put this together? Jim? Frank?</div> <div> </div> <div>After merging is done we need a clear policy about backporting etc.</div> <div>I'd suggest to focus on Jython 3 then and only backport crucial or</div> <div>cherry-picked bugfixed to 2.7 branch.</div> <div> </div> <div>In the sprint I'll start an inofficial experimental Jython 3 to work on merging.</div> <div>This can maybe form the basis for an official non-sandbox Jython 3.</div> <div> </div> <div>Thoughts?</div> <div> </div> <div> </div> <div>-Stefan</div> <div> </div> </div> </div> </blockquote> </div> <br/> ------------------------------------------------------------------------------<br/> Check out the vibrant tech community on one of the world's most<br/> engaging tech sites, <a href="http://Slashdot.org" target="_blank">Slashdot.org</a>! <a href="http://sdm.link/slashdot" target="_blank">http://sdm.link/slashdot</a><br/> _______________________________________________<br/> Jython-dev mailing list<br/> <a href="mailto:Jyt...@li..." onclick="parent.window.location.href='Jyt...@li...'; return false;" target="_blank">Jyt...@li...</a><br/> <a href="https://lists.sourceforge.net/lists/listinfo/jython-dev" target="_blank">https://lists.sourceforge.net/lists/listinfo/jython-dev</a><br/> </blockquote> </div> </div> </div> </blockquote> <blockquote> <div><span>------------------------------------------------------------------------------</span><br/> <span>Check out the vibrant tech community on one of the world's most</span><br/> <span>engaging tech sites, <a href="http://Slashdot.org" target="_blank">Slashdot.org</a>! <a href="http://sdm.link/slashdot" target="_blank">http://sdm.link/slashdot</a></span></div> </blockquote> <blockquote> <div><span>_______________________________________________</span><br/> <span>Jython-dev mailing list</span><br/> <span><a href="mailto:Jyt...@li..." onclick="parent.window.location.href='Jyt...@li...'; return false;" target="_blank">Jyt...@li...</a></span><br/> <span><a href="https://lists.sourceforge.net/lists/listinfo/jython-dev" target="_blank">https://lists.sourceforge.net/lists/listinfo/jython-dev</a></span></div> </blockquote> </div> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! <a href="http://sdm.link/slashdot_______________________________________________" target="_blank">http://sdm.link/slashdot_______________________________________________</a> Jython-dev mailing list Jyt...@li... <a href="https://lists.sourceforge.net/lists/listinfo/jython-dev" target="_blank">https://lists.sourceforge.net/lists/listinfo/jython-dev</a></div> </div> </div> </div> </div></div></body></html> |