Skip to content
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

Provide an easy way to import a directory into Central Dogma programmatically #963

Open
trustin opened this issue Jun 19, 2024 · 0 comments

Comments

@trustin
Copy link
Member

trustin commented Jun 19, 2024

A user often needs to import the files in a filesytem into Central Dogma for testing. At the moment, a user need to create a project and a repository, build a commit and push it using the client API. Their life could be simplified a lot by providing the APIs like the following:

public interface CentralDogma {
    // Imports the files in the given directory into Central Dogma.
    // First component in the path becomes the project name.
    // Second component in the path becomes the repository name.
    // e.g. foo/bar/alice.json will create a new project 'foo' and
    //      a new repository 'bar' under the project 'foo', and
    //      add 'alice.json' to the root directory of the repository 'bar'.
    //
    // Placeholder files like '.keep' and '.gitkeep' could be ignored automatically.
    CompletableFuture<ImportResult> importDir(Path dir);
    CompletableFuture<ImportResult> importResourceDir(String dir);
    CompletableFuture<ImportResult> importResourceDir(String dir, ClassLoader classLoader);
}

public interface CentralDogmaRepository {
    // Imports the files in the given directory into the repository.
    // Placeholder files like '.keep' and '.gitkeep' could be ignored automatically.
    CompletableFuture<ImportResult> importDir(Path dir);
    CompletableFuture<ImportResult> importResourceDir(String dir);
    CompletableFuture<ImportResult> importResourceDir(String dir, ClassLoader classLoader);
}
@trustin trustin changed the title Provide a easy way to import a directory or files into Central Dogma programmatically Provide a easy way to import a directory into Central Dogma programmatically Jun 19, 2024
@trustin trustin changed the title Provide a easy way to import a directory into Central Dogma programmatically Provide an easy way to import a directory into Central Dogma programmatically Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant