embulk-filter-strip_html_tags 0.1.0 → 0.2.0

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: a3f9c5cf676a67b3f43b8ff43175e6508f9f5a4b
4
- data.tar.gz: 8e8461e5a1a699b698ddcf97835603f407080afe
3
+ metadata.gz: 6a7d4ca3b7bde941d8b6d239febb959af549bbd8
4
+ data.tar.gz: 3b4bbf3b76fb8978cea465891c27557aa3081e84
5
5
  SHA512:
6
- metadata.gz: 106d1c7968058015970135185812d2d8fd744cd281fbc4b1752ba2803f75810cc607d6d6cf4faa0b9a112bee04c642fce78899912d9a89dd03d9a6a49c630e9c
7
- data.tar.gz: 01e04b789d4de23c575b4d4b67c364c731a96ea3ab38a31665bb4e36e20f8dca49993f251675085a217a733643b47f690e21e5b420b272dd02dfd16c6d672252
6
+ metadata.gz: 8e593cbec8f7eba23f4cc4fd2f0d0563f8f6006cc042e9706ca83290bd8768ce7544a91dd4b7b61ba31794fae4baa8091787632766198c67000be8cb1d0a8ac7
7
+ data.tar.gz: 041e427dfb03b31c175b0608128b461dc668d3f00cd3f03c9629cea222488093b36f851e5c3cb927d2feb99d3b6f0b1160b94c1ab7197bc068f30f9024627fa5
data/.gitignore CHANGED
@@ -3,3 +3,14 @@
3
3
  /tmp/
4
4
  /.bundle/
5
5
  /Gemfile.lock
6
+ *.gemspec
7
+
8
+ .gradle/
9
+ /classpath/
10
+ build/
11
+ .idea
12
+ /.settings/
13
+ /.metadata/
14
+ .classpath
15
+ .project
16
+ *.iml
data/README.md CHANGED
@@ -52,5 +52,5 @@ foo,bar,<p>baz</p>
52
52
  ## Build
53
53
 
54
54
  ```
55
- $ rake
55
+ $ ./gradlew gem
56
56
  ```
@@ -0,0 +1,102 @@
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
+ version = "0.2.0"
17
+
18
+ sourceCompatibility = 1.7
19
+ targetCompatibility = 1.7
20
+
21
+ dependencies {
22
+ compile "org.embulk:embulk-core:0.8.38"
23
+ provided "org.embulk:embulk-core:0.8.38"
24
+ compile "org.jsoup:jsoup:1.11.2"
25
+ runtime "org.jsoup:jsoup:1.11.2"
26
+ // compile "YOUR_JAR_DEPENDENCY_GROUP:YOUR_JAR_DEPENDENCY_MODULE:YOUR_JAR_DEPENDENCY_VERSION"
27
+ testCompile "junit:junit:4.12", {
28
+ transitive = false
29
+ }
30
+ testCompile "org.hamcrest:hamcrest-all:1.3"
31
+ testCompile "org.embulk:embulk-core:0.8.38:tests"
32
+ }
33
+
34
+ task classpath(type: Copy, dependsOn: ["jar"]) {
35
+ doFirst { file("classpath").deleteDir() }
36
+ from (configurations.runtime - configurations.provided + files(jar.archivePath))
37
+ into "classpath"
38
+ }
39
+ clean { delete "classpath" }
40
+
41
+ checkstyle {
42
+ configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
43
+ toolVersion = '6.14.1'
44
+ }
45
+ checkstyleMain {
46
+ configFile = file("${project.rootDir}/config/checkstyle/default.xml")
47
+ ignoreFailures = true
48
+ }
49
+ checkstyleTest {
50
+ configFile = file("${project.rootDir}/config/checkstyle/default.xml")
51
+ ignoreFailures = true
52
+ }
53
+ task checkstyle(type: Checkstyle) {
54
+ classpath = sourceSets.main.output + sourceSets.test.output
55
+ source = sourceSets.main.allJava + sourceSets.test.allJava
56
+ }
57
+
58
+ task gem(type: JRubyExec, dependsOn: ["gemspec", "classpath"]) {
59
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "build"
60
+ script "${project.name}.gemspec"
61
+ doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
62
+ }
63
+
64
+ task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
65
+ jrubyArgs "-rrubygems/gem_runner", "-eGem::GemRunner.new.run(ARGV)", "push"
66
+ script "pkg/${project.name}-${project.version}.gem"
67
+ }
68
+
69
+ task "package"(dependsOn: ["gemspec", "classpath"]) {
70
+ doLast {
71
+ println "> Build succeeded."
72
+ println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
73
+ }
74
+ }
75
+
76
+ task gemspec {
77
+ ext.gemspecFile = file("${project.name}.gemspec")
78
+ inputs.file "build.gradle"
79
+ outputs.file gemspecFile
80
+ doLast { gemspecFile.write($/
81
+ Gem::Specification.new do |spec|
82
+ spec.name = "${project.name}"
83
+ spec.version = "${project.version}"
84
+ spec.authors = ["SAWADA Tadashi"]
85
+ spec.summary = "Strip Html Tags filter plugin for Embulk"
86
+ spec.description = "Strip Html Tags"
87
+ spec.email = ["cesare@mayverse.jp"]
88
+ spec.licenses = ["MIT"]
89
+ spec.homepage = "https://github.com/cesare/embulk-filter-strip_html_tags"
90
+
91
+ spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
92
+ spec.test_files = spec.files.grep(%r{^(test|spec)/})
93
+ spec.require_paths = ["lib"]
94
+
95
+ spec.add_development_dependency 'embulk', ['>= 0.8.30']
96
+ spec.add_development_dependency 'bundler', ['>= 1.10.6']
97
+ spec.add_development_dependency 'rake', ['>= 10.0']
98
+ end
99
+ /$)
100
+ }
101
+ }
102
+ clean { delete "${project.name}.gemspec" }
@@ -0,0 +1,128 @@
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>
@@ -0,0 +1,108 @@
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>
@@ -0,0 +1,6 @@
1
+ #Wed Jan 03 23:45:24 JST 2018
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-4.1-all.zip
data/gradlew ADDED
@@ -0,0 +1,172 @@
1
+ #!/usr/bin/env sh
2
+
3
+ ##############################################################################
4
+ ##
5
+ ## Gradle start up script for UN*X
6
+ ##
7
+ ##############################################################################
8
+
9
+ # Attempt to set APP_HOME
10
+ # Resolve links: $0 may be a link
11
+ PRG="$0"
12
+ # Need this for relative symlinks.
13
+ while [ -h "$PRG" ] ; do
14
+ ls=`ls -ld "$PRG"`
15
+ link=`expr "$ls" : '.*-> \(.*\)$'`
16
+ if expr "$link" : '/.*' > /dev/null; then
17
+ PRG="$link"
18
+ else
19
+ PRG=`dirname "$PRG"`"/$link"
20
+ fi
21
+ done
22
+ SAVED="`pwd`"
23
+ cd "`dirname \"$PRG\"`/" >/dev/null
24
+ APP_HOME="`pwd -P`"
25
+ cd "$SAVED" >/dev/null
26
+
27
+ APP_NAME="Gradle"
28
+ APP_BASE_NAME=`basename "$0"`
29
+
30
+ # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31
+ DEFAULT_JVM_OPTS=""
32
+
33
+ # Use the maximum available, or set MAX_FD != -1 to use that value.
34
+ MAX_FD="maximum"
35
+
36
+ warn () {
37
+ echo "$*"
38
+ }
39
+
40
+ die () {
41
+ echo
42
+ echo "$*"
43
+ echo
44
+ exit 1
45
+ }
46
+
47
+ # OS specific support (must be 'true' or 'false').
48
+ cygwin=false
49
+ msys=false
50
+ darwin=false
51
+ nonstop=false
52
+ case "`uname`" in
53
+ CYGWIN* )
54
+ cygwin=true
55
+ ;;
56
+ Darwin* )
57
+ darwin=true
58
+ ;;
59
+ MINGW* )
60
+ msys=true
61
+ ;;
62
+ NONSTOP* )
63
+ nonstop=true
64
+ ;;
65
+ esac
66
+
67
+ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
68
+
69
+ # Determine the Java command to use to start the JVM.
70
+ if [ -n "$JAVA_HOME" ] ; then
71
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72
+ # IBM's JDK on AIX uses strange locations for the executables
73
+ JAVACMD="$JAVA_HOME/jre/sh/java"
74
+ else
75
+ JAVACMD="$JAVA_HOME/bin/java"
76
+ fi
77
+ if [ ! -x "$JAVACMD" ] ; then
78
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
79
+
80
+ Please set the JAVA_HOME variable in your environment to match the
81
+ location of your Java installation."
82
+ fi
83
+ else
84
+ JAVACMD="java"
85
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
86
+
87
+ Please set the JAVA_HOME variable in your environment to match the
88
+ location of your Java installation."
89
+ fi
90
+
91
+ # Increase the maximum file descriptors if we can.
92
+ if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93
+ MAX_FD_LIMIT=`ulimit -H -n`
94
+ if [ $? -eq 0 ] ; then
95
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96
+ MAX_FD="$MAX_FD_LIMIT"
97
+ fi
98
+ ulimit -n $MAX_FD
99
+ if [ $? -ne 0 ] ; then
100
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
101
+ fi
102
+ else
103
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104
+ fi
105
+ fi
106
+
107
+ # For Darwin, add options to specify how the application appears in the dock
108
+ if $darwin; then
109
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110
+ fi
111
+
112
+ # For Cygwin, switch paths to Windows format before running java
113
+ if $cygwin ; then
114
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116
+ JAVACMD=`cygpath --unix "$JAVACMD"`
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
+ # Escape application args
158
+ save () {
159
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160
+ echo " "
161
+ }
162
+ APP_ARGS=$(save "$@")
163
+
164
+ # Collect all arguments for the java command, following the shell quoting and substitution rules
165
+ eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166
+
167
+ # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168
+ if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169
+ cd "$(dirname "$0")"
170
+ fi
171
+
172
+ exec "$JAVACMD" "$@"
@@ -0,0 +1,84 @@
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
+ set DIRNAME=%~dp0
12
+ if "%DIRNAME%" == "" set DIRNAME=.
13
+ set APP_BASE_NAME=%~n0
14
+ set APP_HOME=%DIRNAME%
15
+
16
+ @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17
+ set DEFAULT_JVM_OPTS=
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 Windows variants
50
+
51
+ if not "%OS%" == "Windows_NT" goto win9xME_args
52
+
53
+ :win9xME_args
54
+ @rem Slurp the command line arguments.
55
+ set CMD_LINE_ARGS=
56
+ set _SKIP=2
57
+
58
+ :win9xME_args_slurp
59
+ if "x%~1" == "x" goto execute
60
+
61
+ set CMD_LINE_ARGS=%*
62
+
63
+ :execute
64
+ @rem Setup the command line
65
+
66
+ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67
+
68
+ @rem Execute Gradle
69
+ "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70
+
71
+ :end
72
+ @rem End local scope for the variables with windows NT shell
73
+ if "%ERRORLEVEL%"=="0" goto mainEnd
74
+
75
+ :fail
76
+ rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77
+ rem the _cmd.exe /c_ return code!
78
+ if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79
+ exit /b 1
80
+
81
+ :mainEnd
82
+ if "%OS%"=="Windows_NT" endlocal
83
+
84
+ :omega
@@ -1,56 +1,3 @@
1
- require "nokogiri"
2
-
3
- module Embulk
4
- module Filter
5
-
6
- class StripHtmlTags < FilterPlugin
7
- Plugin.register_filter("strip_html_tags", self)
8
-
9
- def self.transaction(config, in_schema, &control)
10
- task = {
11
- "columns" => config.param("columns", :array, default: []),
12
- }
13
-
14
- out_columns = in_schema
15
-
16
- yield(task, out_columns)
17
- end
18
-
19
- attr_reader :target_columns, :target_fields
20
-
21
- def init
22
- @target_columns = task["columns"]
23
- @target_fields = out_schema.map {|c| @target_columns.include?(c.name) }
24
- end
25
-
26
- def close
27
- end
28
-
29
- def add(page)
30
- page.each do |record|
31
- page_builder.add(fix_record(record))
32
- end
33
- end
34
-
35
- def finish
36
- page_builder.finish
37
- end
38
-
39
- private
40
-
41
- def fix_record(record)
42
- record.zip(target_fields).map do |(value, target)|
43
- if target
44
- strip_tags(value)
45
- else
46
- value
47
- end
48
- end
49
- end
50
-
51
- def strip_tags(str)
52
- Nokogiri::HTML.parse(str).text
53
- end
54
- end
55
- end
56
- end
1
+ Embulk::JavaPlugin.register_filter(
2
+ "strip_html_tags", "org.embulk.filter.strip_html_tags.StripHtmlTagsFilterPlugin",
3
+ File.expand_path('../../../../classpath', __FILE__))
@@ -0,0 +1,101 @@
1
+ package org.embulk.filter.strip_html_tags;
2
+
3
+ import org.embulk.spi.*;
4
+ import org.embulk.filter.strip_html_tags.StripHtmlTagsFilterPlugin.PluginTask;
5
+
6
+ import java.util.List;
7
+
8
+ public class ColumnVisitorImpl implements ColumnVisitor{
9
+
10
+ private final PluginTask task;
11
+ private final Schema inputSchema;
12
+ private final Schema outputSchema;
13
+ private final PageReader pageReader;
14
+ private final PageBuilder pageBuilder;
15
+ private final PlainTextizer plainTextizer;
16
+
17
+ ColumnVisitorImpl(PluginTask task, Schema inputSchema, Schema outputSchema, PageReader pageReader, PageBuilder pageBuilder) {
18
+ this.task = task;
19
+ this.inputSchema = inputSchema;
20
+ this.outputSchema = outputSchema;
21
+ this.pageReader = pageReader;
22
+ this.pageBuilder = pageBuilder;
23
+ this.plainTextizer = new PlainTextizer();
24
+ }
25
+
26
+ @Override
27
+ public void booleanColumn(Column column) {
28
+ if (pageReader.isNull(column)) {
29
+ pageBuilder.setNull(column);
30
+ }
31
+ else {
32
+ pageBuilder.setBoolean(column, pageReader.getBoolean(column));
33
+ }
34
+ }
35
+
36
+ @Override
37
+ public void longColumn(Column column) {
38
+ if (pageReader.isNull(column)) {
39
+ pageBuilder.setNull(column);
40
+ }
41
+ else {
42
+ pageBuilder.setLong(column, pageReader.getLong(column));
43
+ }
44
+ }
45
+
46
+ @Override
47
+ public void doubleColumn(Column column) {
48
+ if (pageReader.isNull(column)) {
49
+ pageBuilder.setNull(column);
50
+ }
51
+ else {
52
+ pageBuilder.setDouble(column, pageReader.getDouble(column));
53
+ }
54
+ }
55
+
56
+ @Override
57
+ public void stringColumn(Column column) {
58
+ if (pageReader.isNull(column)) {
59
+ pageBuilder.setNull(column);
60
+ return;
61
+ }
62
+
63
+ String value = pageReader.getString(column);
64
+ if (isTargetColumn(column)) {
65
+ pageBuilder.setString(column, stripTags(value));
66
+ }
67
+ else {
68
+ pageBuilder.setString(column, value);
69
+ }
70
+ }
71
+
72
+ @Override
73
+ public void timestampColumn(Column column) {
74
+ if (pageReader.isNull(column)) {
75
+ pageBuilder.setNull(column);
76
+ }
77
+ else {
78
+ pageBuilder.setTimestamp(column, pageReader.getTimestamp(column));
79
+ }
80
+ }
81
+
82
+ @Override
83
+ public void jsonColumn(Column column) {
84
+ if (pageReader.isNull(column)) {
85
+ pageBuilder.setNull(column);
86
+ }
87
+ else {
88
+ pageBuilder.setJson(column, pageReader.getJson(column));
89
+ }
90
+ }
91
+
92
+ private boolean isTargetColumn(Column column) {
93
+ List<String> targetColumns = task.getColumns();
94
+ String columnName = column.getName();
95
+ return targetColumns.contains(columnName);
96
+ }
97
+
98
+ private String stripTags(String str) {
99
+ return plainTextizer.execute(str);
100
+ }
101
+ }
@@ -0,0 +1,15 @@
1
+ package org.embulk.filter.strip_html_tags;
2
+
3
+ import org.jsoup.Jsoup;
4
+ import org.jsoup.nodes.Document;
5
+
6
+ public class PlainTextizer {
7
+ public String execute(String str) {
8
+ if (str == null) {
9
+ return null;
10
+ }
11
+
12
+ Document doc = Jsoup.parseBodyFragment(str);
13
+ return doc.body().text();
14
+ }
15
+ }
@@ -0,0 +1,69 @@
1
+ package org.embulk.filter.strip_html_tags;
2
+
3
+ import com.google.common.base.Optional;
4
+
5
+ import org.embulk.config.Config;
6
+ import org.embulk.config.ConfigDefault;
7
+ import org.embulk.config.ConfigDiff;
8
+ import org.embulk.config.ConfigSource;
9
+ import org.embulk.config.Task;
10
+ import org.embulk.config.TaskSource;
11
+ import org.embulk.spi.*;
12
+
13
+ import java.util.List;
14
+
15
+ public class StripHtmlTagsFilterPlugin
16
+ implements FilterPlugin
17
+ {
18
+ public interface PluginTask
19
+ extends Task
20
+ {
21
+ @Config("columns")
22
+ @ConfigDefault("[]")
23
+ public List<String> getColumns();
24
+ }
25
+
26
+ @Override
27
+ public void transaction(ConfigSource config, Schema inputSchema,
28
+ FilterPlugin.Control control)
29
+ {
30
+ PluginTask task = config.loadConfig(PluginTask.class);
31
+
32
+ Schema outputSchema = inputSchema;
33
+
34
+ control.run(task.dump(), outputSchema);
35
+ }
36
+
37
+ @Override
38
+ public PageOutput open(TaskSource taskSource, final Schema inputSchema,
39
+ final Schema outputSchema, final PageOutput output)
40
+ {
41
+ final PluginTask task = taskSource.loadTask(PluginTask.class);
42
+
43
+ return new PageOutput() {
44
+ private PageReader reader = new PageReader(inputSchema);
45
+ private PageBuilder builder = new PageBuilder(Exec.getBufferAllocator(), outputSchema, output);
46
+ private ColumnVisitorImpl visitor = new ColumnVisitorImpl(task, inputSchema, outputSchema, reader, builder);
47
+
48
+ @Override
49
+ public void add(Page page) {
50
+ reader.setPage(page);
51
+
52
+ while (reader.nextRecord()) {
53
+ inputSchema.visitColumns(visitor);
54
+ builder.addRecord();
55
+ }
56
+ }
57
+
58
+ @Override
59
+ public void finish() {
60
+ builder.finish();
61
+ }
62
+
63
+ @Override
64
+ public void close() {
65
+ builder.close();
66
+ }
67
+ };
68
+ }
69
+ }
@@ -0,0 +1,127 @@
1
+ package org.embulk.filter.strip_html_tags;
2
+
3
+ import com.fasterxml.jackson.core.JsonProcessingException;
4
+ import com.fasterxml.jackson.databind.ObjectMapper;
5
+ import com.google.common.base.Throwables;
6
+ import org.embulk.EmbulkTestRuntime;
7
+ import org.embulk.config.ConfigLoader;
8
+ import org.embulk.config.ConfigSource;
9
+ import org.embulk.config.TaskSource;
10
+ import org.embulk.spi.*;
11
+ import org.embulk.spi.util.Pages;
12
+ import org.junit.Assert;
13
+ import org.junit.Rule;
14
+ import org.junit.Test;
15
+
16
+ import static org.embulk.spi.type.Types.*;
17
+ import static org.hamcrest.Matchers.*;
18
+
19
+ import org.embulk.filter.strip_html_tags.StripHtmlTagsFilterPlugin.PluginTask;
20
+
21
+ import java.util.List;
22
+
23
+ public class TestStripHtmlTagsFilterPlugin
24
+ {
25
+ @Rule
26
+ public EmbulkTestRuntime runtime = new EmbulkTestRuntime();
27
+
28
+ @Test
29
+ public void testDefaultConfig() {
30
+ String configYaml = "type: strip_html_tags\n";
31
+ ConfigSource config = getConfigFromYaml(configYaml);
32
+ PluginTask task = config.loadConfig(PluginTask.class);
33
+
34
+ Assert.assertThat(task.getColumns(), is(empty()));
35
+ }
36
+
37
+ @Test
38
+ public void testConfig() {
39
+ String configYaml = ""
40
+ + "type: strip_html_tags\n"
41
+ + "columns:\n"
42
+ + " - foo\n"
43
+ + " - bar\n"
44
+ ;
45
+ ConfigSource config = getConfigFromYaml(configYaml);
46
+ PluginTask task = config.loadConfig(PluginTask.class);
47
+
48
+ Assert.assertThat(task.getColumns(), is(contains("foo", "bar")));
49
+ }
50
+
51
+ @Test
52
+ public void testStringColumns() {
53
+ String configYaml =""
54
+ + "type: strip_html_tags\n"
55
+ + "columns:\n"
56
+ + " - foo\n"
57
+ ;
58
+ ConfigSource config = getConfigFromYaml(configYaml);
59
+
60
+ final Schema inputSchema = Schema.builder()
61
+ .add("foo", STRING)
62
+ .add("bar", STRING)
63
+ .build();
64
+
65
+ final StripHtmlTagsFilterPlugin plugin = new StripHtmlTagsFilterPlugin();
66
+ plugin.transaction(config, inputSchema, new FilterPlugin.Control() {
67
+ @Override
68
+ public void run(TaskSource taskSource, Schema outputSchema) {
69
+ TestPageBuilderReader.MockPageOutput mockPageOutput = new TestPageBuilderReader.MockPageOutput();
70
+ PageOutput pageOutput = plugin.open(taskSource, inputSchema, outputSchema, mockPageOutput);
71
+
72
+ String foo = "<p>test foo</p>";
73
+ String bar = "<div>test bar</div>";
74
+ for (Page page : PageTestUtils.buildPage(runtime.getBufferAllocator(), inputSchema, foo, bar)) {
75
+ pageOutput.add(page);
76
+ }
77
+ pageOutput.finish();
78
+ pageOutput.close();
79
+
80
+ List<Object[]> records = Pages.toObjects(outputSchema, mockPageOutput.pages);
81
+ Object[] record = records.get(0);
82
+ Assert.assertEquals("test foo", record[0]);
83
+ Assert.assertEquals("<div>test bar</div>", record[1]);
84
+ }
85
+ });
86
+ }
87
+
88
+ @Test
89
+ public void testNullColumns() {
90
+ String configYaml =""
91
+ + "type: strip_html_tags\n"
92
+ + "columns:\n"
93
+ + " - foo\n"
94
+ ;
95
+ ConfigSource config = getConfigFromYaml(configYaml);
96
+
97
+ final Schema inputSchema = Schema.builder()
98
+ .add("foo", STRING)
99
+ .add("bar", STRING)
100
+ .build();
101
+
102
+ final StripHtmlTagsFilterPlugin plugin = new StripHtmlTagsFilterPlugin();
103
+ plugin.transaction(config, inputSchema, new FilterPlugin.Control() {
104
+ @Override
105
+ public void run(TaskSource taskSource, Schema outputSchema) {
106
+ TestPageBuilderReader.MockPageOutput mockPageOutput = new TestPageBuilderReader.MockPageOutput();
107
+ PageOutput pageOutput = plugin.open(taskSource, inputSchema, outputSchema, mockPageOutput);
108
+
109
+ for (Page page : PageTestUtils.buildPage(runtime.getBufferAllocator(), inputSchema, null, null)) {
110
+ pageOutput.add(page);
111
+ }
112
+ pageOutput.finish();
113
+ pageOutput.close();
114
+
115
+ List<Object[]> records = Pages.toObjects(outputSchema, mockPageOutput.pages);
116
+ Object[] record = records.get(0);
117
+ Assert.assertNull(record[0]);
118
+ Assert.assertNull(record[1]);
119
+ }
120
+ });
121
+ }
122
+
123
+ private ConfigSource getConfigFromYaml(String yaml) {
124
+ ConfigLoader loader = new ConfigLoader(Exec.getModelManager());
125
+ return loader.fromYamlString(yaml);
126
+ }
127
+ }
metadata CHANGED
@@ -1,33 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-filter-strip_html_tags
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SAWADA Tadashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-28 00:00:00.000000000 Z
11
+ date: 2018-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - "~>"
17
- - !ruby/object:Gem::Version
18
- version: 1.8.0
19
- name: nokogiri
20
- prerelease: false
21
- type: :runtime
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 1.8.0
27
- - !ruby/object:Gem::Dependency
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
16
+ - - '>='
31
17
  - !ruby/object:Gem::Version
32
18
  version: 0.8.30
33
19
  name: embulk
@@ -35,13 +21,13 @@ dependencies:
35
21
  type: :development
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - ">="
24
+ - - '>='
39
25
  - !ruby/object:Gem::Version
40
26
  version: 0.8.30
41
27
  - !ruby/object:Gem::Dependency
42
28
  requirement: !ruby/object:Gem::Requirement
43
29
  requirements:
44
- - - ">="
30
+ - - '>='
45
31
  - !ruby/object:Gem::Version
46
32
  version: 1.10.6
47
33
  name: bundler
@@ -49,13 +35,13 @@ dependencies:
49
35
  type: :development
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - ">="
38
+ - - '>='
53
39
  - !ruby/object:Gem::Version
54
40
  version: 1.10.6
55
41
  - !ruby/object:Gem::Dependency
56
42
  requirement: !ruby/object:Gem::Requirement
57
43
  requirements:
58
- - - ">="
44
+ - - '>='
59
45
  - !ruby/object:Gem::Version
60
46
  version: '10.0'
61
47
  name: rake
@@ -63,7 +49,7 @@ dependencies:
63
49
  type: :development
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - ">="
52
+ - - '>='
67
53
  - !ruby/object:Gem::Version
68
54
  version: '10.0'
69
55
  description: Strip Html Tags
@@ -73,14 +59,24 @@ executables: []
73
59
  extensions: []
74
60
  extra_rdoc_files: []
75
61
  files:
76
- - ".gitignore"
77
- - ".ruby-version"
78
- - Gemfile
62
+ - .gitignore
63
+ - .ruby-version
79
64
  - LICENSE.txt
80
65
  - README.md
81
- - Rakefile
82
- - embulk-filter-strip_html_tags.gemspec
66
+ - build.gradle
67
+ - config/checkstyle/checkstyle.xml
68
+ - config/checkstyle/default.xml
69
+ - gradle/wrapper/gradle-wrapper.jar
70
+ - gradle/wrapper/gradle-wrapper.properties
71
+ - gradlew
72
+ - gradlew.bat
83
73
  - lib/embulk/filter/strip_html_tags.rb
74
+ - src/main/java/org/embulk/filter/strip_html_tags/ColumnVisitorImpl.java
75
+ - src/main/java/org/embulk/filter/strip_html_tags/PlainTextizer.java
76
+ - src/main/java/org/embulk/filter/strip_html_tags/StripHtmlTagsFilterPlugin.java
77
+ - src/test/java/org/embulk/filter/strip_html_tags/TestStripHtmlTagsFilterPlugin.java
78
+ - classpath/embulk-filter-strip_html_tags-0.2.0.jar
79
+ - classpath/jsoup-1.11.2.jar
84
80
  homepage: https://github.com/cesare/embulk-filter-strip_html_tags
85
81
  licenses:
86
82
  - MIT
@@ -91,17 +87,17 @@ require_paths:
91
87
  - lib
92
88
  required_ruby_version: !ruby/object:Gem::Requirement
93
89
  requirements:
94
- - - ">="
90
+ - - '>='
95
91
  - !ruby/object:Gem::Version
96
92
  version: '0'
97
93
  required_rubygems_version: !ruby/object:Gem::Requirement
98
94
  requirements:
99
- - - ">="
95
+ - - '>='
100
96
  - !ruby/object:Gem::Version
101
97
  version: '0'
102
98
  requirements: []
103
99
  rubyforge_project:
104
- rubygems_version: 2.6.6
100
+ rubygems_version: 2.1.9
105
101
  signing_key:
106
102
  specification_version: 4
107
103
  summary: Strip Html Tags filter plugin for Embulk
data/Gemfile DELETED
@@ -1,2 +0,0 @@
1
- source 'https://rubygems.org/'
2
- gemspec
data/Rakefile DELETED
@@ -1,3 +0,0 @@
1
- require "bundler/gem_tasks"
2
-
3
- task default: :build
@@ -1,21 +0,0 @@
1
-
2
- Gem::Specification.new do |spec|
3
- spec.name = "embulk-filter-strip_html_tags"
4
- spec.version = "0.1.0"
5
- spec.authors = ["SAWADA Tadashi"]
6
- spec.summary = "Strip Html Tags filter plugin for Embulk"
7
- spec.description = "Strip Html Tags"
8
- spec.email = ["cesare@mayverse.jp"]
9
- spec.licenses = ["MIT"]
10
- spec.homepage = "https://github.com/cesare/embulk-filter-strip_html_tags"
11
-
12
- spec.files = `git ls-files`.split("\n") + Dir["classpath/*.jar"]
13
- spec.test_files = spec.files.grep(%r{^(test|spec)/})
14
- spec.require_paths = ["lib"]
15
-
16
- spec.add_dependency "nokogiri", ["~> 1.8.0"]
17
-
18
- spec.add_development_dependency 'embulk', ['>= 0.8.30']
19
- spec.add_development_dependency 'bundler', ['>= 1.10.6']
20
- spec.add_development_dependency 'rake', ['>= 10.0']
21
- end