line/centraldogma
Provide an easy way to import a directory into Central Dogma programmatically
Offen
#963 geöffnet am 19.06.2024
good first issuenew feature
Repository-Metriken
- Stars
- (664 Sterne)
- PR-Merge-Metriken
- (Durchschn. Merge 8T) (14 gemergte PRs in 30 T)
Beschreibung
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);
}