<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/</id><updated>2020-02-27T15:01:04.593000Z</updated><subtitle>Recent posts to How to read effective version of libraries?</subtitle><entry><title>How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/?limit=25#d288" rel="alternate"/><published>2020-02-27T15:01:04.593000Z</published><updated>2020-02-27T15:01:04.593000Z</updated><author><name>torsknod</name><uri>https://forge.codesys.com/u/torsknod/</uri></author><id>https://forge.codesys.comb7e7676b205fc044336a79415e059ce267f93820</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;M.Keller hat geschrieben:&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;proj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;projects&lt;/span&gt;.&lt;span class="nv"&gt;primary&lt;/span&gt;
&lt;span class="nv"&gt;objects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;proj&lt;/span&gt;.&lt;span class="nv"&gt;get_children&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;recursive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;True&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;objects&lt;/span&gt;:
   &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt;.&lt;span class="nv"&gt;is_libman&lt;/span&gt;:
      &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;iter&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;candidate&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;:
         &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;is_placeholder&lt;/span&gt;:
            &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;placeholder: %s: %s =&amp;gt; %s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;name&lt;/span&gt;, &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;default_resolution&lt;/span&gt;, &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;effective_resolution&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
         &lt;span class="nv"&gt;elif&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;is_managed&lt;/span&gt;:               
            &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;library: %s: %s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;name&lt;/span&gt;, &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;managed_library&lt;/span&gt;.&lt;span class="nv"&gt;version&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
         &lt;span class="k"&gt;else&lt;/span&gt;:               
            &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;library: &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;name&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;BTW: Dies ist ein englisches Forum. Das nächste mal bitte in Englisch. Danke.&lt;/p&gt;
&lt;p&gt;Thanks for the fast answer. I have edited my post to be in english. I have no clue why I have answered in german.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/?limit=25#7bc4" rel="alternate"/><published>2020-02-27T15:01:02.843000Z</published><updated>2020-02-27T15:01:02.843000Z</updated><author><name>mkeller</name><uri>https://forge.codesys.com/u/mkeller/</uri></author><id>https://forge.codesys.com9291809f6ee73479e85994e9c7d35205c1a79510</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi torsknod.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;torsknod hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Gibt es hierzu etwas neues? Auf JIRA habe ich leider /bisher) keinen Zugriff.&lt;br/&gt;
"Notfalls" würde ich über das Parsen eines Exports arbeiten. Da dies umständlich ist, möchte ich es gerne vermeiden.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Der Jira wurde mit CODESYS V3.5 SP5 umgesetzt.&lt;/p&gt;
&lt;p&gt;Ich habe mal schnell was zusammengeschrieben:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;proj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;projects&lt;/span&gt;.&lt;span class="nv"&gt;primary&lt;/span&gt;
&lt;span class="nv"&gt;objects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;proj&lt;/span&gt;.&lt;span class="nv"&gt;get_children&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;recursive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;True&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;objects&lt;/span&gt;:
   &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt;.&lt;span class="nv"&gt;is_libman&lt;/span&gt;:
      &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;iter&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;candidate&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;:
         &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;is_placeholder&lt;/span&gt;:
            &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;placeholder: %s: %s =&amp;gt; %s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;name&lt;/span&gt;, &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;default_resolution&lt;/span&gt;, &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;effective_resolution&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
         &lt;span class="nv"&gt;elif&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;is_managed&lt;/span&gt;:               
            &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;library: %s: %s&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;name&lt;/span&gt;, &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;managed_library&lt;/span&gt;.&lt;span class="nv"&gt;version&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
         &lt;span class="k"&gt;else&lt;/span&gt;:               
            &lt;span class="nv"&gt;print&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;library: &lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nv"&gt;libref&lt;/span&gt;.&lt;span class="nv"&gt;name&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;BTW: Dies ist ein englisches Forum. Das nächste mal bitte in Englisch. Danke.&lt;/p&gt;
&lt;p&gt;BR&lt;br/&gt;
Martin&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/?limit=25#e6de" rel="alternate"/><published>2020-02-27T15:01:02.209000Z</published><updated>2020-02-27T15:01:02.209000Z</updated><author><name>torsknod</name><uri>https://forge.codesys.com/u/torsknod/</uri></author><id>https://forge.codesys.comba3af2225bd1faf61ffc7e13e8bde55f26fe0676</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;M.Schaber hat geschrieben:&lt;/strong&gt;&lt;br/&gt;
Currently, the effective version of a library is not readable via script.&lt;br/&gt;
I created the improvement &lt;a class="" href="http://jira.3s-software.com/browse/CDS-30948" rel="nofollow"&gt;CDS-30948&lt;/a&gt; in our jira database.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Is there an update to this improvement request? (So far) I have no access to jira.&lt;br/&gt;
As fallback solution, I would parse an export. As this is cumbersome, I would like avoid this.&lt;/p&gt;
&lt;p&gt;Regards  and Thanks&lt;br/&gt;
     Torsten Knodt&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/?limit=25#039f" rel="alternate"/><published>2020-02-27T15:01:01.575000Z</published><updated>2020-02-27T15:01:01.575000Z</updated><author><name>Frank Jepsen</name><uri>https://forge.codesys.com/u/frank-jepsen/</uri></author><id>https://forge.codesys.com610b799e3aa29ef6615a6d8ad153d1d8d50adfda</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Markus,&lt;/p&gt;
&lt;p&gt;Ok. Thanks for adding it to your Jira. &lt;/p&gt;
&lt;p&gt;Best regards,&lt;br/&gt;
Frank&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/?limit=25#c8ad" rel="alternate"/><published>2020-02-27T15:00:59.843000Z</published><updated>2020-02-27T15:00:59.843000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.comd9cd738deb13e6050798b3fa8610008540784b3a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; M.Schaber&lt;/p&gt;
&lt;p&gt;Hi, Frank,&lt;/p&gt;
&lt;p&gt;Currently, the effective version of a library is not readable via script.&lt;/p&gt;
&lt;p&gt;I created the improvement &lt;a class="" href="http://jira.3s-software.com/browse/CDS-30948" rel="nofollow"&gt;CDS-30948&lt;/a&gt; in our jira database.&lt;/p&gt;
&lt;p&gt;HTH,&lt;br/&gt;
Markus&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>How to read effective version of libraries?</title><link href="https://forge.codesys.com/forge/talk/Engineering/thread/5d50969d4f/?limit=25#b523" rel="alternate"/><published>2020-02-27T15:00:59.205000Z</published><updated>2020-02-27T15:00:59.205000Z</updated><author><name>Frank Jepsen</name><uri>https://forge.codesys.com/u/frank-jepsen/</uri></author><id>https://forge.codesys.coma717b53b3295def76b4e3a412d97aafc3333dfca</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;First; I know I ask a lot in here, but I hope it is okay.  After all you can just see it as interest in your product. &lt;/p&gt;
&lt;p&gt;I am making a script to automatically open a CoDeSys project and compile it. I would like to write the referenced libraries to a log file to be able to track exactly what was build.&lt;/p&gt;
&lt;p&gt;My first test includes just printing the libraries to message window, but I see here that only the library name and "chosen version" is showed; not the effective version. Is there a way to also get the effective version showed for libraries set to "newest"?&lt;/p&gt;
&lt;p&gt;Sample script:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;proj&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;projects&lt;/span&gt;.&lt;span class="nv"&gt;primary&lt;/span&gt;
&lt;span class="nv"&gt;objects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;proj&lt;/span&gt;.&lt;span class="nv"&gt;get_children&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;recursive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;True&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;objects&lt;/span&gt;:
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt;.&lt;span class="nv"&gt;is_libman&lt;/span&gt;:   
        &lt;span class="nv"&gt;libs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;candidate&lt;/span&gt;.&lt;span class="nv"&gt;get_libraries&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;recursive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;True&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nv"&gt;item&lt;/span&gt; &lt;span class="nv"&gt;in&lt;/span&gt; &lt;span class="nv"&gt;libs&lt;/span&gt;:
            &lt;span class="nv"&gt;print&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;item&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Output looks something like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zitat:&lt;/strong&gt;&lt;br/&gt;
SysTime, * (System)&lt;br/&gt;
                #SysTimeCore&lt;br/&gt;
                #SysTimeRtc&lt;br/&gt;
                IoStandard, 3.5.1.0 (System)&lt;br/&gt;
                IBase, * (System)&lt;br/&gt;
                CmpErrors, * (System)&lt;br/&gt;
                #SysTypes&lt;br/&gt;
                #IecTypes&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As you see the version for some libraries are * whereas I can see that IoStandard is 3.5.1.0.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br/&gt;
Frank&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>