[ https://issues.apache.org/jira/browse/TINKERPOP-1268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15262445#comment-15262445 ]
stephen mallette commented on TINKERPOP-1268: --------------------------------------------- I have some basics for this working now. First, here's {{-i}} in action where a script error fails the init but the console stays open. Note how the error now shows the line number it stopped at: {code} $ bin/gremlin.sh -i init.groovy \,,,/ (o o) -----oOOo-(3)-oOOo----- plugin activated: tinkerpop.server plugin activated: tinkerpop.utilities plugin activated: tinkerpop.tinkergraph Invalid line in init.groovy at [3: z = y + xx] - No such property: xx for class: groovysh_evaluate gremlin> x ==>2 {code} Same script with {{-e}} goes right to error with no other output because of {{-q}} (for quiet output): {code} $ bin/gremlin.sh -q -e init.groovy Invalid line in init.groovy at [3: z = y + xx] - No such property: xx for class: groovysh_evaluate {code} I then get rid of the bad error in my script and just make it: {code} x = 2 y = x + 1 z = y + x println z {code} and with {{-e}} we get: {code} $ bin/gremlin.sh -q -e init.groovy 5 {code} and with {{-i}} we get: {code} $ bin/gremlin.sh -i init.groovy \,,,/ (o o) -----oOOo-(3)-oOOo----- plugin activated: tinkerpop.server plugin activated: tinkerpop.utilities plugin activated: tinkerpop.tinkergraph 5 gremlin> x ==>2 gremlin> y ==>3 gremlin> z ==>5 gremlin> {code} I also still support the {{args}} option on a script as we had before with {{-e}} so you can also do: {{bin/gremlin.sh -e script.groovy 1 2 3 4}} and have {{1,2,3,4}} folded into a list of {{args}} that are accessible in the script. Ultimately I think we might want to get rid of that and simply support multiple scripts (like {{bin/gremlin.sh -e script1.groovy script2.groovy, ...}}), but that's a pretty big breaking change so perhaps that is for later discussion. > Improve script execution options for console > -------------------------------------------- > > Key: TINKERPOP-1268 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1268 > Project: TinkerPop > Issue Type: Improvement > Components: console > Affects Versions: 3.1.2-incubating > Reporter: stephen mallette > Assignee: stephen mallette > Labels: breaking > Fix For: 3.2.1 > > > Given the discussion here: > https://pony-poc.apache.org/thread.html/Zhsn1tow4012xpm > Implement the following: > 1. Deprecate support for {{ScriptExecutor}} > 2. Deprecate support of bin/gremlin.sh init.groovy > 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. > The idea would be to try to implement this without breaking change. -- This message was sent by Atlassian JIRA (v6.3.4#6332)