Missed to mention the cause of the problem:
The build process wasn't able to find the TypeSystem.xml type system in order to import it in the generated MainTypeSystem.xml type system.

Best,

Peter

Am 18.06.2015 um 20:10 schrieb Peter Klügl:
Hi,

the Ruta descriptors are built twice in your project. Once in the normal phase and once during testing (don't know why). The classpath of the two builds is different. In the second one, the imported type system can be found in the classpath, but not in the first one. In a normal mvn clean install, the descriptors are not yet built when they should be added to the jar. That's the reason why it works in Eclipse (no clean?), but not for a mvn clean install.

The simplest solution is to extend the descriptor paths so that the imported type system is found without the classpath:

<descriptorPaths>
<descriptorPath>${project.build.directory}/generated-sources/ruta/descriptor</descriptorPath>
<descriptorPath>${basedir}/descriptor</descriptorPath>
</descriptorPaths>

btw, there are several duplicated files in the project, which potentially hide problems in the build process.

Best,

Peter

Am 18.06.2015 um 17:30 schrieb Diego Buoro:
Hi Peter, thanks for the support.

We are now using Java 7, but we are still facing problems. In Eclipse, we've set manually the path where descriptor files are located (target/generated-sources/ruta/descriptor), and therefore it's working. However, when we run mvn clean install, we generate our descriptors files in cogroo-ruta/target/generated-sources/ruta/descriptor/cogroo/ruta but they aren't being copied to .jar file. The errors are in this log file, do you have any idea of why they are happening?

Here is the link to the repository: https://github.com/Fichberg/cogroo4/tree/labXP215_Will

All Best,

Diego






2015-06-17 16:20 GMT-03:00 Peter Klügl <[email protected] <mailto:[email protected]>>:

    Hi,

    UIMA Ruta 2.3.0 and also the maven plugin require Java 7. Thus,
    the maven build process has to use the correct Java version. Just
    wanted to mention it because I had this problem right away.

    The descriptors are not built because the plugin does not find any
    ruta files. The maven plugin is specified in one project while the
    ruta files are located in a different project. The problem is that
    the ruta maven plugin only collects ruta files within the basedir
    of the project -> no files built...

    In the next release, the maven plugin will get another parameter
    for specifying the input files.

    With UIMA Ruta 2.3.0, there are two options: Either you put the
    ruta files in the project with the ruta maven plugin, or you add
    the ruta maven plugin to the project pom with the ruta files.

    Best,

    Peter


    Am 17.06.2015 um 18:30 schrieb Diego Buoro:

        Hi, Peter! We are attempting to create the descriptors based
        on Ruta 2.3,
        but we're out of luck. We've added the lines from the link you
        gave us to
        the pom.xml file and corrected the directory paths to suit our
        project.
        However, when we try to run Maven with Ruta's "generate" goal,
        no files got
        generated on the folders we set. Is the goal supposed to
        generate the files
        and leave them in the folder or does it do something else?

        Here is the link to our altered pom.xml. The plugin section is
        at the end
        of the file:
https://raw.githubusercontent.com/Fichberg/cogroo4/labXP215_Will/cogroo-gc/pom.xml

        Thanks for the help so far. :D

        2015-06-14 9:40 GMT-03:00 Peter Klügl
        <[email protected] <mailto:[email protected]>>:

            Hi,

            the descriptor are always created at compile time.

            In Ruta 2.2.1, yes, you need to create the descriptors in
            the UIMA Ruta
            Workbench and then copy them or make them available in
            some other way. This
            is especially necessary if you declare additional types
            (type system
            descriptor changes) or add some subscript (analysis engine
            descriptor
            changes).

            In Ruta 2.3.0 which was just released, there is a maven
            plugin for
            building the descriptors. Take a look at:
http://uima.apache.org/d/ruta-current/tools.ruta.book.html#d5e3271
            This means that you do not need the UIMA Ruta Workbench
            projects anymore,
            but you can use its development support and descriptor
            building in normal
            maven projects.

            Best,

            Peter


            Am 12.06.2015 um 21:38 schrieb Diego Buoro:

                Hello Peter

                We tried your suggestions and it worked liked a
                charm,thanks :D
                However, we are facing another problem: It seems that
                our application
                isn't
                creating the mainTypesystem and mainEngine files when
                we launch it. We
                don't know whether or not that's is the default
                behavior, but for now we
                are having to create these files in separate project
                and them copy them to
                the application whenever we change the script, which
                is a bad solution.
                Doy you have any suggestions?

                All Best,

                Diego

                2015-06-12 9:19 GMT-03:00 Diego Buoro
                <[email protected] <mailto:[email protected]>>:

                  Hi Peter, Armin

                    Thanks for the observations made, i hope we can
                    finally get working here.
                    We will try the changes in the next few days and
                    then give you a
                    feedback.

                    All Best,

                    Diego



                    2015-06-03 14:14 GMT-03:00 Diego Buoro
                    <[email protected] <mailto:[email protected]>>:

                      Hi Peter, the example we used is the small
                    sentence inside a string at

                        the end of UIMAChecker.java: "Refiro-me à
                        trabalho remunerado.".
                        Based on the Main.ruta we sent you, we
                        expected the output to contain 7
                        "PROBLEM" annotations. This part is working.
                        The problem is when we change the last line of
                        Main.ruta from
                        "cgToken{->PROBLEM};" to "cgToken
                        cgToken{->PROBLEM};"in this case we
                        expected 6 "PROBLEM" annotations: the same
                        ones we had on the first
                        example, excpect for the first one.That's what
                        happens when you run the
                        script on a simple Ruta project, but when we
                        run it in the  Java
                        application we get 0 "PROBLEM" annotations.
                        We think this difference is happening because
                        in the Ruta project we
                        don't use a simple text as input.Instead, we
                        feed it a preprocessed xmi
                        file. On the other hand on the Java
                        application, we do the processing
                        ourselves via the processCas method. It's
                        possible that the processCas
                        method is creating tokens in a way that
                        prevents us from detecting when
                        one
                        is next to the other on the Ruta script.
                        We are sending you the xmi file to use as an
                        example for a simple Ruta
                        project. If there are any other examples you'd
                        like us to send you, just
                        say the word :D

                        Best,

                        Diego

                        2015-06-01 11:15 GMT-03:00 Diego Buoro
<[email protected] <mailto:[email protected]>>:

                          Sorry,please disregard my last answer. The
                        idea wasn't to use the xmi,

                            we are still thinking in a minimal example
                            to provide to you.
                            We will send you in the next few days.

                            2015-06-01 10:37 GMT-03:00 Diego Buoro
                            <[email protected]
<mailto:[email protected]>>:

                              Hi Peter,how are you doing?

                                We were trying to run using the files
                                such as Crase01.xmi and
                                rule_xml_001.xmi.
                                Our goal is trying to run those two
                                more simpler first,and then run
                                with Crase.xmi.

                                About the package declaration, i still
                                need to check what ruta version
                                is.
                                I will be checking this soon.

                                All Best,

                                Diego





                                2015-05-30 0:45 GMT-03:00 Diego Buoro
                                <[email protected]
<mailto:[email protected]>>:

                                  Hi Peter!

No problem, I appreciate your support.

                                    All Best,

                                    Diego

                                    2015-05-27 14:22 GMT-03:00 Diego
                                    Buoro <[email protected]
<mailto:[email protected]>>:

                                      Hi Peter!

                                        We call the script with the
                                        following lines:

                                           URL url =
Resources.getResource("Main.ruta");
                                        String text =
                                        Resources.toString(url,
                                        Charsets.UTF_8);
AnalysisEngineDescription
                                        aeDes =
Ruta.createAnalysisEngineDescription(text,
                                        tsd);
                                        this.ae <http://this.ae> =
UIMAFramework.produceAnalysisEngine(aeDes);

                                        CAS cas = ae.newCAS();
converter.populateCas(sentence.getTextSentence(),
                                        cas);
                                           ae.process(cas);

                                        The populateCAS method is
                                        responsible for translating our
                                        annotations
                                        into RUTA annotations, but it
                                        doesn't set any type priority
                                        explicitly.
                                        We don't know much about type
priorities, the RUTA references we
                                        found say very little about
                                        that.Are they necessary for
                                        doing what
                                        we need?

                                        The file that contains the
                                        above lines is available here:


https://github.com/Fichberg/cogroo4/blob/labXP215_Will/cogroo-gc/src/main/java/org/cogroo/tools/checker/checkers/UIMAChecker.java
                                        The processCAS mehtod is
                                        available here:


https://github.com/Fichberg/cogroo4/blob/labXP215_Will/cogroo-gc/src/main/java/org/cogroo/tools/checker/checkers/uima/UimaCasAdapter.java
                                        The script we are calling is
                                        available here:


https://github.com/Fichberg/cogroo4/blob/labXP215_Will/cogroo-ruta/script/Main.ruta

                                        PS:Yes, We remembered the
                                        semicolons.

                                        Thanks for the help :)



                                        2015-05-26 15:30 GMT-03:00
                                        Diego Buoro
                                        <[email protected]
<mailto:[email protected]>>:

                                          I think i wasn't clear
                                        enough, and i should be more
                                        specific.

                                            I have a type system in
                                            which all words have been
                                            annotated as
                                            Tokens. I am calling a
                                            RUTA script from a java
                                            class, and that
                                            script has
                                            only one rule:
                                            Token Token {-> Problem}

                                            However, with this script,
                                            no Problems are created.
                                            When I try
                                            Token {-> Problem}

                                            I get one problem for each
                                            Token, which is what I
                                            expected. Why
                                            can't I create annotations
                                            using rules with more than
                                            one word?

                                            Thanks




                                            2015-05-26 14:49 GMT-03:00
                                            Diego Buoro
<[email protected]
<mailto:[email protected]>>:

                                              Hello guys,how are you
                                            doing?

                                                I would like to know
                                                once i have called
RUTA from a Java project,
                                                how can i mark
                                                consecutive tokens as
                                                a "Problem" (the name
                                                of my
annotation, in this case)?

                                                Thanks in advice!







Reply via email to