Hi there, far as I know, you have to build your own index which would contain the classname:pathname pairs for all classes — I am afraid there's no standard tool which would do that for you automatically.
Alas, it is essentially impossible to obtain the class information directly from a groovy source, for even if you could use some smart regexp to find all the class declarations, you would still miss the generated closure classes etc. I'd say your best option would be to prepare the index thusly: - go through all your sources - compile each of them to a new empty -d folder - and then enumerate in that folder all the generated .class'es and add their names to the index as keys, with your source name as the appropriate value. Someone please correct me if I am overlooking an easier and better approach. All the best, OC > On 24 May 2020, at 7:35, Saravanan Palanichamy <chava...@gmail.com> wrote: > > Hello > > I have a requirement where I load all my groovy files into a remote > database. I then have to pull them down to compile and I am wondering what > is the best way to do this. Right now I do this > > * I pull down the names of all files (not the actual file) > * I then use a GroovyClassLoader to load each one of them (turning off > script compile). If I hit a classNotFound error, I then catch that and try > to parse a file with that name from my repository > > The problem I run into is my file name matching logic. I use the full class > name to locate a file in my remote repository with that name. The issue > with this is that my class names now have to match my file name. How do I > preserve the goodness of groovy's flexibility of defining class names that > dont match file names, and even define multiple classes in the same file > > regards > Saravanan