Just created an issue to help track these changes:
https://issues.apache.org/jira/browse/TINKERPOP-1268

On Mon, Apr 18, 2016 at 11:38 AM, Stephen Mallette <spmalle...@gmail.com>
wrote:

> I don't think we'd change that for gremlin.sh. The :install command is
> sufficient imo. If no one has better ideas for -i on gremlin.sh I'm going
> to stick with that.
>
> On Mon, Apr 18, 2016 at 11:05 AM, Jason Plurad <plur...@gmail.com> wrote:
>
>> > do you feel really strongly about using something different?
>>
>> No, just pointing out the inconsistency, unless you think you'll add the
>> ability to install Gremlin plugins via the command line for the console
>> also.
>>
>> On Mon, Apr 18, 2016 at 11:01 AM, Stephen Mallette <spmalle...@gmail.com>
>> wrote:
>>
>> > > gremlin-server.sh uses -i to install plugins, so I'd pick a different
>> > flag here.
>> >
>> > dah...that stinks. groovy uses -e and python is -i. since we'd already
>> used
>> > -e i figured that -i would at least match python. hard to do better
>> than -i
>> > for gremlin.sh as it's quite memorable for being "interactive mode".
>> it's
>> > so good, i'd almost ignore the fact that gremlin-server.sh provides
>> > different meaning to it. anyone have other ideas for what it could be?
>> > jason do you feel really strongly about using something different?
>> >
>> > > 3.1.3? This isn't considered a breaking change?
>> >
>> > no - i think it can be done to be backward compatible. if i find it
>> can't
>> > i'll make sure it happens in 3.2.1.
>> >
>> > On Mon, Apr 18, 2016 at 10:53 AM, Jason Plurad <plur...@gmail.com>
>> wrote:
>> >
>> > > > 3. Add support for bin/gremlin.sh -i init.groovy
>> > >
>> > > gremlin-server.sh uses -i to install plugins, so I'd pick a different
>> > flag
>> > > here.
>> > >
>> > > > I plan to experiment on these changes in the coming days for 3.1.3
>> > >
>> > > 3.1.3? This isn't considered a breaking change?
>> > >
>> > > -- Jason
>> > >
>> > >
>> > > On Sun, Apr 17, 2016 at 9:35 AM, Stephen Mallette <
>> spmalle...@gmail.com>
>> > > wrote:
>> > >
>> > > > We currently have a couple ways to pass files to Gremlin Console for
>> > > > execution. We have:
>> > > >
>> > > > bin/gremlin.sh init.groovy
>> > > >
>> > > > and
>> > > >
>> > > > bin/gremlin.sh -e exec.groovy
>> > > >
>> > > > where the first one executes an initialization script for the
>> console
>> > and
>> > > > then leaves the console open (unless there is a failure in executing
>> > the
>> > > > script) and the the second executes a script through the
>> ScriptExecutor
>> > > and
>> > > > takes arguments that configure the script.
>> > > >
>> > > > Both have their uses, but ScriptExecutor and -e are a hold-over from
>> > > > TinkerPop 2.x and they introduce a bit of an incongruity where a
>> script
>> > > > that will run for the first command may not work when used with -e.
>> > > > ScriptExecutor is a wrapper for a standalone
>> GremlinGroovyScriptEngine
>> > > and
>> > > > therefore does not allow console commands to be executed. So if your
>> > > > exec.groovy contained:
>> > > >
>> > > > :remote connect tinkerpop.server conf/remote.yaml
>> > > > :> 1 + 1
>> > > >
>> > > > because you were doing some automation with Gremlin and wanted to
>> > > execute a
>> > > > remote script, you will get a failure.  I think we have a fair bit
>> of
>> > > room
>> > > > for improvement here and as of Groovy 2.4.x there are some changes
>> in
>> > > > groovysh that will allow us to drop some of our own internal code
>> for
>> > > doing
>> > > > these kinds of things.
>> > > >
>> > > > I'd basically propose that we:
>> > > >
>> > > > 1. Deprecate support for ScriptExecutor - it's too confusing to have
>> > > these
>> > > > scripts execute in different ways through gremlin.sh.
>> > > > 2. Deprecate support of bin/gremlin.sh init.groovy (stop encouraging
>> > this
>> > > > usage pattern)
>> > > > 3. Add support for bin/gremlin.sh -i init.groovy which does the same
>> > > thing
>> > > > as (2) and does not exit the console on failure. That would allow a
>> > user
>> > > to
>> > > > work with their console session up to the point of failure.
>> > > > 4. Improve support for bin/gremlin.sh -e exec.groovy to no longer
>> use
>> > > > ScriptExecutor and execute scripts directly in the console for
>> > automation
>> > > > purposes.
>> > > > 5. Add some other options to control output to the console so that
>> you
>> > > > could do bin/gremlin.sh -q -e exec.groovy which would execute in a
>> > quiet
>> > > > mode with no output, for example.
>> > > > 6. Groovy's shell lets you do groovysh script1.groovy
>> script2.groovy,
>> > > > script3.groovy..... We could do something like that too if we
>> wanted,
>> > but
>> > > > we currently allow for something Groovy's shell does not: script
>> > > arguments.
>> > > > I suppose we could do the multi-file thing and have some syntax for
>> > > passing
>> > > > command line arguments. maybe like: bin/gremlin.sh -e script1.groovy
>> > > > [argument1 argument2] script2.groovy [arg1] - I don't think we
>> could do
>> > > > this without a breaking change though, so perhaps we worry about
>> this
>> > for
>> > > > 3.3.x whenever we get around to working on that.
>> > > >
>> > > > I plan to experiment on these changes in the coming days for 3.1.3.
>> > > Please
>> > > > let me know if there are other thoughts on this matter.
>> > > >
>> > >
>> >
>>
>
>

Reply via email to