I found that the latest ASM or more likely the now Java 11
      Equinox broke the @NonNull test in the OCL CG that had stuck at
      ASM5 initialization.
    I therefore replaced the init by a reflective scan to discover
      what the prevailing latest version of ASM is. (OCL mindlessly uses
      whatever Xtext / the platform provides.)
        private static int ASM_VERSION = Opcodes.ASM5;        //
      Default to first Java 8 version
      
          static {
              try {
                  for (int i = 6; true; i++) {                // Loop
      for as many versions are available
                      Field asmField =
      org.objectweb.asm.Opcodes.class.getField("ASM" + i);
                      ASM_VERSION = asmField.getInt(null);
                  }
              } catch (Throwable exception) {
              }
          }
    
    
      
      The main reason we use a "fixed" asm version is the habit of
        asm in the past dropping "EXPERMENTAL" constants for newer java
        versions
        and thus code that we might compile against asm 9.x wont run
        with asm 9.x+1 anymore
        so if we use a strict range we dont have to pay extra extra
        attention about the (NOT)use of the constants that can be
        deleted later
      
      Am 06.05.22 um 11:39 schrieb Ed
        Merks:
      
      
        
        Jonah,
        I suspect it's okay, but it's definitely a bit confusing.  
        
        I believe the eclipse/plugins/org.objectweb.asm_9.3.0.jar is
          present because it hasn't been garbage collected yet.  As your
          console indicates, only the Orbit version is resolved and the
          About dialog shows that too:
        
        
        We see here too that the direct-from-maven bundles generally
          have poor provider/name information.
        
        These are the org.objectweb.asm.* bundles in the latest
          2022-06/202205061000, i.e., a bunch of duplicate 9.2.0
          versions, but for 9.3.0, only the Orbit version of
          org.objectweb.asm along with the platform's version of
          org.objectweb.asm.tree.
        
        
        Why are these all there in the first place?  
        
        This view shows each duplicate org.objectweb.asm.* with
          nested capabilities filtered to those to which a requirement
          is resolved that is exclusively resolved only to that specific
          IU's capability.
        
        So we can see that org.objectweb.asm.tree is present only
          because PDE requires it.  We can see that Xtext and Platform
          require the 9.3 version and while the Eclipse does not
          preclude a 9.4 version, Xtext's bundle requirements do exclude
          9.4.  I wonder if there is a good reason for to exclude 9.4?
        
        We can also see that ECF, EclEmma, and Linux Tools will need
          to take action to eliminate the 9.2 versions.  I wonder if
          they are paying attention?
        
        It would seem better to me if the Platform used the Orbit
          versions to keep things more consistent...
        
        Regards,
          Ed
          
        
        On 06.05.2022 02:08, Jonah Graham
          wrote:
        
        
          
          
            
            
            
              
              
                
                  
                  
                  
                    OK - in that case we have some specific SimRel
                      testing to do:
                    
                    
                    1- Which bundles ends up SimRel - or do both
                      end up there. I assume that it will be the Orbit
                      one because it is more recent as far as p2 is
                      concerned (not sure, just best guess).
                   
                 
              
              
              
              In 4.24 SDK there is the Maven version of asm and
                asm.tree.
              In 2022-06 M2 p2 repo there is Maven version of
                asm.tree (from platform p2 repo) and Orbit version of
                asm (from Xtext's p2 repo)
               
              
                
                  
                    2- Starting from the SDK, does installing
                      features from SimRel cause both to be
                      installed, and if so, are both resolved.
                   
                 
              
              
              
              Starting with M2 SDK, installing Xtext SDK from
                2022-06 M2 simrel causes asm.tree from Orbit to be
                installed:
              
              
              osgi> ss org.objectweb.asm
                  "Framework is launched."
                  
                  
                  id State       Bundle
                  283 RESOLVED    org.objectweb.asm.tree_9.3.0
                  374 RESOLVED    org.objectweb.asm_9.3.0.v20220409-0157
              
               
              Both versions of asm are in my plugins directory
                after installing xtext:
              
              
              $ ll eclipse/plugins/*asm*
                  -rw-r--r-- 1 jonah jonah 122176 Apr 28 19:00
                  eclipse/plugins/org.objectweb.asm_9.3.0.jar
                  -rw-rw-r-- 1 jonah jonah 136049 May  5 19:57
                  eclipse/plugins/org.objectweb.asm_9.3.0.v20220409-0157.jar
                  -rw-r--r-- 1 jonah jonah  52669 Apr 28 19:00
                  eclipse/plugins/org.objectweb.asm.tree_9.3.0.jar
                
              
              So is that OK? 
              
             
           
          
          
          _______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
        
        
        
        _______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
      
      
      Vorstand/Board: Jens Wagener (Vors./chairman), Dr. Stephan
        Eberle, Abdelghani El-Kacimi, Wolfgang Neuhaus, Franz-Josef
        Schuermann
      Aufsichtsrat/Supervisory Board: Michael Neuhaus
        (Vors./chairman), Harald Goertz, Eric Swehla
      Sitz der Gesellschaft/Registered Office: Am Brambusch 15-24,
        44536 Lünen (Germany)
      Registergericht/Registry Court: Amtsgericht Dortmund | HRB
        20621
      
      
      _______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev