embulk-output-bigquery 0.2.3 → 0.3.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +6 -12
- data/CHANGELOG.md +18 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +20 -0
- data/README.md +165 -39
- data/Rakefile +11 -0
- data/embulk-output-bigquery.gemspec +20 -0
- data/example/config_client_options.yml +33 -0
- data/example/config_csv.yml +30 -0
- data/example/config_delete_in_advance.yml +29 -0
- data/example/config_expose_errors.yml +30 -0
- data/example/config_guess_from_embulk_schema.yml +29 -0
- data/example/config_guess_with_column_options.yml +40 -0
- data/example/config_gzip.yml +30 -0
- data/example/config_jsonl.yml +30 -0
- data/example/config_mode_append.yml +30 -0
- data/example/config_mode_append_direct.yml +30 -0
- data/example/config_payload_column.yml +20 -0
- data/example/config_payload_column_index.yml +20 -0
- data/example/config_prevent_duplicate_insert.yml +30 -0
- data/example/config_replace.yml +30 -0
- data/example/config_replace_backup.yml +32 -0
- data/example/config_skip_file_generation.yml +32 -0
- data/example/config_table_strftime.yml +30 -0
- data/example/config_template_table.yml +21 -0
- data/example/config_uncompressed.yml +30 -0
- data/example/config_with_rehearsal.yml +32 -0
- data/example/example.csv +17 -0
- data/example/example.jsonl +16 -0
- data/example/example.yml +30 -0
- data/example/json_key.json +12 -0
- data/example/nested_example.jsonl +16 -0
- data/example/schema.json +30 -0
- data/example/schema_expose_errors.json +30 -0
- data/lib/embulk/output/bigquery.rb +388 -3
- data/lib/embulk/output/bigquery/bigquery_client.rb +396 -0
- data/lib/embulk/output/bigquery/file_writer.rb +103 -0
- data/lib/embulk/output/bigquery/helper.rb +78 -0
- data/lib/embulk/output/bigquery/value_converter_factory.rb +292 -0
- data/test/helper.rb +13 -0
- data/test/test_bigquery_client.rb +166 -0
- data/test/test_configure.rb +254 -0
- data/test/test_example.rb +34 -0
- data/test/test_file_writer.rb +129 -0
- data/test/test_helper.rb +103 -0
- data/test/test_transaction.rb +129 -0
- data/test/test_value_converter_factory.rb +316 -0
- metadata +114 -45
- data/build.gradle +0 -80
- data/config/checkstyle/checkstyle.xml +0 -128
- data/config/checkstyle/default.xml +0 -108
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +0 -6
- data/gradlew +0 -164
- data/gradlew.bat +0 -90
- data/settings.gradle +0 -2
- data/src/main/java/org/embulk/output/BigqueryAuthentication.java +0 -117
- data/src/main/java/org/embulk/output/BigqueryOutputPlugin.java +0 -508
- data/src/main/java/org/embulk/output/BigqueryWriter.java +0 -575
- data/src/test/java/org/embulk/output/TestBigqueryAuthentication.java +0 -5
- data/src/test/java/org/embulk/output/TestBigqueryOutputPlugin.java +0 -5
- data/src/test/java/org/embulk/output/TestBigqueryWriter.java +0 -5
data/build.gradle
DELETED
@@ -1,80 +0,0 @@
|
|
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
|
-
id "checkstyle"
|
6
|
-
}
|
7
|
-
import com.github.jrubygradle.JRubyExec
|
8
|
-
repositories {
|
9
|
-
mavenCentral()
|
10
|
-
jcenter()
|
11
|
-
}
|
12
|
-
configurations {
|
13
|
-
provided
|
14
|
-
}
|
15
|
-
|
16
|
-
sourceCompatibility = 1.7
|
17
|
-
targetCompatibility = 1.7
|
18
|
-
|
19
|
-
version = "0.2.3"
|
20
|
-
|
21
|
-
dependencies {
|
22
|
-
compile "org.embulk:embulk-core:0.8.1"
|
23
|
-
provided "org.embulk:embulk-core:0.8.1"
|
24
|
-
|
25
|
-
compile "com.google.http-client:google-http-client-jackson2:1.20.0"
|
26
|
-
compile "com.google.apis:google-api-services-bigquery:v2-rev205-1.20.0"
|
27
|
-
|
28
|
-
testCompile "junit:junit:4.+"
|
29
|
-
}
|
30
|
-
|
31
|
-
task classpath(type: Copy, dependsOn: ["jar"]) {
|
32
|
-
doFirst { file("classpath").deleteDir() }
|
33
|
-
from (configurations.runtime - configurations.provided + files(jar.archivePath))
|
34
|
-
into "classpath"
|
35
|
-
}
|
36
|
-
clean { delete 'classpath' }
|
37
|
-
|
38
|
-
checkstyle {
|
39
|
-
configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
|
40
|
-
toolVersion = '6.14.1'
|
41
|
-
}
|
42
|
-
checkstyleMain {
|
43
|
-
configFile = file("${project.rootDir}/config/checkstyle/default.xml")
|
44
|
-
ignoreFailures = true
|
45
|
-
}
|
46
|
-
checkstyleTest {
|
47
|
-
configFile = file("${project.rootDir}/config/checkstyle/default.xml")
|
48
|
-
ignoreFailures = true
|
49
|
-
}
|
50
|
-
task checkstyle(type: Checkstyle) {
|
51
|
-
classpath = sourceSets.main.output + sourceSets.test.output
|
52
|
-
source = sourceSets.main.allJava + sourceSets.test.allJava
|
53
|
-
}
|
54
|
-
|
55
|
-
task gem(type: JRubyExec, dependsOn: ["build", "gemspec", "classpath"]) {
|
56
|
-
jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build"
|
57
|
-
script "build/gemspec"
|
58
|
-
doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
|
59
|
-
}
|
60
|
-
|
61
|
-
task gemspec << { file("build/gemspec").write($/
|
62
|
-
Gem::Specification.new do |spec|
|
63
|
-
spec.name = "${project.name}"
|
64
|
-
spec.version = "${project.version}"
|
65
|
-
spec.authors = ["Satoshi Akama"]
|
66
|
-
spec.summary = %[Google BigQuery output plugin for Embulk]
|
67
|
-
spec.description = %[Embulk plugin that insert records to Google BigQuery.]
|
68
|
-
spec.email = ["satoshiakama@gmail.com"]
|
69
|
-
spec.licenses = ["Apache-2.0"]
|
70
|
-
spec.homepage = "https://github.com/embulk/embulk-output-bigquery"
|
71
|
-
|
72
|
-
spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
|
73
|
-
spec.test_files = spec.files.grep(%r"^(test|spec)/")
|
74
|
-
spec.require_paths = ["lib"]
|
75
|
-
|
76
|
-
spec.add_development_dependency 'bundler', ['~> 1.0']
|
77
|
-
spec.add_development_dependency 'rake', ['>= 10.0']
|
78
|
-
end
|
79
|
-
/$)
|
80
|
-
}
|
@@ -1,128 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<!DOCTYPE module PUBLIC
|
3
|
-
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
4
|
-
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
5
|
-
<module name="Checker">
|
6
|
-
<!-- https://github.com/facebook/presto/blob/master/src/checkstyle/checks.xml -->
|
7
|
-
<module name="FileTabCharacter"/>
|
8
|
-
<module name="NewlineAtEndOfFile">
|
9
|
-
<property name="lineSeparator" value="lf"/>
|
10
|
-
</module>
|
11
|
-
<module name="RegexpMultiline">
|
12
|
-
<property name="format" value="\r"/>
|
13
|
-
<property name="message" value="Line contains carriage return"/>
|
14
|
-
</module>
|
15
|
-
<module name="RegexpMultiline">
|
16
|
-
<property name="format" value=" \n"/>
|
17
|
-
<property name="message" value="Line has trailing whitespace"/>
|
18
|
-
</module>
|
19
|
-
<module name="RegexpMultiline">
|
20
|
-
<property name="format" value="\{\n\n"/>
|
21
|
-
<property name="message" value="Blank line after opening brace"/>
|
22
|
-
</module>
|
23
|
-
<module name="RegexpMultiline">
|
24
|
-
<property name="format" value="\n\n\s*\}"/>
|
25
|
-
<property name="message" value="Blank line before closing brace"/>
|
26
|
-
</module>
|
27
|
-
<module name="RegexpMultiline">
|
28
|
-
<property name="format" value="\n\n\n"/>
|
29
|
-
<property name="message" value="Multiple consecutive blank lines"/>
|
30
|
-
</module>
|
31
|
-
<module name="RegexpMultiline">
|
32
|
-
<property name="format" value="\n\n\Z"/>
|
33
|
-
<property name="message" value="Blank line before end of file"/>
|
34
|
-
</module>
|
35
|
-
<module name="RegexpMultiline">
|
36
|
-
<property name="format" value="Preconditions\.checkNotNull"/>
|
37
|
-
<property name="message" value="Use of checkNotNull"/>
|
38
|
-
</module>
|
39
|
-
|
40
|
-
<module name="TreeWalker">
|
41
|
-
<module name="EmptyBlock">
|
42
|
-
<property name="option" value="text"/>
|
43
|
-
<property name="tokens" value="
|
44
|
-
LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF,
|
45
|
-
LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/>
|
46
|
-
</module>
|
47
|
-
<module name="EmptyStatement"/>
|
48
|
-
<module name="EmptyForInitializerPad"/>
|
49
|
-
<module name="EmptyForIteratorPad">
|
50
|
-
<property name="option" value="space"/>
|
51
|
-
</module>
|
52
|
-
<module name="MethodParamPad">
|
53
|
-
<property name="allowLineBreaks" value="true"/>
|
54
|
-
<property name="option" value="nospace"/>
|
55
|
-
</module>
|
56
|
-
<module name="ParenPad"/>
|
57
|
-
<module name="TypecastParenPad"/>
|
58
|
-
<module name="NeedBraces"/>
|
59
|
-
<module name="LeftCurly">
|
60
|
-
<property name="option" value="nl"/>
|
61
|
-
<property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, METHOD_DEF"/>
|
62
|
-
</module>
|
63
|
-
<module name="LeftCurly">
|
64
|
-
<property name="option" value="eol"/>
|
65
|
-
<property name="tokens" value="
|
66
|
-
LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR,
|
67
|
-
LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE"/>
|
68
|
-
</module>
|
69
|
-
<module name="RightCurly">
|
70
|
-
<property name="option" value="alone"/>
|
71
|
-
</module>
|
72
|
-
<module name="GenericWhitespace"/>
|
73
|
-
<module name="WhitespaceAfter"/>
|
74
|
-
<module name="NoWhitespaceBefore"/>
|
75
|
-
|
76
|
-
<module name="UpperEll"/>
|
77
|
-
<module name="DefaultComesLast"/>
|
78
|
-
<module name="ArrayTypeStyle"/>
|
79
|
-
<module name="MultipleVariableDeclarations"/>
|
80
|
-
<module name="ModifierOrder"/>
|
81
|
-
<module name="OneStatementPerLine"/>
|
82
|
-
<module name="StringLiteralEquality"/>
|
83
|
-
<module name="MutableException"/>
|
84
|
-
<module name="EqualsHashCode"/>
|
85
|
-
<module name="InnerAssignment"/>
|
86
|
-
<module name="InterfaceIsType"/>
|
87
|
-
<module name="HideUtilityClassConstructor"/>
|
88
|
-
|
89
|
-
<module name="MemberName"/>
|
90
|
-
<module name="LocalVariableName"/>
|
91
|
-
<module name="LocalFinalVariableName"/>
|
92
|
-
<module name="TypeName"/>
|
93
|
-
<module name="PackageName"/>
|
94
|
-
<module name="ParameterName"/>
|
95
|
-
<module name="StaticVariableName"/>
|
96
|
-
<module name="ClassTypeParameterName">
|
97
|
-
<property name="format" value="^[A-Z][0-9]?$"/>
|
98
|
-
</module>
|
99
|
-
<module name="MethodTypeParameterName">
|
100
|
-
<property name="format" value="^[A-Z][0-9]?$"/>
|
101
|
-
</module>
|
102
|
-
|
103
|
-
<module name="AvoidStarImport"/>
|
104
|
-
<module name="RedundantImport"/>
|
105
|
-
<module name="UnusedImports"/>
|
106
|
-
<module name="ImportOrder">
|
107
|
-
<property name="groups" value="*,javax,java"/>
|
108
|
-
<property name="separated" value="true"/>
|
109
|
-
<property name="option" value="bottom"/>
|
110
|
-
<property name="sortStaticImportsAlphabetically" value="true"/>
|
111
|
-
</module>
|
112
|
-
|
113
|
-
<module name="WhitespaceAround">
|
114
|
-
<property name="allowEmptyConstructors" value="true"/>
|
115
|
-
<property name="allowEmptyMethods" value="true"/>
|
116
|
-
<property name="ignoreEnhancedForColon" value="false"/>
|
117
|
-
<property name="tokens" value="
|
118
|
-
ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
|
119
|
-
BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
|
120
|
-
LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
|
121
|
-
LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
|
122
|
-
LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
|
123
|
-
LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
|
124
|
-
PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
|
125
|
-
STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
|
126
|
-
</module>
|
127
|
-
</module>
|
128
|
-
</module>
|
@@ -1,108 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<!DOCTYPE module PUBLIC
|
3
|
-
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
|
4
|
-
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
|
5
|
-
<!--
|
6
|
-
This is a subset of ./checkstyle.xml which allows some loose styles
|
7
|
-
-->
|
8
|
-
<module name="Checker">
|
9
|
-
<module name="FileTabCharacter"/>
|
10
|
-
<module name="NewlineAtEndOfFile">
|
11
|
-
<property name="lineSeparator" value="lf"/>
|
12
|
-
</module>
|
13
|
-
<module name="RegexpMultiline">
|
14
|
-
<property name="format" value="\r"/>
|
15
|
-
<property name="message" value="Line contains carriage return"/>
|
16
|
-
</module>
|
17
|
-
<module name="RegexpMultiline">
|
18
|
-
<property name="format" value=" \n"/>
|
19
|
-
<property name="message" value="Line has trailing whitespace"/>
|
20
|
-
</module>
|
21
|
-
<module name="RegexpMultiline">
|
22
|
-
<property name="format" value="\n\n\n"/>
|
23
|
-
<property name="message" value="Multiple consecutive blank lines"/>
|
24
|
-
</module>
|
25
|
-
<module name="RegexpMultiline">
|
26
|
-
<property name="format" value="\n\n\Z"/>
|
27
|
-
<property name="message" value="Blank line before end of file"/>
|
28
|
-
</module>
|
29
|
-
|
30
|
-
<module name="TreeWalker">
|
31
|
-
<module name="EmptyBlock">
|
32
|
-
<property name="option" value="text"/>
|
33
|
-
<property name="tokens" value="
|
34
|
-
LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF,
|
35
|
-
LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/>
|
36
|
-
</module>
|
37
|
-
<module name="EmptyStatement"/>
|
38
|
-
<module name="EmptyForInitializerPad"/>
|
39
|
-
<module name="EmptyForIteratorPad">
|
40
|
-
<property name="option" value="space"/>
|
41
|
-
</module>
|
42
|
-
<module name="MethodParamPad">
|
43
|
-
<property name="allowLineBreaks" value="true"/>
|
44
|
-
<property name="option" value="nospace"/>
|
45
|
-
</module>
|
46
|
-
<module name="ParenPad"/>
|
47
|
-
<module name="TypecastParenPad"/>
|
48
|
-
<module name="NeedBraces"/>
|
49
|
-
<module name="LeftCurly">
|
50
|
-
<property name="option" value="nl"/>
|
51
|
-
<property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, METHOD_DEF"/>
|
52
|
-
</module>
|
53
|
-
<module name="LeftCurly">
|
54
|
-
<property name="option" value="eol"/>
|
55
|
-
<property name="tokens" value="
|
56
|
-
LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR,
|
57
|
-
LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE"/>
|
58
|
-
</module>
|
59
|
-
<module name="RightCurly">
|
60
|
-
<property name="option" value="alone"/>
|
61
|
-
</module>
|
62
|
-
<module name="GenericWhitespace"/>
|
63
|
-
<module name="WhitespaceAfter"/>
|
64
|
-
<module name="NoWhitespaceBefore"/>
|
65
|
-
|
66
|
-
<module name="UpperEll"/>
|
67
|
-
<module name="DefaultComesLast"/>
|
68
|
-
<module name="ArrayTypeStyle"/>
|
69
|
-
<module name="MultipleVariableDeclarations"/>
|
70
|
-
<module name="ModifierOrder"/>
|
71
|
-
<module name="OneStatementPerLine"/>
|
72
|
-
<module name="StringLiteralEquality"/>
|
73
|
-
<module name="MutableException"/>
|
74
|
-
<module name="EqualsHashCode"/>
|
75
|
-
<module name="InnerAssignment"/>
|
76
|
-
<module name="InterfaceIsType"/>
|
77
|
-
<module name="HideUtilityClassConstructor"/>
|
78
|
-
|
79
|
-
<module name="MemberName"/>
|
80
|
-
<module name="LocalVariableName"/>
|
81
|
-
<module name="LocalFinalVariableName"/>
|
82
|
-
<module name="TypeName"/>
|
83
|
-
<module name="PackageName"/>
|
84
|
-
<module name="ParameterName"/>
|
85
|
-
<module name="StaticVariableName"/>
|
86
|
-
<module name="ClassTypeParameterName">
|
87
|
-
<property name="format" value="^[A-Z][0-9]?$"/>
|
88
|
-
</module>
|
89
|
-
<module name="MethodTypeParameterName">
|
90
|
-
<property name="format" value="^[A-Z][0-9]?$"/>
|
91
|
-
</module>
|
92
|
-
|
93
|
-
<module name="WhitespaceAround">
|
94
|
-
<property name="allowEmptyConstructors" value="true"/>
|
95
|
-
<property name="allowEmptyMethods" value="true"/>
|
96
|
-
<property name="ignoreEnhancedForColon" value="false"/>
|
97
|
-
<property name="tokens" value="
|
98
|
-
ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
|
99
|
-
BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
|
100
|
-
LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
|
101
|
-
LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
|
102
|
-
LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
|
103
|
-
LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
|
104
|
-
PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
|
105
|
-
STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
|
106
|
-
</module>
|
107
|
-
</module>
|
108
|
-
</module>
|
Binary file
|
data/gradlew
DELETED
@@ -1,164 +0,0 @@
|
|
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 "$@"
|