{"id":461,"date":"2013-07-31T03:43:43","date_gmt":"2013-07-31T01:43:43","guid":{"rendered":"http:\/\/mdatools.net\/blog\/?page_id=461"},"modified":"2015-02-15T23:27:58","modified_gmt":"2015-02-15T21:27:58","slug":"distribution-2-19","status":"publish","type":"page","link":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/","title":{"rendered":"ModelAnt 2.19"},"content":{"rendered":"<ul>\n<li>Fixed copy.in.metamodel not to use an obsolete task. Changed CopyInMetamodel to allow post-processing of the pairs of corresponding elements.<\/li>\n<li>Fixed printing of MOF Structure values. Fixed AntLib reverse engineering.<\/li>\n<li>Added in base.build.xml a procedure to set up a new metamodel in the current product and generate the wrapper classes in a new component. The procedure uses modelant-pro to generate the wrapper classes.<\/li>\n<li>Added <strong>assertions<\/strong> (ANT testing) macros in <strong>assert.xml. <\/strong><\/li>\n<li>Added tasks for LISTs creation, this way allowing Ant to manage (create, add, remove) lists of objects<\/li>\n<li>Internally reorganized the tasks as java classes in CORE package.<\/li>\n<li>Moved MethodCall helper class from <strong>core<\/strong> to <strong>util<\/strong> package.<\/li>\n<li>Added a <strong>static method call<\/strong> task, this way completing the Java access tasks.<\/li>\n<li>Added <strong>&lt;method&gt;<\/strong> and &lt;<strong>method.static&gt;<\/strong> method call tasks, this way allowing to manage any Java object. Added &lt;method&gt; condition.<\/li>\n<li>Extended to provide .dir property with the directory where the antlib file was located in or the .jar file that contained the antlib was located in.<\/li>\n<li>Introduced <strong>&lt;evaluate&gt;<\/strong> task that allows evaluating any ANT conditions multiple times in the context of the result of execution of the tasks provided. Suitable for evaluating condition in loops. NOTE that ANT does not allow such a dynamic and repeated evaluation of its conditions.<\/li>\n<li>Removed nested tasks from the conditions &#8211; use &lt;evaluate&gt; condition instead.<\/li>\n<li>Moved the <strong>&lt;select&gt;<\/strong> task and <strong>&lt;for.each&gt;<\/strong> and <strong>&lt;exists&gt;<\/strong> conditions to <strong>util<\/strong> package,<\/li>\n<li>Reorganized all scripts to use a nested condition (like &lt;evaluate&gt;) and iterate on the results of an explicit selector.<\/li>\n<li>Moved the attributes of\u00a0<strong>&lt;select&gt;<\/strong> task and <strong>&lt;for.each&gt;<\/strong> and <strong>&lt;exists&gt;<\/strong> as attributes of selectors of different types. Introduced a Selector wrapping the standard resource collections, this way integrating ModelAnt with the ANT standard &lt;fileset&gt;, resources and other ResourceCollection type implementations.<\/li>\n<li>Changed the syntax of &lt;for&gt; and &lt;for.all&gt; macros now receive a new nested &lt;selector&gt; element to describe the collection to iterate on.<\/li>\n<li>Removed the extent, metamodel, path, property attributes, added &#8220;iterator&#8221; attribute to for.all and iterator.<\/li>\n<li>Renamed &lt;assign&gt; task to &lt;set&gt;<\/li>\n<li>Renamed &#8220;valueName&#8221; attributes of all tasks to &#8220;name&#8221;.<\/li>\n<li>Included explicit run of all test cases as part of the build. Many minor changes and fixes. Improved the documentation both as a content and as a generation script.<\/li>\n<\/ul>\n<p>NOTE: &lt;iterate&gt; task cannot be changed to use a nesred selector, becasue of ANT specifics. Changed the &#8220;name&#8221; attribute to &#8220;iterator&#8221; to conform with select, exists, for,&#8230;<\/p>\n<p>Downloads:<\/p>\n<ul>\n<li><a  data-e-Disable-Page-Transition=\"true\" class=\"dlm-download-link\" title=\"\" href=\"https:\/\/mdatools.net\/blog\/download\/1375\/?tmstv=1791768863\" rel=\"nofollow\" id=\"download-link-1375\" data-redirect=\"false\" >\n\tMdatools.modelant.2.19.bin<\/a>\n<\/li>\n<li><a  data-e-Disable-Page-Transition=\"true\" class=\"dlm-download-link\" title=\"\" href=\"https:\/\/mdatools.net\/blog\/download\/1377\/?tmstv=1791768863\" rel=\"nofollow\" id=\"download-link-1377\" data-redirect=\"false\" >\n\tMdatools.modelant.2.19.src<\/a>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Fixed copy.in.metamodel not to use an obsolete task. Changed CopyInMetamodel to allow post-processing of the pairs of corresponding elements. Fixed printing of MOF Structure values. Fixed AntLib reverse engineering. Added &#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":1275,"menu_order":95,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-461","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ModelAnt 2.19|MDA Tools<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ModelAnt 2.19|MDA Tools\" \/>\n<meta property=\"og:description\" content=\"Fixed copy.in.metamodel not to use an obsolete task. Changed CopyInMetamodel to allow post-processing of the pairs of corresponding elements. Fixed printing of MOF Structure values. Fixed AntLib reverse engineering. Added ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/\" \/>\n<meta property=\"og:site_name\" content=\"MDA Tools\" \/>\n<meta property=\"article:modified_time\" content=\"2015-02-15T21:27:58+00:00\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/downloads\\\/distribution-2-19\\\/\",\"url\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/downloads\\\/distribution-2-19\\\/\",\"name\":\"ModelAnt 2.19|MDA Tools\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/#website\"},\"datePublished\":\"2013-07-31T01:43:43+00:00\",\"dateModified\":\"2015-02-15T21:27:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/downloads\\\/distribution-2-19\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mdatools.net\\\/blog\\\/downloads\\\/distribution-2-19\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/downloads\\\/distribution-2-19\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Downloads\",\"item\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/downloads\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ModelAnt 2.19\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/\",\"name\":\"MDA Tools\",\"description\":\"Tools and ideas for model-driven software development\",\"publisher\":{\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/#\\\/schema\\\/person\\\/6eeb8dce737e32b72e77b5556e2be121\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/#\\\/schema\\\/person\\\/6eeb8dce737e32b72e77b5556e2be121\",\"name\":\"popovr\",\"logo\":{\"@id\":\"https:\\\/\\\/mdatools.net\\\/blog\\\/#\\\/schema\\\/person\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ModelAnt 2.19|MDA Tools","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/","og_locale":"en_US","og_type":"article","og_title":"ModelAnt 2.19|MDA Tools","og_description":"Fixed copy.in.metamodel not to use an obsolete task. Changed CopyInMetamodel to allow post-processing of the pairs of corresponding elements. Fixed printing of MOF Structure values. Fixed AntLib reverse engineering. Added ...","og_url":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/","og_site_name":"MDA Tools","article_modified_time":"2015-02-15T21:27:58+00:00","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/","url":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/","name":"ModelAnt 2.19|MDA Tools","isPartOf":{"@id":"https:\/\/mdatools.net\/blog\/#website"},"datePublished":"2013-07-31T01:43:43+00:00","dateModified":"2015-02-15T21:27:58+00:00","breadcrumb":{"@id":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mdatools.net\/blog\/downloads\/distribution-2-19\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mdatools.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Downloads","item":"https:\/\/mdatools.net\/blog\/downloads\/"},{"@type":"ListItem","position":3,"name":"ModelAnt 2.19"}]},{"@type":"WebSite","@id":"https:\/\/mdatools.net\/blog\/#website","url":"https:\/\/mdatools.net\/blog\/","name":"MDA Tools","description":"Tools and ideas for model-driven software development","publisher":{"@id":"https:\/\/mdatools.net\/blog\/#\/schema\/person\/6eeb8dce737e32b72e77b5556e2be121"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mdatools.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/mdatools.net\/blog\/#\/schema\/person\/6eeb8dce737e32b72e77b5556e2be121","name":"popovr","logo":{"@id":"https:\/\/mdatools.net\/blog\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/pages\/461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":5,"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/pages\/461\/revisions"}],"predecessor-version":[{"id":1152,"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/pages\/461\/revisions\/1152"}],"up":[{"embeddable":true,"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/pages\/1275"}],"wp:attachment":[{"href":"https:\/\/mdatools.net\/blog\/wp-json\/wp\/v2\/media?parent=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}