Acknowledged

Bug: Include barrel by path with a .barrel file present causes weird behaviour

Have jungle file that includes a barrel:

project.manifest = manifest.xml
FOO = "../barrels/FOO"
# similar results
FOO = ["../barrels/FOO/monkey.jungle"]
base.FOO.annotations = whatever
base.barrelpath = $(base.barrelpath):$(FOO)

This works nice and fine.

Now, if for whatever reason you have build a barrel in the barrel can be found IN the path, eg ../barrels/FOO/bin/FOO.barrel and you later add a function to the barrel without making the barrel file) and want to use that function the project that has the above mentioned barrel include it breaks. You'll get messages like Undefined symbol "foo" detected. It appears the barrel is than looked up via the barrel file and not via the path, which is not what you expect given the monkey.jungle file you have. Especially if you specify a monkey.jungle file.

Parents
  • I believe I have discovered the problem. This is working as you would expect on windows, but when I try it on Ubuntu it does not. I think it is failing to rebuild the barrel at compile time on only Linux so any changes to the barrel are not being updated when you attempt to run the app or its tests. Deleting the bin folder bin folder would then force it to build the barrel and find any new changes. 

    At any rate there is definitely enough here to reproduce what you are seeing so I'll pass this along to the dev team. 

Comment
  • I believe I have discovered the problem. This is working as you would expect on windows, but when I try it on Ubuntu it does not. I think it is failing to rebuild the barrel at compile time on only Linux so any changes to the barrel are not being updated when you attempt to run the app or its tests. Deleting the bin folder bin folder would then force it to build the barrel and find any new changes. 

    At any rate there is definitely enough here to reproduce what you are seeing so I'll pass this along to the dev team. 

Children
No Data