2016-03-21 20:31 GMT+01:00 David Jencks <[email protected]>:

> No matter how much or little mailing list discussion there is I prefer
> that there be a jira item tracking actual commits, and that the jira item
> should explain the work actually done.
>
> Reading the user list discussion you pointed to it seemed rather
> incidental that you are requiring java 8.
>
> How much of the work actually really requires java 8?  I’m all for
> improving gogo but my usage needs to support java 6 for a few more years I
> fear.  I’d like to understand better the implications of what you are doing
> before coming to any conclusions.
>

For the runtime, a few things have been introduced such as a Path for the
CommandSession#currentDir() which would have to be changed to a File, a few
static interface methods that would have to be moved to utility classes,
lots of <> operators and a few usage of the stream api and lambdas.  But
there's no real need for java 8, it's mostly implementation details and
syntactic sugar.

That would be different for the jline module which depends on jline
3.0-SNAPSHOT which heavily depends on JDK 8, so there's no point in even
trying to switch that module back to JDK 6.

However, the runtime has a few incompatibilities, even if the tests have
been mostly unchanged.
It's because additional syntax have been added, so old commands may be
parsed / interpreted differently now, because of those new features.
For example, the following command now leads to a "bar" file containing
"foo":
    echo foo > bar
Clearly, the behaviour is different from the previous one.

So this is really a new major version of gogo runtime, even if the API
itself is fully compatible afaik.
So a possibility would be to keep both the previous and new versions of
gogo in trunk so that we can maintain both, which may be easier than using
a branch in svn.



>
> thanks
> david jencks
>
> > On Mar 21, 2016, at 12:08 PM, Guillaume Nodet <[email protected]> wrote:
> >
> > 2016-03-21 19:56 GMT+01:00 David Jencks <[email protected]
> <mailto:[email protected]>>:
> >
> >> So have you made gogo trunk java 8 only?
> >>
> >> I’m rather unhappy that there don’t appear to be any jira items
> explaining
> >> this work.
> >>
> >
> > Yeah, again, I thought this has been somewhat discussed months ago on the
> > dev list.
> > I'd be happy to revert and restart the discussion from scratch if you
> want.
> >
> >
> >>
> >> thanks
> >> david jencks
> >>
> >>> On Mar 21, 2016, at 11:38 AM, Guillaume Nodet <[email protected]>
> wrote:
> >>>
> >>> All those commits are basically related to two things that have been
> >>> partially covered in this thread:
> >>> http://www.mail-archive.com/users%40felix.apache.org/msg16883.html
> >>> Given nobody reacted or opposed to the work, I decided to commit it.
> >>> Though I now realised it was on user@ and not @dev
> >>>
> >>> It basically comes down to:
> >>> * a jline based shell
> >>> * enhancements to the gogo runtime to provide better parsing, job
> >>> control, redirections, parameter expansion
> >>>
> >>> Cheers,
> >>> Guillaume Nodet
> >>>
> >>>
> >>>
> >>> 2016-03-21 19:02 GMT+01:00 David Jencks <[email protected]
> >>> :
> >>>
> >>>> Are there jira work items covering this really long sequence of
> commits?
> >>>> I really like some pointer to a description of what’s going on with
> >> commits.
> >>>>
> >>>> thanks
> >>>> david jencks
> >>>>
> >>>>> On Mar 21, 2016, at 10:00 AM, [email protected] wrote:
> >>>>>
> >>>>> Author: gnodet
> >>>>> Date: Mon Mar 21 17:00:11 2016
> >>>>> New Revision: 1736059
> >>>>>
> >>>>> URL: http://svn.apache.org/viewvc?rev=1736059&view=rev
> >>>>> Log:
> >>>>> Remove dependency on SSH
> >>>>>
> >>>>> Modified:
> >>>>>
> >>>>
> >>
> felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
> >>>>>
> >>>>> Modified:
> >>>>
> >>
> felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
> >>>>> URL:
> >>>>
> >>
> http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java?rev=1736059&r1=1736058&r2=1736059&view=diff
> >>>>>
> >>>>
> >>
> ==============================================================================
> >>>>> ---
> >>>>
> >>
> felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
> >>>> (original)
> >>>>> +++
> >>>>
> >>
> felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
> >>>> Mon Mar 21 17:00:11 2016
> >>>>> @@ -75,7 +75,6 @@ import org.apache.felix.gogo.api.Process
> >>>>> import org.apache.felix.gogo.jline.Shell.Context;
> >>>>> import org.apache.felix.service.command.CommandProcessor;
> >>>>> import org.apache.felix.service.command.CommandSession;
> >>>>> -import org.apache.sshd.common.util.OsUtils;
> >>>>> import org.jline.builtins.Commands;
> >>>>> import org.jline.builtins.Less;
> >>>>> import org.jline.builtins.Nano;
> >>>>> @@ -89,6 +88,7 @@ import org.jline.utils.AttributedString;
> >>>>> import org.jline.utils.AttributedStringBuilder;
> >>>>> import org.jline.utils.AttributedStyle;
> >>>>> import org.jline.utils.InfoCmp.Capability;
> >>>>> +import org.jline.utils.OSUtils;
> >>>>>
> >>>>> /**
> >>>>> * Posix-like utilities.
> >>>>> @@ -1924,7 +1924,7 @@ public class Posix {
> >>>>>           perms.add(PosixFilePermission.OTHERS_WRITE);
> >>>>>       }
> >>>>>
> >>>>> -        if (f.canExecute() || (OsUtils.isWin32() &&
> >>>> isWindowsExecutable(f.getName()))) {
> >>>>> +        if (f.canExecute() || (OSUtils.IS_WINDOWS &&
> >>>> isWindowsExecutable(f.getName()))) {
> >>>>>           perms.add(PosixFilePermission.OWNER_EXECUTE);
> >>>>>           perms.add(PosixFilePermission.GROUP_EXECUTE);
> >>>>>           perms.add(PosixFilePermission.OTHERS_EXECUTE);
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> ------------------------
> >>> Guillaume Nodet
> >>> ------------------------
> >>> Red Hat, Open Source Integration
> >>>
> >>> Email: [email protected]
> >>> Web: http://fusesource.com
> >>> Blog: http://gnodet.blogspot.com/
> >>
> >>
> >
> >
> > --
> > ------------------------
> > Guillaume Nodet
> > ------------------------
> > Red Hat, Open Source Integration
> >
> > Email: [email protected] <mailto:[email protected]>
> > Web: http://fusesource.com <http://fusesource.com/>
> > Blog: http://gnodet.blogspot.com/ <http://gnodet.blogspot.com/>
>



-- 
------------------------
Guillaume Nodet
------------------------
Red Hat, Open Source Integration

Email: [email protected]
Web: http://fusesource.com
Blog: http://gnodet.blogspot.com/

Reply via email to