-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
allow apiDumpDirectory outside projectDir if inside rootProjectDir #239
Comments
FTR: @fzhinkin is taking a break, so please expect some delayed response times |
@qwwdfsad maybe you can give me pointers how to proceed? If the request as such is accepted, then I gladly add tests if needed. |
I agree that storing all dumps in a single directory somewhere under the rootProject's dir could be handy. The main issue I see here from the design point of view is how all these ABI files should be stored within a single directory. For projects using a flat modules hierarchy everything is simple:
In this case, we can continue using old file names and put everything into a single directory ( However, if a project has a deeper submodule hierarchy, things are getting complicated:
Here, it's no longer clear how generated API files should be stored within the |
I suggest we don't change the current behaviour and still dump in the subdirectory per default but allow that one can define a directory within the rootProject dir (see the mentioned PR). It is then up to the project maintainers how they store the files and what naming scheme they define. If you prefer to change the default behaviour, then I suggest we replace |
Once one had configured the plugin to use a single directory within a rootProject to store dumps generated for all subprojects there, it's up to BCV how to put all the files into that directory avoiding naming conflicts along the way. Maintainers cannot control the naming scheme as BCV does not provide an extension point for that. |
ah true, my bad, they cannot modify the naming schema but modifying the directory structure would be enough to workaround name clashes. Of course, if we want that one is able to put everything in one directory in all cases and still be able to workaround a name clash then I guess we should provide a way to modify the file name as well and use |
Currently, BCV could only be configured for the top level project, so there's no way to set some properties within subprojects. We can, of course, support a top-level property allowing to configure name mapping for each subproject, but I would rather have a robust naming scheme out of the box. |
I see, so how about we use
So we need to define another escaping for either prefix or suffix _ in project names. I suggest we escape the suffix as I doubt that there will be a lot of cases where project names have a
WDTY? |
@robstoll, maybe we can simply use |
Personally, I wouldn't mind but Windows users would be blocked I guess because the file system doesn't allow : in file names |
Perhaps, we should make a separator configurable and use This way, we'll keep things simple, and there will always be the workaround for projects with bizarre subproject names. |
good with me, I doubt that users will have a lot of conflicts if we choose _ as default. Shall I extend my (closed) PR with this functionality or are you going to create one? |
Yes, please, go ahead. Currently, I don't have a time budget for this particular issue, so your contributions are welcome. |
See #227 this would allow that one can specify a folder outside the project folder but still within the rootProject dir.
Say you have a multi-project setup with 10 sub-projects. Currently you can only define a folder within each sub-project but not a folder in the rootProject. This would be handy if you want to have all api files in one directory.
The text was updated successfully, but these errors were encountered: