www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - simple question about using dub to import CyberShadow's aeutils

reply "Laeeth Isharc" <laeethnospam nospamlaeeth.com> writes:
Hi.

I would like to use the XML parser from CyberShadow's ae.utils - 
I am building a tool to index RSS feeds in elasticsearch 
(something like rssriver but with more complete functionality).

I am using dub to build the code.

So far I just have an empty boilerplate app.d with the line 
import ae.utils;

Using the suggestion from code.dlang.org:
{
	...
	"dependencies": {
		"ae": ">=1.0.1"
	}
}

It cannot find ae/utils.d If I try replacing the >= with > or 
just ~master it still does not build.  Error text below this 
message.  I suppose this might be because dub is designed to 
import a single package, and not just part of the hierarchy.

But if I change the import to just plain import ae, I still have 
problems.

What am I doing wrong?  I could just copy the file over, but I 
would like to try to do it properly.

Do let me know if you do not see this as the right forum to ask 
about dub.

Thanks.


Laeeth.


Selected package openssl 1.0.0+1.0.0e does not match the 
dependency specification in package ae (>=1.1.3+1.0.1g 
(optional)). Need to "dub upgrade"?
Target vibe-d 0.7.21 is up to date. Use --force to rebuild.
Building rsselastic ~master configuration "application", build 
type debug.
Compiling using dmd...
source/app.d(1): Error: module utils is in file 'ae/utils.d' 
which cannot be read
import path[0] = source/
import path[1] = ../../../root/.dub/packages/ae-1.0.1
import path[2] = ../../../root/.dub/packages/openssl-1.0.0_1.0.0e
import path[3] = ../../../root/.dub/packages/vibe-d-0.7.21/source/
import path[4] = ../../../root/.dub/packages/libevent-2.0.1_2.0.16
import path[5] = /usr/include/dmd/phobos
import path[6] = /usr/include/dmd/druntime/import
FAIL 
.dub/build/application-debug-linux.posix-x86_64-dmd_2067-6DD7C73322D93
BC7BBACEAF4B4E0E3D/ 
rsselastic executable
Error executing command run: dmd failed with exit code 1.
===
Selected package openssl 1.0.0+1.0.0e does not match the 
dependency specification in package ae (>=1.1.3+1.0.1g 
(optional)). Need to "dub upgrade"?
Target vibe-d 0.7.21 is up to date. Use --force to rebuild.
Building rsselastic ~master configuration "application", build 
type debug.
Compiling using dmd...
source/app.d(1): Error: module ae is in file 'ae.d' which cannot 
be read
import path[0] = source/
import path[1] = ../../../root/.dub/packages/ae-1.0.1
import path[2] = ../../../root/.dub/packages/openssl-1.0.0_1.0.0e
import path[3] = ../../../root/.dub/packages/vibe-d-0.7.21/source/
import path[4] = ../../../root/.dub/packages/libevent-2.0.1_2.0.16
import path[5] = /usr/include/dmd/phobos
import path[6] = /usr/include/dmd/druntime/import
FAIL 
.dub/build/application-debug-linux.posix-x86_64-dmd_2067-6DD7C73322D93
BC7BBACEAF4B4E0E3D/ 
rsselastic executable
Error executing command run: dmd failed with exit code 1.
Jan 03 2015
parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Saturday, 3 January 2015 at 11:58:48 UTC, Laeeth Isharc wrote:
 import ae.utils;
ae.utils is a package, perhaps you meant to import ae.utils.xml?
Jan 03 2015
parent "Laeeth Isharc" <laeethnospam spammenot_laeeth.com> writes:
On Saturday, 3 January 2015 at 12:08:16 UTC, Vladimir Panteleev 
wrote:
 On Saturday, 3 January 2015 at 11:58:48 UTC, Laeeth Isharc 
 wrote:
 import ae.utils;
ae.utils is a package, perhaps you meant to import ae.utils.xml?
aha. schoolboy error on my part. thank you for your help, and especially for writing such a useful library and sharing it with the world. Laeeth.
Jan 03 2015