embulk-input-http 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0bc5ae1c890470e5d30b21ced647bd9e85e8a272
4
- data.tar.gz: 77c89043f7c45fae6750eb84152053f10ae691a1
3
+ metadata.gz: 5a5521bcc6ec05740477ee1d0b1a4771057563ce
4
+ data.tar.gz: dd85ad0a597122ffb6b666ded12d25ba05c8dcb0
5
5
  SHA512:
6
- metadata.gz: be0f73d6d3e4f33d7dcba51208e32446b5c31c4b4415bc6b415285234ec2982ffbc131a565914605b8d8331a371fd0daf143f4cf23f24a01d604be8dce1999fc
7
- data.tar.gz: 44c57e268a4a9e4d0ecc7c8e06f836e62b7f69f2c760306665aba9e714eb7e522b025daabf9c23b34029ba9b5820094bd32c0170203ae78daaa3bb8f4eec57e0
6
+ metadata.gz: dbb23315e384a59799caaa502af1e6c8f51a0884bc74b2b7ce43eb6f96fff81a9ff1b5958a865054f626eab8c6a623bcf3567d8f83f56334f7099dbb0ab8fe97
7
+ data.tar.gz: 5f2f1c12f916e9847a4d3dc5a4c1cef760af8fc925b54c11e87d5492870e3ff56a0d01f97d4d9d8a2349713add5e58c2ed633bfde6d5672105f5ab70a4e84340
data/.gitignore CHANGED
@@ -1,10 +1,8 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
1
+ *~
7
2
  /pkg/
8
- /spec/reports/
9
3
  /tmp/
10
- *.gem
4
+ .gradle/
5
+ /classpath/
6
+ build/
7
+ .idea
8
+ *.iml
data/README.md CHANGED
@@ -1,7 +1,12 @@
1
1
  # Embulk::Input::Http
2
2
 
3
3
  Input HTTP plugin for [Embulk](https://github.com/embulk/embulk).
4
- Read content via HTTP and parse/iterate json(or xml) data.
4
+ Fetch data via HTTP.
5
+
6
+
7
+ ### Big changes in v0.0.4
8
+
9
+ From `v0.0.4`, *iterate* section is removed, embulk-input-http is must be used with some **parer plugin**.
5
10
 
6
11
  ## Installation
7
12
 
@@ -13,7 +18,7 @@ $ embulk gem install embulk-input-http
13
18
 
14
19
  ## Usage
15
20
 
16
- Specify in your config.yml file
21
+ Specify in your config.yml file.
17
22
 
18
23
  ```yaml
19
24
  in:
@@ -23,130 +28,87 @@ in:
23
28
  - {name: method, value: getStations}
24
29
  - {name: x, value: 135.0}
25
30
  - {name: y, value: "{30..35}.0", expand: true}
26
- schema:
27
- - {name: name, type: string}
28
- - {name: next, type: string}
29
- - {name: prev, type: string}
30
- - {name: distance, type: string}
31
- - {name: lat, type: double, path: x}
32
- - {name: lng, type: double, path: y}
33
- - {name: line, type: string}
34
- - {name: postal, type: string}
35
- iterate: {type: json, path: $.response.station}
36
31
  method: get
37
32
  ```
38
33
 
39
- - type: specify this plugin as `http`
40
- - url: base url something like api (required)
41
- - schema: specify the attribute of table and data type (required)
42
- - iterate: data type and path to find root data, json/xml is supported for now (required)
43
- - method: http method, get is used by default (optional)
44
- - params: pair of name/value to specify query parameter (optional)
45
- - open_timeout: timeout to open connection (optional, 5 is used by default)
46
- - read_timeout: timeout to read content via http (optional, 10 is used by default)
47
-
48
- ### Iterate data
49
-
50
- You can specify 2 types to parse result from HTTP api in *iterate* section.
51
-
52
-
53
- #### json
54
-
55
- For this type, you need to specify *path* as [jsonpath](http://goessner.net/articles/JsonPath/).
56
-
57
- for example:
34
+ - **type**: specify this plugin as `http`
35
+ - **url**: base url something like api (required)
36
+ - **parser**: parser plugin to parse data in response (required)
37
+ - **params**: pair of name/value to specify query parameter (optional)
38
+ - **method**: http method, get is used by default (optional)
39
+ - **user_agent**: the usrr agent to specify request header (optional)
40
+ - **charset**: Charset to specify request header (optional, utf-8 is used by default)
41
+ - **open_timeout**: timeout msec to open connection (optional, 2000 is used by default)
42
+ - **read_timeout**: timeout msec to read content via http (optional, 10000 is used by default)
58
43
 
59
- ```json
60
- {
61
- "result" : "success",
62
- "students" : [
63
- { "name" : "John", "age" : 10 },
64
- { "name" : "Paul", "age" : 16 },
65
- { "name" : "George", "age" : 17 },
66
- { "name" : "Ringo", "age" : 18 }
67
- ]
68
- }
69
- ```
70
-
71
- You can iterate "students" node by the following condifuration:
72
44
 
73
- iterate: {type: json, path: $.students}
45
+ ### Brace expansion style in params
74
46
 
75
- You can specify jsonpath to also *path* in schema section:
47
+ In *params* section, you can specify also multilple params by using **brace expansion style**.
76
48
 
77
49
  ```yaml
78
- schema:
79
- - {name: firstName, type: string, path: "names[0]"}
80
- - {name: lastName, type: string, path: "names[1]"}
81
- iterate: {type: json, path: $.students}
82
- ```
83
-
84
- Then you can make record from more complicated json like as follows:
85
-
86
- ```json
87
- {
88
- "result" : "success",
89
- "students" : [
90
- { "names" : ["John", "Lennon"], "age" : 10 },
91
- { "names" : ["Paul", "Maccartney"], "age" : 10 }
92
- ]
93
- }
94
- ```
95
-
96
- In this case, names[0] will be firstName of schema and names[1] will be lastName.
97
-
98
-
99
- #### xml
100
-
101
- You can parse also xml by specifing **path/to/node** style to *path*.
102
-
103
- for example:
104
-
105
-
106
- ```xml
107
- <data>
108
- <result>true</result>
109
- <students>
110
- <student>
111
- <name>John</name>
112
- <age>10</name>
113
- <student>
114
- <student>
115
- <name>Paul</name>
116
- <age>16</name>
117
- <student>
118
- <student>
119
- <name>George</name>
120
- <age>17</name>
121
- <student>
122
- <student>
123
- <name>Ringo</name>
124
- <age>18</name>
125
- <student>
126
- </students>
50
+ params
51
+ - {name: id, value "{5,4,3,2,1}", expand: true}
52
+ - {name: name, value "{John,Paul,George,Ringo}", expand: true}
127
53
  ```
128
54
 
129
- Configuration as below to iterate student node:
55
+ To use this style, you need to set true to parameter *expand*, then all patterns of query will be called in a defferent request.
130
56
 
131
- iterate: {type: xml, path: data/students/student}
132
57
 
133
- ### Brace expansion style in params
58
+ ## Example
134
59
 
135
- In *params* section, you can specify also multilple params by using **brace expansion style**.
60
+ ### Fetch json via http api
136
61
 
137
62
  ```yaml
138
- params
139
- - {name: id, value "{1..5}", expand: true}
140
- - {name: name, value "{John,Paul,George,Ringo}", expand: true}
63
+ in:
64
+ type: http
65
+ url: http://express.heartrails.com/api/json
66
+ params:
67
+ - {name: method, value: getStations}
68
+ - {name: x, value: 135.0}
69
+ - {name: y, value: "{35,34,33,32,31}.0", expand: true}
70
+ parser:
71
+ type: json
72
+ root: $.response.station
73
+ schema:
74
+ - {name: name, type: string}
75
+ - {name: next, type: string}
76
+ - {name: prev, type: string}
77
+ - {name: distance, type: string}
78
+ - {name: lat, type: double, path: x}
79
+ - {name: lng, type: double, path: y}
80
+ - {name: line, type: string}
81
+ - {name: postal, type: string}
141
82
  ```
142
83
 
143
- To use this style, you need to set true to parameter *expand*, then all patterns of query will be called in a defferent request.
84
+ ### Fetch csv
144
85
 
86
+ ```yaml
87
+ in:
88
+ type: http
89
+ url: http://192.168.33.10:8085/sample.csv
90
+ - {name: y, value: "{35,34,33,32,31}.0", expand: true}
91
+ parser:
92
+ charset: UTF-8
93
+ newline: CRLF
94
+ type: csv
95
+ delimiter: ','
96
+ quote: '"'
97
+ escape: ''
98
+ skip_header_lines: 1
99
+ columns:
100
+ - {name: id, type: long}
101
+ - {name: account, type: long}
102
+ - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
103
+ - {name: purchase, type: timestamp, format: '%Y%m%d'}
104
+ - {name: comment, type: string}
105
+ ```
145
106
 
146
107
  ## TODO
147
- - Split input/formatter
148
108
  - BasicAuth
149
109
  - HTTP-proxy
110
+ - Custom hedaers
111
+ - Guess
150
112
 
151
113
  ## Patch
152
114
 
data/build.gradle ADDED
@@ -0,0 +1,55 @@
1
+ plugins {
2
+ id "com.jfrog.bintray" version "1.1"
3
+ id "com.github.jruby-gradle.base" version "0.1.5"
4
+ id "java"
5
+ }
6
+ import com.github.jrubygradle.JRubyExec
7
+ repositories {
8
+ mavenCentral()
9
+ jcenter()
10
+ }
11
+ configurations {
12
+ provided
13
+ }
14
+
15
+ version = "0.0.4"
16
+
17
+ dependencies {
18
+ compile "org.embulk:embulk-core:0.5.2"
19
+ compile "org.apache.httpcomponents:httpclient:4.4"
20
+ provided "org.embulk:embulk-core:0.5.2"
21
+ testCompile "junit:junit:4.+"
22
+ }
23
+
24
+ task classpath(type: Copy, dependsOn: ["jar"]) {
25
+ doFirst { file("classpath").deleteDir() }
26
+ from (configurations.runtime - configurations.provided + files(jar.archivePath))
27
+ into "classpath"
28
+ }
29
+ clean { delete 'classpath' }
30
+
31
+ task gem(type: JRubyExec, dependsOn: ["build", "gemspec", "classpath"]) {
32
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build"
33
+ script "build/gemspec"
34
+ doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
35
+ }
36
+
37
+ task gemspec << { file("build/gemspec").write($/
38
+ Gem::Specification.new do |spec|
39
+ spec.name = "${project.name}"
40
+ spec.version = "${project.version}"
41
+ spec.authors = ["Takuma kanari"]
42
+ spec.email = ["chemtrails.t@gmail.com"]
43
+ spec.summary = %q{Embulk plugin for http input}
44
+ spec.description = %q{Fetch data via http}
45
+ spec.homepage = "https://github.com/takumakanari/embulk-input-http"
46
+ spec.license = "MIT"
47
+
48
+ spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
49
+ spec.test_files = spec.files.grep(%r"^(test|spec)/")
50
+ spec.require_paths = ["lib"]
51
+ spec.add_development_dependency 'bundler', ['~> 1.0']
52
+ spec.add_development_dependency 'rake', ['>= 10.0']
53
+ end
54
+ /$)
55
+ }
Binary file
Binary file
Binary file
Binary file
@@ -1,21 +1,27 @@
1
1
  exec: {}
2
+
2
3
  in:
3
4
  type: http
4
5
  url: http://express.heartrails.com/api/json
5
6
  params:
6
7
  - {name: method, value: getStations}
7
8
  - {name: x, value: 135.0}
8
- - {name: y, value: 35.0}
9
- schema:
10
- - {name: name, type: string}
11
- - {name: next, type: string}
12
- - {name: prev, type: string}
13
- - {name: distance, type: string}
14
- - {name: lat, type: double, path: x}
15
- - {name: lng, type: double, path: y}
16
- - {name: line, type: string}
17
- - {name: postal, type: string}
9
+ - {name: y, value: "{35,34,33,32,31}.0", expand: true}
18
10
  method: get
19
- iterate: {type: json, path: $.response.station}
11
+ user_agent: example_json
12
+ charset: utf8
13
+ parser:
14
+ type: json
15
+ root: $.response.station
16
+ schema:
17
+ - {name: name, type: string}
18
+ - {name: next, type: string}
19
+ - {name: prev, type: string}
20
+ - {name: distance, type: string}
21
+ - {name: lat, type: double, path: x}
22
+ - {name: lng, type: double, path: y}
23
+ - {name: line, type: string}
24
+ - {name: postal, type: string}
25
+
20
26
  out: {type: stdout}
21
27
 
Binary file
@@ -0,0 +1,6 @@
1
+ #Sat Mar 14 12:49:15 JST 2015
2
+ distributionBase=GRADLE_USER_HOME
3
+ distributionPath=wrapper/dists
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
data/gradlew ADDED
@@ -0,0 +1,164 @@
1
+ #!/usr/bin/env bash
2
+
3
+ ##############################################################################
4
+ ##
5
+ ## Gradle start up script for UN*X
6
+ ##
7
+ ##############################################################################
8
+
9
+ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10
+ DEFAULT_JVM_OPTS=""
11
+
12
+ APP_NAME="Gradle"
13
+ APP_BASE_NAME=`basename "$0"`
14
+
15
+ # Use the maximum available, or set MAX_FD != -1 to use that value.
16
+ MAX_FD="maximum"
17
+
18
+ warn ( ) {
19
+ echo "$*"
20
+ }
21
+
22
+ die ( ) {
23
+ echo
24
+ echo "$*"
25
+ echo
26
+ exit 1
27
+ }
28
+
29
+ # OS specific support (must be 'true' or 'false').
30
+ cygwin=false
31
+ msys=false
32
+ darwin=false
33
+ case "`uname`" in
34
+ CYGWIN* )
35
+ cygwin=true
36
+ ;;
37
+ Darwin* )
38
+ darwin=true
39
+ ;;
40
+ MINGW* )
41
+ msys=true
42
+ ;;
43
+ esac
44
+
45
+ # For Cygwin, ensure paths are in UNIX format before anything is touched.
46
+ if $cygwin ; then
47
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
48
+ fi
49
+
50
+ # Attempt to set APP_HOME
51
+ # Resolve links: $0 may be a link
52
+ PRG="$0"
53
+ # Need this for relative symlinks.
54
+ while [ -h "$PRG" ] ; do
55
+ ls=`ls -ld "$PRG"`
56
+ link=`expr "$ls" : '.*-> \(.*\)$'`
57
+ if expr "$link" : '/.*' > /dev/null; then
58
+ PRG="$link"
59
+ else
60
+ PRG=`dirname "$PRG"`"/$link"
61
+ fi
62
+ done
63
+ SAVED="`pwd`"
64
+ cd "`dirname \"$PRG\"`/" >&-
65
+ APP_HOME="`pwd -P`"
66
+ cd "$SAVED" >&-
67
+
68
+ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
69
+
70
+ # Determine the Java command to use to start the JVM.
71
+ if [ -n "$JAVA_HOME" ] ; then
72
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
73
+ # IBM's JDK on AIX uses strange locations for the executables
74
+ JAVACMD="$JAVA_HOME/jre/sh/java"
75
+ else
76
+ JAVACMD="$JAVA_HOME/bin/java"
77
+ fi
78
+ if [ ! -x "$JAVACMD" ] ; then
79
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
80
+
81
+ Please set the JAVA_HOME variable in your environment to match the
82
+ location of your Java installation."
83
+ fi
84
+ else
85
+ JAVACMD="java"
86
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
87
+
88
+ Please set the JAVA_HOME variable in your environment to match the
89
+ location of your Java installation."
90
+ fi
91
+
92
+ # Increase the maximum file descriptors if we can.
93
+ if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
94
+ MAX_FD_LIMIT=`ulimit -H -n`
95
+ if [ $? -eq 0 ] ; then
96
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
97
+ MAX_FD="$MAX_FD_LIMIT"
98
+ fi
99
+ ulimit -n $MAX_FD
100
+ if [ $? -ne 0 ] ; then
101
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
102
+ fi
103
+ else
104
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
105
+ fi
106
+ fi
107
+
108
+ # For Darwin, add options to specify how the application appears in the dock
109
+ if $darwin; then
110
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
111
+ fi
112
+
113
+ # For Cygwin, switch paths to Windows format before running java
114
+ if $cygwin ; then
115
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
116
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
117
+
118
+ # We build the pattern for arguments to be converted via cygpath
119
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120
+ SEP=""
121
+ for dir in $ROOTDIRSRAW ; do
122
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
123
+ SEP="|"
124
+ done
125
+ OURCYGPATTERN="(^($ROOTDIRS))"
126
+ # Add a user-defined pattern to the cygpath arguments
127
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129
+ fi
130
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
131
+ i=0
132
+ for arg in "$@" ; do
133
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135
+
136
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138
+ else
139
+ eval `echo args$i`="\"$arg\""
140
+ fi
141
+ i=$((i+1))
142
+ done
143
+ case $i in
144
+ (0) set -- ;;
145
+ (1) set -- "$args0" ;;
146
+ (2) set -- "$args0" "$args1" ;;
147
+ (3) set -- "$args0" "$args1" "$args2" ;;
148
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154
+ esac
155
+ fi
156
+
157
+ # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
158
+ function splitJvmOpts() {
159
+ JVM_OPTS=("$@")
160
+ }
161
+ eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
162
+ JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
163
+
164
+ exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
data/gradlew.bat ADDED
@@ -0,0 +1,90 @@
1
+ @if "%DEBUG%" == "" @echo off
2
+ @rem ##########################################################################
3
+ @rem
4
+ @rem Gradle startup script for Windows
5
+ @rem
6
+ @rem ##########################################################################
7
+
8
+ @rem Set local scope for the variables with windows NT shell
9
+ if "%OS%"=="Windows_NT" setlocal
10
+
11
+ @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12
+ set DEFAULT_JVM_OPTS=
13
+
14
+ set DIRNAME=%~dp0
15
+ if "%DIRNAME%" == "" set DIRNAME=.
16
+ set APP_BASE_NAME=%~n0
17
+ set APP_HOME=%DIRNAME%
18
+
19
+ @rem Find java.exe
20
+ if defined JAVA_HOME goto findJavaFromJavaHome
21
+
22
+ set JAVA_EXE=java.exe
23
+ %JAVA_EXE% -version >NUL 2>&1
24
+ if "%ERRORLEVEL%" == "0" goto init
25
+
26
+ echo.
27
+ echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28
+ echo.
29
+ echo Please set the JAVA_HOME variable in your environment to match the
30
+ echo location of your Java installation.
31
+
32
+ goto fail
33
+
34
+ :findJavaFromJavaHome
35
+ set JAVA_HOME=%JAVA_HOME:"=%
36
+ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37
+
38
+ if exist "%JAVA_EXE%" goto init
39
+
40
+ echo.
41
+ echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42
+ echo.
43
+ echo Please set the JAVA_HOME variable in your environment to match the
44
+ echo location of your Java installation.
45
+
46
+ goto fail
47
+
48
+ :init
49
+ @rem Get command-line arguments, handling Windowz variants
50
+
51
+ if not "%OS%" == "Windows_NT" goto win9xME_args
52
+ if "%@eval[2+2]" == "4" goto 4NT_args
53
+
54
+ :win9xME_args
55
+ @rem Slurp the command line arguments.
56
+ set CMD_LINE_ARGS=
57
+ set _SKIP=2
58
+
59
+ :win9xME_args_slurp
60
+ if "x%~1" == "x" goto execute
61
+
62
+ set CMD_LINE_ARGS=%*
63
+ goto execute
64
+
65
+ :4NT_args
66
+ @rem Get arguments from the 4NT Shell from JP Software
67
+ set CMD_LINE_ARGS=%$
68
+
69
+ :execute
70
+ @rem Setup the command line
71
+
72
+ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73
+
74
+ @rem Execute Gradle
75
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76
+
77
+ :end
78
+ @rem End local scope for the variables with windows NT shell
79
+ if "%ERRORLEVEL%"=="0" goto mainEnd
80
+
81
+ :fail
82
+ rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83
+ rem the _cmd.exe /c_ return code!
84
+ if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85
+ exit /b 1
86
+
87
+ :mainEnd
88
+ if "%OS%"=="Windows_NT" endlocal
89
+
90
+ :omega