I am working with NFE 2.2.3 against Natural 4.1x for the mainframe.
I am trying to follow the “Versioning System Isolated Libraries” strategy described in the Natural for Eclipse Architecture help document. The description isn’t detailed enough for me to get it working.
I believe I can create a file that looks like the following example from the help document, call it .nat-team, and drop it into my Natural project folder.
1. <team active="true">
2. <distribution replacement="L_${member}_${library}">
3. <library token="TE">
4. <include pattern="**/test/**"/>
5. </library>
6. <library token="FI">
7. <include pattern="**/fi*/**"/>
8. <exclude pattern="**/fi*/ext*"/>
9. </library>
10. <library token="CO">
11. <include pattern = "**/co*/**"/>
12. </library>
13. <library token="ET"/>
14. </distribution>
15. <members>
16. <member name="anne.smith" token="ASM"/>
17. <member name="john.doe" token="JDO"/>
18. </members>
19. </team>
Doing that (adapted with my own values) produces the following error:
The “Details” button is grayed-out and a look at the error log says that no stack trace is available.
What user file? What am I missing?
This morning I discovered that the Problems tab in Eclipse contains nicely detailed information about issues with the .nat-team file when they exist. It’s much easier to fix problems with feedback.
The potentially common mistakes I made during this experiment were:
- I tried to identify members by their Natural Security credential, rather than by how they logged on to the development machine.
→ Error “User [you] is not specified in the file .nat-team”
I tried mapping more than one member name to the same token.
→ Error “Token [token] is already assigned to team member [team member]”
I tried to simplify the file by hard-coding the library I needed and commenting out members entirely.
→ Error “Missing mandatory element members”
The following works for my test use case, where code lives in a directory called “foo,” the user mgodfrey should work against the library DPAP1, and the user bgchpmn should work against the library DPAP2.
<?xml version="1.0" encoding="UTF-8"?>
<team active="true">
<distribution replacement="${library}${member}">
<library token="DPAP">
<include pattern="**/foo/**"/>
</library>
<library token="DPAPP"/>
</distribution>
<members>
<member name="mgodfrey" token="1"/>
<member name="bgchpmn" token="2"/>
</members>
</team>
At the risk of perpetuating a monologue…what would this file look like if I wanted to try the “Versioning System Shared Libraries” approach?
Trying to map two members to the same token…
[snip]
<member name="mgodfrey" token="1"/>
<member name="bgchpmn" token="1"/>
[/snip]
…results in the second error listed above.
Trying to map two people in one member element…
[snip]
<member name="mgodfrey, bgchpmn" token="1"/>
[/snip]
…results in the first error listed above.