uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Klügl <peter.klu...@averbis.com>
Subject Re: [VOTE] Release UIMA Ruta 2.7.0 RC2
Date Tue, 12 Feb 2019 16:59:41 GMT
Hi,


Am 12.02.2019 um 17:13 schrieb Marshall Schor:
> a few comments on the comments:
>
> re: Catch blocks - multi-catches.  Recently Joern submitted a big patch for
> something similar:
> try with resources.
>
> I think he did this using some refactoring tool, perhaps part of Intellij Idea
> framework.
>
> Using tools is usually better than doing things by hand :-)  (more reliable)


Yes, I have to reread Jörn comments and have to take a look at IntelliJ
IDEA...


>
> ------------
>
> re: need to install UIMA plugins first. 
>
> I typically don't do that! 
>
> Instead I tell Eclipse where to find the uima plugins, by going to the "Manage"
> button on the top level install new software panel, and just adding the main
> UIMA site (https://www.apache.org/dist/uima/eclipse-update-site/uima ). 
> This has the effect of enabling the Ruta install to fetch just those OSGi
> bundles it depends on.
>
> Of course, it's also a good test to first install the UIMA plugins...


Ah yes. I just wanted to point out that this situation will not occur
when the sub update site is released.


>
> ===========
>
> Re: "This is normal behavior since you most likely did not install the IDE
> extensions Eclipse plugins for these language elements."
>
> Is there a reason these extensions are not automatically installed with
> everything else? 
> It's nice to be able to eliminate user's encounters with error situations they
> would not expect.


Yes, it should not be installed with the other bundles in my opinion.
It's just an additional example how one could create such a plugin. It
does not contain reasonable functionality that would improve the system.


> ===========
>
> Re: whether or not to release anyways. 
> I know all releases still have bugs. 
> The main reasons to do another RC would be (in my opinion)
>   - if these issues would likely "hit" users of Ruta, and therefore lead to
> perhaps a somewhat negative perception about "quality" and
>   - if fixing (most of) them would not be a big effort.
>
> Peter, how would you assess these? 


It's hard to objectively judge that.

How many users had a look at the example projects at all? I would bet
that no users here (Averbis) know about them. I would not change
anything at the example projects for the next rc.

The Java 11 issue makes me think, but I would rather postpone that to
the next release as I do not have the feeling that I have a complete
overview of the problems yet.

I would not drop the rc because of the refactoring for code quality.
When I start in that direction, I don't know long that will postpone the
rc because there will always be another code fragment that could be
improved.

It could be that some remaining open issues are more important to
specific users and should also be resolved for this release.


Here's completely personal and subjective perspective:

Comparing the advantages of using this rc in contrast to waiting a bit
longer for it for additional improvements, is in no relation at all. The
rc provides many bug fixes and features that considerably improve the
system. Just today, I had to rewrite rules because of a really nasty
bug. And yesterday, I had to write inferior rules because of a missing
feature. The improvements of another rc provide no real advantages for
me right now personally.


>
> Of course, doing another RC means another cycle of testing,
> but by comparing (diff-ing) with this RC, the review might go faster...


I can do another RC, no problem. I think we just need a decision :-)


Peter


>
> -Marshall
>
> On 2/10/2019 4:20 PM, Peter Klügl wrote:
>> Hi,
>>
>>
>> thank you for the extensive review :-)
>>
>>
>> Comments below...
>>
>>
>> Am 09.02.2019 um 00:49 schrieb Richard Eckart de Castilho:
>>> Trying to build with Java "11.0.1" 2018-10-16 LTS...
>>>
>>>   Result:   Fails when japicmp-maven-plugin is invoked
>>>   Severity: not a blocker
>>>   Comment:  Consider configuring the Maven enforcer plugin such that
>>>             it checks that a Java 8 is being used to compile - or -
>>>             fix the build by copying the required configurations from
>>>             the UIMA core framework build. Dependency on Java 8 not
>>>             mentioned in the README file in the "Building from the
>>>             Source Distribution" section
>> Yes, nothing happended yet towards Java 11.
>>
>>
>>> Trying to build with Java "1.8.0_181"...
>>>
>>>   Result:   Build successful
>>>
>>> Downloaded source ZIP
>>>
>>> Built ruta-maven-example
>>>
>>>   Result:   Build successful
>>>
>>> Built ruta-ep-example-extensions
>>>
>>>   Result:   Build successful
>>>
>>> Check ruta-tutorial-GermanNovels "examples" project 
>>>
>>>   Result:   contains only latex source code
>>>   Severity: not a blocker
>>>   Comment:  It would be more useful if a pre-compile PDF would 
>>>             be included in the repo, e.g. in the "GermanNovels" examples
>>>             folder. Having the latex sources under the examples folder seems
odd.
>> I wonder if this tutorial caused more problems than it helped. I am
>> really thinking about removing it...
>>
>> It does not present current best practices.
>>
>>
>>> Checking DEPENDENCIES file
>>>
>>>   Result:   No issue found
>>>
>>> Checking README file
>>>
>>>   Result:   ok
>>>   Comment:  The README file mentions the uimaFIT JCasGenPomFriendly
>>>             which doesn't exist anymore since quite some time.
>>>             Empty line missing before "mvn clean install"
>> Yep, I'll remove that.
>>
>>
>>> Checking ruta-2.7.0-source-release.zip.sha512
>>>
>>>   Result:   ok
>>>
>>> Spot checking code changes
>>>
>>>   Result:   ok
>>>   Comment:  Many catch blocks could be consolidated using Java 8 multi-catches.
>>>             Ample opportunities for cleaner code up using lambdas.
>> Oh yes.
>>
>>
>>>             The language syntax documentation says e.g. `("<-" "{" SimpleStatement+
"}")*`
>>>             but shouldn't that be a `+` in the end (i.e. 1-or-more)?
>> This is the gammar rule for inlined rules as condition, right? The star
>> quantifier is correct, the inlined rule block is optional.
>>
>>
>>>             Some unit test methods declare excessive lists of thrown exceptions.
This
>>>             can be simplified by just declaring `throws Exception` on the unit
test
>>>             method. Doing so on @Test methods is not harmful or bad style.
>> I did a small refactoring with the effect that I added another
>> exception. I was actually thinking about replacing them, but I was just
>> too lazy.
>>
>>
>> I normally try to improve the code when I touch it. Maybe I will find
>> some time to improve it overall and use some more up to date Java stuff.
>>
>>
>>> Installed Ruta from update site into a freshly downloaded Eclipse
>>>
>>>   Result:   ok
>>>   Comment:  needed to install UIMA Eclipse plugins first
>> This is only due to the RC update site which does not contain the other
>> UIMA bundles.
>>
>>
>>> Imported example projects into Eclipse
>>>
>>>   Result:   errors
>>>   Comment:  I pointed "Import -> Existing Projects" at the examples folder
>>>             contained in the source ZIP. Several projects are imported.
>>>             The "Extensions Example" and "GermanNovels" projects have errors.
>>>             "GermanNovels" is a Maven project, but is not imported as such.
>>>             Even when importing it via "Import -> Existing Maven Projects",

>>>             it has errors.
>>>
>>>             The "ruta-maven-example" fails (I run Eclipse on Java 11):
>>>
>>> Execution descriptors of goal org.apache.uima:ruta-maven-plugin:2.7.0:generate
failed: Failed to read candidate component class: URL [jar:file:/Users/bluefire/.m2/repository/org/apache/uima/ruta-core/2.7.0/ruta-core-2.7.0.jar!/org/apache/uima/ruta/resource/XMLEventHandler.class];
nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to
parse class file - probably due to a new Java class file version that isn't supported yet:
class path resource [org/xml/sax/helpers/DefaultHandler.class]; nested exception is java.lang.IllegalArgumentException
(org.apache.uima:ruta-maven-plugin:2.7.0:generate:descriptors:process-classes)
>>>
>>>             It seems as if an old version of ASM is used to analyze classes from
the Java 11 JDK (which ASM does not understand yet).
>> (builds with Java 8)
>>
>>
>>>             The "ruta-example-german-novels" fails with:
>>>
>>>             error: Feature "language" is not defined for type "de.tudarmstadt.ukp.dkpro.core.api.segmentation.type.Document".
>>>
>>>             I guess that should be "de.tudarmstadt.ukp.dkpro.core.api.metadata.type.DocumentMetaData"?
>> This example project is broken:
>> https://issues.apache.org/jira/browse/UIMA-4954
>>
>> The error could be a false postive (bug in the editor, could work
>> anyway). It should actually be resolved to DocumentAnnotation.
>>
>>
>>>             The "ExtensionsExample" fails with several messages:
>>>
>>>             - error: Action "ExampleAction" is not defined.
>>>             - error: Condition "" is not defined.
>>>             - Mismatched Input:  : }
>>>             - Mismatched Input: Expecting "SEMI" but found "{".
>>>             - Type "REVERSE " not defined in this script/block!
>> This is normal behavior since you most likely did not install the IDE
>> extensions Eclipse plugins for these language elements. This project
>> just provides a test case, if someone wants to test a different project
>> (ruta-ep-example-extensions). Marshall had the same problem several
>> reviews ago IIRC.
>>
>>
>>> I think it would be a good idea to update the examples and ensure they work?
>> In my opinion, the example projects are not intended to be ready to use
>> projects but rather examples in a documentary way how one could do
>> something in that direction, e.g. set up a maven build for a ruta
>> project. Ignoring the German Novels example due to the open ticket for
>> it, it comes down to the build problems with Java 11.
>>
>>
>> It would be ok for me to release rc2 and mention the build problems in
>> the announce mail. I already created a ticket for it, and the user on
>> Stackoverfow was also able to resolve his/her ASM problem.
>>
>>
>> What do you think?
>>
>>
>> Best,
>>
>>
>> Peter
>>
>>
>>> Cheers,
>>>
>>> -- Richard
>>>
>>>
-- 
Dr. Peter Klügl
R&D Text Mining/Machine Learning

Averbis GmbH
Tennenbacher Str. 11
79106 Freiburg
Germany

Fon: +49 761 708 394 0
Fax: +49 761 708 394 10
Email: peter.kluegl@averbis.com
Web: https://averbis.com

Headquarters: Freiburg im Breisgau
Register Court: Amtsgericht Freiburg im Breisgau, HRB 701080
Managing Directors: Dr. med. Philipp Daumke, Dr. Kornél Markó


Mime
View raw message