projectStarted org.seasar.cubby:cubby-unit:2.1.0-SNAPSHOT [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Cubby Unit 2.1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.4.1(default-clean) [INFO] [INFO] Deleting /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ cubby-unit --- mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.4.1(default-clean) [TASKS] Scanning folder '/home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit' for files matching the pattern '**/*.java' - excludes: [TASKS] Found 12 files to scan for tasks Found 0 open tasks. [TASKS] Computing warning deltas based on reference build #91 mojoStarted org.codehaus.mojo:cobertura-maven-plugin:2.2(default) [INFO] [INFO] --- cobertura-maven-plugin:2.2:clean (default) @ cubby-unit --- mojoSucceeded org.codehaus.mojo:cobertura-maven-plugin:2.2(default) mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.5(default-resources) [INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ cubby-unit --- [debug] execute contextualize [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.5(default-resources) mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-compile) [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ cubby-unit --- [INFO] Compiling 5 source files to /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/classes mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-compile) mojoStarted org.jvnet:animal-sniffer:1.2(default) [INFO] [INFO] Checking unresolved references to org.jvnet.animal-sniffer:java1.5:1.0 [INFO] --- animal-sniffer:1.2:check (default) @ cubby-unit --- mojoSucceeded org.jvnet:animal-sniffer:1.2(default) mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.5(default-testResources) [INFO] [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ cubby-unit --- [debug] execute contextualize [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.5(default-testResources) mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-testCompile) [INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ cubby-unit --- [INFO] Compiling 7 source files to /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/test-classes mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-testCompile) mojoStarted org.apache.maven.plugins:maven-surefire-plugin:2.10(default-test) [INFO] [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ cubby-unit --- [INFO] Surefire report directory: /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.seasar.cubby.unit.CubbyRunnerTest 01:08:58.719 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=] 01:08:58.734 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=] 01:08:58.812 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 はサービス interface org.seasar.cubby.spi.BeanDescProvider を提供します 01:08:58.825 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 はサービス interface org.seasar.cubby.spi.PathResolverProvider を提供します 01:08:58.831 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 はサービス interface org.seasar.cubby.spi.RequestParserProvider を提供します 01:08:58.837 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 はサービス interface org.seasar.cubby.spi.ConverterProvider を提供します 01:08:58.838 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 はサービス interface org.seasar.cubby.spi.ContainerProvider を提供します 01:08:59.019 [main] DEBUG org.seasar.cubby.filter.CubbyFilter - /mock/execute へのリクエストを受け付けました 01:08:59.027 [main] DEBUG o.s.c.s.i.AbstractRequestParserProvider - org.seasar.cubby.controller.impl.DefaultRequestParser@79de256f を用いてリクエストを解析します 01:08:59.048 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - /context/mock/execute の処理を開始します 01:08:59.049 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - アクションメソッド(public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute())を実行します 01:08:59.127 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@2efb56b1 を破棄します 01:08:59.129 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@2efb56b1 を破棄しました 01:08:59.131 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 を破棄します 01:08:59.136 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@79a5f739 を破棄しました 01:08:59.145 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=] 01:08:59.146 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=] 01:08:59.147 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 はサービス interface org.seasar.cubby.spi.BeanDescProvider を提供します 01:08:59.148 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 はサービス interface org.seasar.cubby.spi.PathResolverProvider を提供します 01:08:59.149 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 はサービス interface org.seasar.cubby.spi.RequestParserProvider を提供します 01:08:59.150 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 はサービス interface org.seasar.cubby.spi.ConverterProvider を提供します 01:08:59.150 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 はサービス interface org.seasar.cubby.spi.ContainerProvider を提供します 01:08:59.174 [main] DEBUG org.seasar.cubby.filter.CubbyFilter - /mock/execute へのリクエストを受け付けました 01:08:59.181 [main] DEBUG o.s.c.s.i.AbstractRequestParserProvider - org.seasar.cubby.controller.impl.DefaultRequestParser@220ca470 を用いてリクエストを解析します 01:08:59.186 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - /context/mock/execute の処理を開始します 01:08:59.193 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - アクションメソッド(public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute())を実行します 01:08:59.206 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 を破棄します 01:08:59.207 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@2c96cf11 を破棄しました 01:08:59.210 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@7c29e357 を破棄します 01:08:59.210 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@7c29e357 を破棄しました 01:08:59.218 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=] 01:08:59.219 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=] 01:08:59.220 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 はサービス interface org.seasar.cubby.spi.BeanDescProvider を提供します 01:08:59.221 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 はサービス interface org.seasar.cubby.spi.PathResolverProvider を提供します 01:08:59.222 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 はサービス interface org.seasar.cubby.spi.RequestParserProvider を提供します 01:08:59.223 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 はサービス interface org.seasar.cubby.spi.ConverterProvider を提供します 01:08:59.223 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 はサービス interface org.seasar.cubby.spi.ContainerProvider を提供します 01:08:59.226 [main] DEBUG org.seasar.cubby.filter.CubbyFilter - /mock/execute へのリクエストを受け付けました 01:08:59.228 [main] DEBUG o.s.c.s.i.AbstractRequestParserProvider - org.seasar.cubby.controller.impl.DefaultRequestParser@7ffc6e42 を用いてリクエストを解析します 01:08:59.229 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - /context/mock/execute の処理を開始します 01:08:59.229 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - アクションメソッド(public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute())を実行します 01:08:59.232 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 を破棄します 01:08:59.233 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@6bffc686 を破棄しました 01:08:59.233 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@1f8b81e3 を破棄します 01:08:59.234 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@1f8b81e3 を破棄しました 01:08:59.236 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=] 01:08:59.237 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=] 01:08:59.238 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 はサービス interface org.seasar.cubby.spi.BeanDescProvider を提供します 01:08:59.239 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 はサービス interface org.seasar.cubby.spi.PathResolverProvider を提供します 01:08:59.240 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 はサービス interface org.seasar.cubby.spi.RequestParserProvider を提供します 01:08:59.240 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 はサービス interface org.seasar.cubby.spi.ConverterProvider を提供します 01:08:59.241 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 はサービス interface org.seasar.cubby.spi.ContainerProvider を提供します 01:08:59.244 [main] DEBUG org.seasar.cubby.filter.CubbyFilter - /mock/execute へのリクエストを受け付けました 01:08:59.246 [main] DEBUG o.s.c.s.i.AbstractRequestParserProvider - org.seasar.cubby.controller.impl.DefaultRequestParser@5cac6a45 を用いてリクエストを解析します 01:08:59.247 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - /context/mock/execute の処理を開始します 01:08:59.248 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - アクションメソッド(public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerTest$MockAction.execute())を実行します 01:08:59.251 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@57d2fc36 を破棄します 01:08:59.252 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@57d2fc36 を破棄しました 01:08:59.252 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 を破棄します 01:08:59.253 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@15aaf0b3 を破棄しました Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.908 sec Running org.seasar.cubby.unit.CubbyAssertTest null expected:<class org.seasar.cubby.action.Redirect> but was:<class org.seasar.cubby.action.Forward> null expected:<aaa/[ccc]> but was:<aaa/[bbb]> null expected:<class org.seasar.cubby.action.Forward> but was:<class org.seasar.cubby.action.Redirect> null expected:<aaa/[ccc]> but was:<aaa/[bbb]> Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec Running org.seasar.cubby.unit.CubbyRunnerFilterTest 01:08:59.277 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerFilterTest$MockAction.execute(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=] 01:08:59.278 [main] DEBUG o.s.c.routing.impl.PathResolverImpl - アクションメソッドを登録します [regex=^/mock/execute$,actionMethod=public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerFilterTest$MockAction.execute(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=] 01:08:59.280 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb はサービス interface org.seasar.cubby.spi.BeanDescProvider を提供します 01:08:59.281 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb はサービス interface org.seasar.cubby.spi.PathResolverProvider を提供します 01:08:59.282 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb はサービス interface org.seasar.cubby.spi.RequestParserProvider を提供します 01:08:59.283 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb はサービス interface org.seasar.cubby.spi.ConverterProvider を提供します 01:08:59.284 [main] INFO o.seasar.cubby.plugin.PluginRegistry - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb はサービス interface org.seasar.cubby.spi.ContainerProvider を提供します 01:08:59.286 [main] DEBUG org.seasar.cubby.filter.CubbyFilter - /mock/execute へのリクエストを受け付けました 01:08:59.288 [main] DEBUG o.s.c.s.i.AbstractRequestParserProvider - org.seasar.cubby.controller.impl.DefaultRequestParser@6ca084f8 を用いてリクエストを解析します 01:08:59.289 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - /context/mock/execute の処理を開始します 01:08:59.290 [main] DEBUG o.s.c.i.c.impl.ActionProcessorImpl - アクションメソッド(public org.seasar.cubby.action.ActionResult org.seasar.cubby.unit.CubbyRunnerFilterTest$MockAction.execute())を実行します 01:08:59.293 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb を破棄します 01:08:59.294 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.plugins.BinderPlugin@17fe1feb を破棄しました 01:08:59.295 [main] DEBUG o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@335856a5 を破棄します 01:08:59.296 [main] INFO o.s.c.internal.plugin.PluginManager - プラグイン org.seasar.cubby.unit.CubbyRunner$CubbyRunnerPlugin@335856a5 を破棄しました Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec Results : Tests run: 7, Failures: 0, Errors: 0, Skipped: 0 mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.10(default-test) [JENKINS] テスト結果の記録 mojoStarted org.apache.maven.plugins:maven-jar-plugin:2.3.2(default-jar) [INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ cubby-unit --- [INFO] Building jar: /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/cubby-unit-2.1.0-SNAPSHOT.jar mojoSucceeded org.apache.maven.plugins:maven-jar-plugin:2.3.2(default-jar) 2013/01/03 1:09:00 hudson.maven.ExecutedMojo <init> 警告: Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo mojoStarted org.apache.maven.plugins:maven-source-plugin:2.2.1(source-jar) [INFO] [INFO] --- maven-source-plugin:2.2.1:jar (source-jar) @ cubby-unit --- [INFO] Building jar: /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/cubby-unit-2.1.0-SNAPSHOT-sources.jar mojoSucceeded org.apache.maven.plugins:maven-source-plugin:2.2.1(source-jar) mojoStarted org.apache.maven.plugins:maven-install-plugin:2.3.1(default-install)[INFO] Installing /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/cubby-unit-2.1.0-SNAPSHOT.jar to /home/services/jenkins/.m2/repository/org/seasar/cubby/cubby-unit/2.1.0-SNAPSHOT/cubby-unit-2.1.0-SNAPSHOT.jar [INFO] Installing /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/pom.xml to /home/services/jenkins/.m2/repository/org/seasar/cubby/cubby-unit/2.1.0-SNAPSHOT/cubby-unit-2.1.0-SNAPSHOT.pom [INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ cubby-unit --- [INFO] Installing /home/services/jenkins/jobs/cubby-trunk/workspace/cubby-project/cubby-unit/target/cubby-unit-2.1.0-SNAPSHOT-sources.jar to /home/services/jenkins/.m2/repository/org/seasar/cubby/cubby-unit/2.1.0-SNAPSHOT/cubby-unit-2.1.0-SNAPSHOT-sources.jar mojoSucceeded org.apache.maven.plugins:maven-install-plugin:2.3.1(default-install) projectSucceeded org.seasar.cubby:cubby-unit:2.1.0-SNAPSHOT