Task #3321

Setup, macosx, Tycho build

Added by Matthieu Decorde 2 months ago. Updated about 1 month ago.

Status:New Start date:01/11/2023
Priority:High Due date:
Assignee:- % Done:


Category:Setup Spent time: -
Target version:TXM 0.8.3


To fix the current mac os x monterey+ display bug, we need to upgrade eclipse to several versions. The Groovy plugin is not working correctly with the last Eclipse version (2022-12) so we'll use the 2022-09 build

Since Eclipse 4.6 (TXM-0.8.2 use eclipse 4.9), the PDE build (used since for TXM 0.8.2) is no more used to build Eclipse: https://projects.eclipse.org/projects/eclipse/releases/4.6.0/review and build errors appears more often.

The current way is to use Tycho: https://wiki.eclipse.org/A_Brief_Overview_of_Building_at_Eclipse#Preferred_way_of_doing_multi-platform_builds

  • Eclipse RCP 2022-09 works with Java 11+ -> TXM libraries need to be updated
  • Tycho will ensure better build and has more build tests -> e.g it does not allow any cycle in the plugins dependencies
  • use the Tycho polyglot extension to avoid maintaining Eclipse&Tycho build configuration files -> the Eclipse configuration files contains all the information
New bugs since migration to Eclipse&Java:
  • CQP annotation: the JPA tables are not built
    janv. 11, 2023 8:42:08 AM org.hsqldb.persist.Logger logInfoEvent
    INFOS: Database closed
    java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
    Exception Description: Problem compiling [SELECT annot FROM Annotation AS annot]. 
    [18, 28] The abstract schema type 'Annotation' is unknown.
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1746)
        at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1767)
        at org.txm.annotation.kr.core.storage.temporary.TemporaryAnnotationManager.getAnnotations(TemporaryAnnotationManager.java:273)
        at org.txm.annotation.kr.core.AnnotationManager.initialize(AnnotationManager.java:404)
        at org.txm.annotation.kr.core.KRAnnotationEngine.getAnnotationManager(KRAnnotationEngine.java:63)
        at org.txm.annotation.kr.core.KRAnnotationEngine.getAnnotationManager(KRAnnotationEngine.java:49)
  • The surrogate cleaning step fails in the Cleanfile class:
        def static surrogate_punct = "[\\p{P}&&[^\\u0001-\\uFFFF]]" 
        def static surrogate_punct_reg = /$surrogate_punct/
        def static SURROGATE = "_" 
        def static SURROGATE_PUNCT = "☒" 
        def str = "..." 
        str = str.replaceAll(surrogate_reg, SURROGATE); // replace all surrogate chars
        str = str.replaceAll(surrogate_punct_reg, SURROGATE_PUNCT); // replace all surrogate punct chars
  • Tycho found a dependency cycle between the org.txm.ahc.feature and the org.txm.annotation.feature
    • fixed the org.txm.rcp.feature was including features also included in the product


#1 Updated by Matthieu Decorde 2 months ago

  • Priority changed from Normal to High

#2 Updated by Matthieu Decorde 2 months ago

  • Description updated (diff)

#3 Updated by Matthieu Decorde about 1 month ago

  • Target version changed from TXM 0.8.2 to TXM 0.8.3

Also available in: Atom PDF