1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
<?xml version="1.0" encoding="UTF-8"?>
<merge:options xmlns:merge="http://www.eclipse.org/org/eclipse/emf/codegen/jmerge/Options">
<merge:dictionaryPattern
name="generatedMember"
select="Member/getComment"
match="\s*@\s*(gen)erated\s*\n"/>
<merge:dictionaryPattern
name="generatedUnmodifiableMembers"
select="Member/getComment"
match="\s*@\s*(unmod)ifiable\s*\n"/>
<!-- This example shows how to set a merge rule to pull Source comments -->
<!-- over target members that doesn't have the user-doc section -->
<merge:dictionaryPattern
name="targetCommentsWithoutUserSection"
select="Member/getComment"
match="/\*\*(?:(?!(?:\s*<!--\s*begin-user-doc.*?end-user-doc\s*-->\s*)\n).)*(?:\s*@\s*generated\s*\n)"/>
<merge:sweep markup="^gen$" select="Member" action="remove"/>
<!-- if target is generated, transfer -->
<!-- change to sourceMarkup if the source is the standard -->
<merge:pull
targetMarkup="^gen$"
sourceGet="Method/getBody"
targetPut="Method/setBody"/>
<!-- field manipulation -->
<merge:pull
targetMarkup="^gen$"
sourceGet="Field/getType"
targetPut="Field/setType"/>
<merge:pull
targetMarkup="^gen$"
sourceGet="Field/getInitializer"
targetPut="Field/setInitializer"/>
<merge:pull
targetMarkup="^gen$"
sourceGet="Member/getFlags"
targetPut="Member/setFlags"/>
<!-- if target is generated, transfer -->
<!-- change to sourceMarkup if the source is the standard -->
<merge:pull
targetMarkup="^gen$"
sourceGet="Method/getBody"
sourceTransfer="(\s*//\s*begin-user-code.*?//\s*end-user-code\s*)\n"
targetPut="Method/setBody"/>
<merge:pull
targetMarkup="^gen$"
sourceGet="Field/getInitializer"
targetPut="Field/setInitializer"/>
<merge:pull
sourceGet="Type/getSuperclass"
targetMarkup="^gen$"
targetPut="Type/setSuperclass"/>
<!-- copy comments except between the begin-user-doc
and end-user-doc tags -->
<merge:pull
sourceMarkup="^gen$"
targetMarkup="^gen$"
sourceTransfer="(\s*<!--\s*begin-user-doc.*?end-user-doc\s*-->\s*)\n"
sourceGet="Member/getComment"
targetPut="Member/setComment"/>
<merge:pull
sourceMarkup="^gen$"
targetMarkup="targetCommentsWithoutUserSection"
sourceGet="Member/getComment"
targetPut="Member/setComment"/>
<!-- force transfer of all unmodifiable elements -->
<merge:pull
sourceMarkup="^unmod$"
sourceGet="Member/getFlags"
targetPut="Member/setFlags"/>
<merge:pull
sourceMarkup="^unmod$"
sourceGet="Method/getBody"
targetPut="Method/setBody"/>
</merge:options>
|